Блог пользователя Egor

Автор Egor, 12 лет назад, По-русски

Вышла новая версия. Вышла она ради баг фиксов для TopCoder'а (проблемы с SRM 530 Div-2 Medium, SRM 531 Div-2 Easy и SRM 534 Div-1 Medium), так же: UI: switch task to current editor and editor to current task automatically Fixed width font for tests

Скачать можно здесь Изменений в формате конфигурации не было

UPD: версия 2.41, поправлена генерация для CodeChef

  • Проголосовать: нравится
  • +2
  • Проголосовать: не нравится

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

There still is something wrong with String[] comparison when array is empty. In TopCoder Open Round 1A 250 Test #1 — "Expected output: Execution result: [] Verdict: WA " Thanks again for the plugin.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I tried to use the plugin for a codeforces contest. But when I run the code it shows the following things: Exception in thread "main" java.lang.ClassNotFoundException: net.egork.chelper.tester.Tester at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    Had you added plug-in file to classpath as described in manual?

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Thank you for reply. I thought I did. I used File>Project Structure>Modules>Dependencies>add>Library>Java and I chose chelper2.4.jar

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Hi Egor..Could you tell if the Chelper can be used in GCJ as well...If its legal then please tell me how to read and write to files through the plugin ...

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    I do not know of any rule that forbids using it

    You just need first set up read/write from file (i. e. choosing custom in Inpu and Output) and thenm after testing on samples and downloading input, to run created class' main method wherever it lies (src by default)

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится -11 Проголосовать: не нравится

      Where do I have to keep the input file..In the src??

      And when I run the Main.java file it says Error:Could find or load main class

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +8 Проголосовать: не нравится

        Input/output files should be in project root

        That is very strang you have problems with Main.java. There should be Main class inside with main method. Could you please make a screenshot?

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +2 Проголосовать: не нравится

          Thanks Egor..I worked it out...Actually I had to compile it again using the cmd prompt to generate the Main.class file...Then when I run it its working....But do I have to do it everytime.I mean,do you people do the same thing ???

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +8 Проголосовать: не нравится

            No need to do this for sure. I defenately do not do this, but I have separate module for Main.java

            • »
              »
              »
              »
              »
              »
              »
              12 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится

              Maybe I have to do this because the Main.class file genearted when I run the program from IntelliJ is in the output directory and my output directory is (E:/programs/Contest/out) even when I specify the output directory as "src" in the properties file ...

              • »
                »
                »
                »
                »
                »
                »
                »
                12 лет назад, # ^ |
                  Проголосовать: нравится +8 Проголосовать: не нравится

                That's ok — Main.class is class file, not java file, and all class files are generated in out

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  12 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится

                  Please look at my screen shots before and after creating the class files.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  12 лет назад, # ^ |
                    Проголосовать: нравится +8 Проголосовать: не нравится

                  You better run Main.java from idea by, for example, right clicking on Main.java and selecting "Run 'Main.main()'"

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  12 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится

                  Ok.thanks ..Thats certainly a better way

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      Done ..thanks :)

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

The parser was not able to get the test cases for problem C in Round #123.. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1

at net.egork.chelper.util.EncodingUtilities.decodeTest(EncodingUtilities.java:49)
at net.egork.chelper.tester.Tester.decode(Tester.java:234)
at net.egork.chelper.tester.Tester.test(Tester.java:36)
at net.egork.chelper.tester.Tester.main(Tester.java:21)
»
12 лет назад, # |
  Проголосовать: нравится -10 Проголосовать: не нравится

Seems like Codechef Cook Off's url has changed because the plugin did not parse problems last cook off .. What's to be done ??

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Is it possible to add a new feature like TL for a new task? It will be nice to "kill" a process if its working too long.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    You can always do it by clicking stop button (red square)

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      today had this problem... while solving problem A, IDEA became unresponsible... so could not even click that red button.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        I'm not sure Timer would response then (as it is in separate thread)

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Maybe you know any methods for "killing" such tasks except rebooting?

          Thx.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

А будет ли добавлена возможность сохранения в архиве не только исходников, но и тестов к ней?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    А для какой цели? На текущий момент тесты сохраняются в виде юнит-тестов (если соответствующая опция включена)

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      У меня иногда возникает ситуация, что я нажимаю "archive" случайно, промахнувшись мышкой. Поэтому если бы операция была легко обратима, было бы круто :)

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится

        Вот ты и можешь реализовать undo. Хоть сейчас могу тебе дать права контрибьютора ;)

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

