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

Автор Egor, история, 19 месяцев назад, По-английски,

I would really appreciate any new ideas of what new features to add

I would also appreciate donations: Yandex.Money, PayPal

4.1.5 (beta)

  • Added parsing for AtCoder and CSAcademy
  • Fixed parsing for HackerRank
  • Fixed enums in switches

4.1.3

  • Various fixes for code generation

4.1.2

  • Cojac version update. If you use Cojac for your own configurations update agent parameters as follows:
-Cints -Clongs -Ccasts -Cmath
  • Cleanup
  • Switched to Java 1.8
  • Timus parser fix
  • Kattis parser fix
  • Include all Kattis sites

4.1.1

HackerEarth support


4.0.11

Fixed issue with using method as functional interface


4.0.10

Fix for USACO parsing. Currently on beta channel

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

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

What was the key to speedup, if it's not a secret?

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

    Adding instead of removing

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

      Thanks.

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

        Long answer is previously I added everything that was imported from task class and everything in the same package, then everything that is imported from those classes and so on, and then removing unused code which is slow and cyclic references may remain. Now I only add what is actually referenced. Among other things now you can reference classes by fqn instead of importing them. Moreover naming conflict would be handled by constructing other names for classes

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

      -_-

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

Thanks you very much, your plugin is very helpful. :D

»
19 месяцев назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Auto comment: topic has been updated by Egor (previous revision, new revision, compare).

»
19 месяцев назад, # |
  Проголосовать: нравится -6 Проголосовать: не нравится

Hi Egor, I got this error after update CHelper and run my task. Can you give me an advise?

NoSuchMethodError: com.intellij.psi.PsiType.getTypeByName(Ljava/lang/String;Lcom/intellij/openapi/project/Project;Lcom/intellij/psi/search/GlobalSearchScope;)Lcom/intellij/psi/PsiClassType;: com.intellij.psi.PsiType.getTypeByName(Ljava/lang/String;Lcom/intellij/openapi/project/Project;Lcom/intellij/psi/search/GlobalSearchScope;)Lcom/intellij/psi/PsiClassType;

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

e-olimp support is broken?

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

    Yes, they redesigned. I am not sure I am inclined to fix it myself, but if anyone willing I gladly accept PR

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

      and Kattis also? :(

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

        Kattis is working for me

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

          Strange, it's not working for me. I just get the "Nothing to show" message in the problem list. I already hit the "Refresh" button a few times and waited for a few minutes. The other judges work OK. Any hints?

          I have IDEA 14, CHelper 4.0.1, running in Fedora 20 with Oracle JDK, in case it helps.

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

            Probably fix to suppress certificate warnings is not working on Fedora. You can just use Chrome plugin instead

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

Auto comment: topic has been updated by Egor (previous revision, new revision, compare).

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

Hello,

I recently tried to run TopCoder on C-Helper. However, when I try to run in Intellij Idea, it gives me an null pointer exception, and I can't compile it on Topcoder Arena. Is there anything I have to install other than CHelper and Arena? There error I've got in Idea is:

null java.lang.NullPointerException at net.egork.chelper.codegeneration.SolutionGenerator.shouldAddElement(SolutionGenerator.java:338) at net.egork.chelper.codegeneration.SolutionGenerator.processElement(SolutionGenerator.java:314) at net.egork.chelper.codegeneration.SolutionGenerator.createInlinedSource(SolutionGenerator.java:63) at net.egork.chelper.codegeneration.SolutionGenerator$4.run(SolutionGenerator.java:502) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:931) at net.egork.chelper.codegeneration.SolutionGenerator.createSourceFile(SolutionGenerator.java:496) at net.egork.chelper.configurations.TopCoderConfiguration.getState(TopCoderConfiguration.java:63) at com.intellij.execution.runners.ExecutionEnvironment.getState(ExecutionEnvironment.java:201) at com.intellij.execution.runners.BaseProgramRunner.execute(BaseProgramRunner.java:58) at com.intellij.execution.runners.GenericProgramRunner.execute(GenericProgramRunner.java:31) at com.intellij.execution.runners.BaseProgramRunner.execute(BaseProgramRunner.java:53) at com.intellij.execution.runners.GenericProgramRunner.execute(GenericProgramRunner.java:31) at com.intellij.execution.ProgramRunnerUtil.executeConfiguration(ProgramRunnerUtil.java:94) at com.intellij.execution.impl.ExecutionManagerImpl.start(ExecutionManagerImpl.java:396) at com.intellij.execution.impl.ExecutionManagerImpl.access$400(ExecutionManagerImpl.java:61) at com.intellij.execution.impl.ExecutionManagerImpl$5.run(ExecutionManagerImpl.java:384) at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238) at com.intellij.util.Alarm$Request$1.run(Alarm.java:351) at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:332) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:702) at java.awt.EventQueue$3.run(EventQueue.java:696) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.awt.EventQueue.dispatchEvent(EventQueue.java:719) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:734) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:569) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

