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

Автор ivanromanov, 15 лет назад, По-русски
На топкодере я всегда пользуюсь плагином TopCoderParser для Idea от Якова Сироткина. Он не работает в новой идее, например в бесплатной IntelliJ IDEA 9 Community Edition, из-за изменений в API для плагинов. Проблема решается заменой в исходном коде 128-й строки.
Было:
PsiElementFactory factory = element.getManager().getElementFactory();
Стало:
PsiFileFactory factory = PsiFileFactory.getInstance(element.getProject());

Выкладываю скомпилированный штепсель: topcoderparser.jar, положите его в папку plugins Идеи.
  • Проголосовать: нравится
  • +12
  • Проголосовать: не нравится

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

How about other languages? Can it generate the .cpp solution template with sample tests? And does it support quick generation of some headers, that the coder usually prefers to use? For example, something like this:

#define For(i,a,b) for(int i=(int)(a);i<=(int)(b);++i)

I use Kawigi plugin right now, but I am not quite satisfied with it. For example, it generates sample tests incorrectly in case of "floating" result, that is, it compares the expected answer with actual one without any precision, and often outputs errors, while the solution passes the system tests.

15 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Thanks, is there some identical plugin, but for C++? 
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I downloaded topcoderparser.jar but it can not work on the Intellij IDEA 9.0.4 of mine :( Can you help :)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Do you get any error message? Works fine with 9.0.3 for me.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    BTW, you need to copy complete problem statement to clipboard, and press Alt+Ctrl+Shift+T in IDEA (put focus on your Source directory, or on some file in it).
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
:(( I had a red circle with a yellow "!". And when I pressed it, there was a window. Here is the content:

Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(28,14),absolute(57,60),button=1,modifiers=Button1,clickCount=1] on ###overrideRedirect###: com.intellij.psi.impl.source.PsiClassImpl cannot be cast to com.intellij.psi.PsiDirectory
java.lang.ClassCastException: com.intellij.psi.impl.source.PsiClassImpl cannot be cast to com.intellij.psi.PsiDirectory
    at ru.telamon.topcoderparser.TopCoderParserAction1.run(TopCoderParserAction.java: 127)
   atcom.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java: 754)
   atru.telamon.topcoderparser.TopCoderParserAction.actionPerformed(TopCoderParserAction.java: 124)
   atcom.intellij.openapi.actionSystem.impl.ActionMenuItem
ActionTransmitter.actionPerformed(ActionMenuItem.java:218)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:81)
    at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:496)
    at com.intellij.ui.plaf.beg.BegMenuItemUI.access300(BegMenuItemUI.java: 43)
   atcom.intellij.ui.plaf.beg.BegMenuItemUI
MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:516)
    at java.awt.Component.processMouseEvent(Component.java:6263)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
    at java.awt.Component.processEvent(Component.java:6028)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4630)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    at java.awt.Container.dispatchEventImpl(Container.java:2085)
    at java.awt.Window.dispatchEventImpl(Window.java:2475)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:627)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:504)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:405)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:369)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)