При выборе опции "Test type" = "MULTI_NUMBER" в коде нельзя получить кол-во самих тестов. Можно ли это как-то исправить (скажем передавать в solve() еще и кол-во тестов) ?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Я подумаю. А зачем это может быть нужно?

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

      Дело в том, что частенько начал встречаться с задачами (на УВА, кое-какие с Тимуса), где скажем ответы между тестами надо разделять пустой строкой, но последний тест не должен после себя содержать пустую строку/перевод строки.

      Еще вопрос маленький: если создать новую задачу, написать out.println("HELLO WORLD"); в коде, то при запуске строка не будет выведена. У меня вместо этого только такое:

      Test results:
      All test passed in 0.000 s.
      
      Process finished with exit code 0
      

      так задумано? то есть без тестов не должно ничего выводить?

      И последнее предложение-вопрос: может при выводе результатов тестирование сами тесты не выводить (если по тесту получен вердикт ОК), а только ответы на тест ? Неудобство вывода содержимого теста сказывается, когда тестов скажем штук 10-15 набирается. То есть как-то так:

      Test #0. Verdict: OK in 0.000 s.
      Test #1. Verdict: OK in 0.000 s.
      Test #2. Verdict: WA (Mismatch at index 0) in 0.000 s.
      ------------------------------------------------------------------
      Input:
      1
      
      Expected output:
      2
      
      Execution result:
      1
      ------------------------------------------------------------------
      Test #3. Verdict: OK in 0.000 s.
      
      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        По первому пункту — можно выводить пустую строку перед каждым тестом, кроме первого

        По второму пункту — да, конечно, непонятно же что программе на вход подавать

        По третьему пункту — можно после запуска посмотреть, какие тесты не проходит и отфильтровать остальные. Мне частенько хочется посмотреть на все тесты при первом запуске, так что не выводить их — плохая идея

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Однако да, вы правы — так удобней (по поводу 3го пункта).

          А сабмит задачи прямо из CHelper как-то противоречит его предназначению? (я только об использовании на КФ, про остальные серверы не знаю) Так: "Parse Task" => Codeforces => ... solving ... => "Submit" (from CHelper) => "Are you sure?" => "OK""NO" => (Verdict)

          И каким образом можно вообще по-участвовать в разработке CHelperа, другую ветку создать (как на гитхабе) или проект-то не опенсорсный ?

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +1 Проголосовать: не нравится

            Проект опенсорсный. Можно слать патчи.

            По поводу сабмитов изнутри — не хочется касаться паролей

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

The parser is not working for me in Codechef July Long contest..My problems are not being created.. Please fix this problem..

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    This is known problem and will be fixed as soon as I willhave time

»
12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Version 2.41 with CodeChef fix released

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

how to use CHelper in ubuntu?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    Install IntelliJ IDEA and follow instructions above. I am using it under Ubuntu — works fine.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

After archiving a task, the month number is incorrect. Calendar.getInstance().get(Calendar.MONTH) returns month number base on 0.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

А реально ли будет увидеть в CHelperе возможность генерировать какой-то большой инпут/аутпут?

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    <taskname>Checker#generateTests?

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Такс. Посмотрим. Спасибо. А аутпут там же генерировать или ?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Да, там возврат — коллекция Test'ов. Аутпут можно пустым оставить, а потом скопировать, если тестируется не правильность

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

SRM 187 — Div 1 L1

While running my code — I got the following for test#2

Test #2: Input: if then{}; elseif schmelshif()/ Expected output: ;schmelshif Execution result: schmelshif Verdict: WA in 0.001 s.

But expected output was — schmelshif

It's a bug, right?

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Это фича, что в списке плагинов он представляется как 4.21?

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Багрепорт: linux x86 + oracle jdk = не видит топкодеровских задач (под виндой ровно тот же проект с ровно тем же конфигом работает). Workaround'а я так и не нашёл (сначала думал, что дело в лимите на inotify, но его изменение не помогло). Не знаю, есть ли проблемы с прошлыми версиями, связку linux + chelper + topcoder я раньше не пробовал.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    А не мог бы ты сам подебагать? Срабатывает ли эвент на создание файла, если срабатывает — почему не создается из него топкодер таска и т.д.

»
12 лет назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

Может стоит обернуть Main thread'ом для увеличения размера стека (для чего-то же он задается в настройках)?

Возможный измененный CodeGenerationUtilities.java: http://ideone.com/x3LZn

UPD: Упс, намешал tab'ов с пробелами, но зато видно, где правил)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Я от этого отказался так как на OpenCup/sn*s это приводило к ва вместо рте

»
10 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Hello, first thanks for the plugin. Why is the IDE console showing this message when I run a task:

"Exception in thread "main" java.lang.ClassNotFoundException: net.egork.chelper.tester.NewTester" ?

What have I to do?. Thanks again.

  • »
    »
    9 лет назад, # ^ |
    Rev. 4   Проголосовать: нравится 0 Проголосовать: не нравится

    It's working for me i just changed the Chelper dependency scope from "Provided" to "Compile"

    • »
      »
      »
      7 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Could you mention how you did that?

      • »
        »
        »
        »
        7 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится

        (For CHelper Beta 4.1.6, IU 2016.3.2, Win2012) I added both .jar's from .IntelliJIdea2016.3/config/plugins/chelper/lib to the project libs and the class was finally found.