I'm really sorry for writing here. It seems like not a right location to post. Any help is appreciated. Thank you.

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

    Can you zip your project with task in question and send to egor at egork dot net?

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

Auto comment: topic has been updated by Egor (previous revision, new revision, compare).

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

Auto comment: topic has been updated by Egor (previous revision, new revision, compare).

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

Can you change archive directory's structure to something simple like this:

Topcoder

  • SRM 660
  • SRM 661
  • ...

Codeforce

  • Round 300
  • Round 301
  • ...
  • »
    »
    18 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Probably I'll add customizeable archive structure in some future version

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

На CF, тимусе и др. сайтах обычно размер стека равен 64 МБ. Но JAVA прожорлива, и иногда этого не хватает.
CHelper автоматически генерирует для задач типа "single test" такой код.

    public class Main {
        public static void main(String[] args) {
            InputStream inputStream = System.in;
            OutputStream outputStream = System.out;
            InputReader in = new InputReader(inputStream);
            OutputWriter out = new OutputWriter(outputStream);
            TaskA solver = new TaskA();
            solver.solve(1, in, out);
            out.close();
        }
        static class TaskA {
            // решение задачи
        }
    }

Где и как можно настроить этот шаблон, чтобы код в функции main автоматически "обёртывался" такой штучкой:

    public class Main {

        public static void main(String[] args) {
            new Thread(null, new Runnable() {
                @Override
                public void run() {
                    InputStream inputStream = System.in;
                    OutputStream outputStream = System.out;
                    InputReader in = new InputReader(inputStream);
                    OutputWriter out = new OutputWriter(outputStream);
                    TaskA solver = new TaskA();
                    solver.solve(1, in, out);
                    out.close();
                }
            }, "MyLittlePony", 256 * 1024 * 1024).start();
        }

        static class TaskA {
        }
    }
  • »
    »
    18 месяцев назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    Пока никак. С удовольствием приму патч добавляющий такую настройку

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

Auto comment: topic has been updated by Egor (previous revision, new revision, compare).

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

Auto comment: topic has been updated by Egor (previous revision, new revision, compare).

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

Auto comment: topic has been updated by Egor (previous revision, new revision, compare).

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

Auto comment: topic has been updated by Egor (previous revision, new revision, compare).

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

Auto comment: topic has been updated by Egor (previous revision, new revision, compare).

»
11 месяцев назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Auto comment: topic has been updated by Egor (previous revision, new revision, compare).

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

Auto comment: topic has been updated by Egor (previous revision, new revision, compare).

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

Совместима ли последняя версия CHelper с IDEA 2016.1? Можно ли обновиться или пока лучше не стоит?

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

    Кубок мы написали без проблем. В остальном ничего не могу сказать

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

      ОК, спасибо! Попробую тоже испытать удачу :)

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

Auto comment: topic has been updated by Egor (previous revision, new revision, compare).

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

Where can I download v4 ? I can only find v3 here ?

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

    You can install it through Jetbrains plugin repository

    • »
      »
      »
      3 месяца назад, # ^ |
      Rev. 2   Проголосовать: нравится +10 Проголосовать: не нравится

      Can you please update CHelper to 4.1.5 on GitHub? I am using a modified version of CHelper (changed the codegen template slightly), that's why I need the source code for update.

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

Two issues(version 4.1.5): (1) Codechef not listed in Parse Contest dialog. (2) Problem parsing broken for codechef. Getting "Connection problems or format change".

I was able to fix (1) by adding codechef parser to Parser.PARSERS. Please help for (2). Trying codechef november long challenge 2016.

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

Hi, Egor, When the Test Type is 'Number of tests known', Can I use separate threads to run every single test? Thanks for the amazing plugin.

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

codechef is not showing up in parse contest

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

    Codechef can be parsed through chrome extension

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

      but some problems are still unable to parse in competitions, and problems in domains can't be parsed through plugin

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

        Because codechef has no fixed format for problem statements. So I use set of heurystics, which not laways work