UPD5: обновите плагин! Формат Codeforces несколько изменился
UPD4: новая версия:
TopCoder fix for UNIX
RCC support
Better non-English characters support
UPD3: новая версия:
TopCoder alternative protocol
Force locale setting to include Locale.setDefault(Locale.US) in generated file
UPD2: в ближайшее время новые бета версии будут распространятся только через plugin repository. При перезапуске Idea, насколько я знаю, плагины обновляются автоматически. Если это по какой-то причине не работает можно скачать свежую версию плагина здесь. Поставить можно либо старым способом (копированием в папку config/plugins), либо Settings -> Plugins -> Install plugin from disk...
Внимание! Это beta версия, которую не очень много тестировали. Используйте на свой страх и риск!
Скачать можно здесь updated
Основные изменения:
настройки теперь можно изменить через специальный диалог. При нажатии ОК в этом диалоге так же в classpath добавляются нужная библиотека. Надобность скачивать chelper.properties с сервера пропала (этот файл будет создан автоматически)
таска теперь имеет много дополнительных полей, таких как имя контеста и дата. Архивироваться таска будет во вложенную в archiveDirectory папку в зависимости от этих полей. Кроме того, чекер теперь по умолчанию не создается, но его можно выбрать. Поставляются 2 стандартных чекера (потокенный и посимвольный), в потокенном чекере можно через параметры задать максимальную разрешенную ошибку у даблов (пустые параметры — ошибка запрещена, один параметр — ошибка абсолютная или относительная не больше данного числа, два параметра через пробел — первые комбинация букв a и r — соответственно разрешение абсолютной или относительной ошибки, а второй параметр — собственно ограничение). Можно создавать свои чекеры (они должны имплементить интерфейс Checker и иметь конструктор от String, если ввести в соотвествующее поле валидное имя класса он предложит создать "рыбу" кнопкой Create), аналогично к каждой задаче можно добавлять неограниченное число генераторов тестов (должны имплементить интерфейс TestProvider). В тестах теперь можно не указывать ответ (в этом случае стандартные чекеры будут возвращать вердикт Unknown). Старые таски при переезде потеряются к сожалению, но юнит тесты продолжать работать. Рекомендую заархивировать все текущие таски перед установкой
таску теперь можно восcтановить из архива
переработано меню парсинга контестов. EOlimp пока не работает
TopCoder Arena теперь надо запускать прямо из идеи, дополнительных плагинов (moj) более устанавливать не надо
Ищется человек, который напишет ко всему этому инструкцию на 2х языках (ну, или хотя бы на одном), так же интересна видеоинструкция. Если кто-то хочет поконтрибьютить (особенно парсеры для разных сайтов) — you are welcome, у меня для контрибьюторов есть ключ для IntelliJ Idea Ultimate
UPD: загрузил в репозиторий, теперь плагин можно поставить прямо из Idea
Что-то качать все боятся :) Нет, я правда все функции протестил, просто не очень много на это потратил времени. Вряд ли какие-то day0 баги остались
Багрепорт: Не появляется список контестов в окне при парсинге, даже при нажатии кнопки рефрэш. ОС: Opensuse 12.1. Тестер работает корректно. P.S: парсер работал в предыдущей версии.
Ни Codeforces, ни Codechef, ни Timus?
Codeforces отображает список контестов, остальные нет. Но кодфорсез все-равно не парсит таски. Вот логи:
77073] ERROR — com.intellij.ide.IdeEventQueue — Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(343,518),absolute(765,641),button=1,modifiers=Button1,clickCount=1] on dialog0 java.lang.NullPointerException at net.egork.chelper.ui.ParseDialog$1.onOk(ParseDialog.java:61) at net.egork.chelper.ui.OkCancelPanel$1.actionPerformed(OkCancelPanel.java:16) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6290) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6055) at java.awt.Container.processEvent(Container.java:2039) at java.awt.Component.dispatchEventImpl(Component.java:4653) at java.awt.Container.dispatchEventImpl(Container.java:2097) at java.awt.Component.dispatchEvent(Component.java:4481) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166) at java.awt.Container.dispatchEventImpl(Container.java:2083) at java.awt.Window.dispatchEventImpl(Window.java:2489) at java.awt.Component.dispatchEvent(Component.java:4481) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:648) at java.awt.EventQueue.access$000(EventQueue.java:84) at java.awt.EventQueue$1.run(EventQueue.java:607) at java.awt.EventQueue$1.run(EventQueue.java:605) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:621) at java.awt.EventQueue$2.run(EventQueue.java:619) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:618) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:699) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:534) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:420) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:378) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178) at java.awt.Dialog$1.run(Dialog.java:1044) at java.awt.Dialog$3.run(Dialog.java:1096) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1094) at java.awt.Component.show(Component.java:1584) at java.awt.Component.setVisible(Component.java:1536) at java.awt.Window.setVisible(Window.java:843) at java.awt.Dialog.setVisible(Dialog.java:984) at net.egork.chelper.ui.ParseDialog.(ParseDialog.java:215) at net.egork.chelper.ui.ParseDialog.parseContest(ParseDialog.java:260) at net.egork.chelper.actions.ParseContestAction.actionPerformed(ParseContestAction.java:22) at com.intellij.openapi.actionSystem.impl.ActionButton.actionPerformed(ActionButton.java:169) at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:133) at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:310) at java.awt.Component.processEvent(Component.java:6055) at java.awt.Container.processEvent(Container.java:2039) at java.awt.Component.dispatchEventImpl(Component.java:4653) at java.awt.Container.dispatchEventImpl(Container.java:2097) at java.awt.Component.dispatchEvent(Component.java:4481) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166) at java.awt.Container.dispatchEventImpl(Container.java:2083) at java.awt.Window.dispatchEventImpl(Window.java:2489) at java.awt.Component.dispatchEvent(Component.java:4481) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:648) at java.awt.EventQueue.access$000(EventQueue.java:84) at java.awt.EventQueue$1.run(EventQueue.java:607) at java.awt.EventQueue$1.run(EventQueue.java:605) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:621) at java.awt.EventQueue$2.run(EventQueue.java:619) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:618) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:699) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:534) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:420) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:378) 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) [ 77076] ERROR — com.intellij.ide.IdeEventQueue — IntelliJ IDEA 11.1.3 Build #IC-117.798 [ 77076] ERROR — com.intellij.ide.IdeEventQueue — JDK: 1.6.0_34 [ 77076] ERROR — com.intellij.ide.IdeEventQueue — VM: Java HotSpot(TM) 64-Bit Server VM [ 77076] ERROR — com.intellij.ide.IdeEventQueue — Vendor: Sun Microsystems Inc. [ 77076] ERROR — com.intellij.ide.IdeEventQueue — OS: Linux [ 77076] ERROR — com.intellij.ide.IdeEventQueue — Last Action: codeforces
upd1: Сори за формат. Отступы съехали.
Факт эксепшна — бага, поправил. А соединение с Интернетом точно стабильное?
С интернетом со 100%й уверенностью сказать не могу в связи с плохими погодными условиями в Украине. Отправил багрепорт не заглянув на гисметео :). Но на качество соединения раньше никогда не жаловался. Наверное зря вас дернул по-поводу списка контестов. Он все-таки грузится, но очень долго. После 5 минут ожидания спарсил тимусовский контест. Эксепшна на тимусе нет. Если к вечеру догрузится кодшеф, чекну и его. Еще раз сори по-поводу лжерепорта) P.S: когда будет версия с исправлениями? upd: кодшеф при выборе контеста не открывает список задач.
Ну, я денек подожду — процесс загрузки во все места довольно напряжный чтобы делать раз в 5 минут, а так, глядишь, еще кто-то что-то найдет
Он открывает, но очень медленно. По какой-то причине в очень большом проценте случаев кодчиф возвращает 500 ошибку на страницу с контестом. Я написал им в пятницу, но ответа пока нету
Как показала практика там таки был баг для кодфорса
It raise a NullPointerException when I try to Parse a codeforces contest, but it's OK to prase codechef and timus(I'm using Intellij IDEA 11.2 CE)
Fixed, updated
It's ok now, thanks
удаление unused кода же должно быть? не работает :( пути такие: Default directory: src/myPackage. Output directory: output. и Task.java лежит в src/myPackage
А код, собственно?
методы lib.aminusb и unused не удалились (см. правку)
Загадочно. У меня не повторяется. Версия Idea? Java?
всё нормально, как и думал, проблема в путях. изменил Output directory с output на src и всё работает.
Попробовал с директорией output — у меня все еще работает. Странно все это
ну если что, то Idea 11.1.3 CE, jdk 1.6.0_34
Аналогичная проблема. Вылечил точно так-же.
Есть подозрения, что ошибка в этом куске кода.
А именно? Если бы мы зашли в if, то было бы соответствующий message box. Мы в него не зашли, aPackage дальше никак не участвует
да, возможно, так как когда не работало, выводило вот это окно с сообщением.
Именно так. Если выводится месседж бокс, то анюсед код не удаляется.
А, ну тогда понятно. Без этих строк был бы страшный бесконечный цикл в алгоритме удаления unused кода, так как ничто из этого не считается кодом. В общем, сообщения в мессадж боксах стоит читать ;)
Я прочитал :) Но месседж бокс не соответствует действительности. При попытке подсунуть любую дирректорию, кроме src в качестве output, вылезает месседж бокс. То есть даже при src/mypackage в качестве output будет вылезать message box.
Очень соответствует — надо же еще и чтобы бы был дефолтный пекедж. Если директорию output в свойствах модуля пометить как source — все будет работать
default dir = src/mypackage output dir = src/mypackage/output
При таком конфиге вылезает мессадж
Еще раз — "... and in default package"
Можно как-то запретить умное архивирование? Ну или настроить его. Мне, например, не интересны даты. Куда интереснее делить сразу по контестам(ie
Codeforces/135 (Div.2)
)При разархивировании задание остается и в архиве. Это так и задумано?
Я подумаю как хорошо это сделать. Пока сделаю так, что с пустой датой таска будет архивироваться напрямую в папку с названием контеста, и прямые следы в названии будут давать вложенные папки
Да
Может что-нибудь в духе проперти-настройки
archivePath
с поддержкой подстановок типа$y year/$m.$d/$contest/LOL
? Можно, видимо даже объединить с имеющейсяarchiveDirectory
Реализовал то, что написано в пункте 1. Ан нет — уже заапрувили
Екзепшн при поптыке открыть арену
в первой правке
Хм, не похоже на "при попытке открыть арену" — нету AbstractButton'а в стек трейсе. Это "нормальный" эксепшн при первом запуске — таски старые, он не может прочитать. Арена при этом не запускается?
Не открывается.
Теперь кажется другой екзепшн
~~~~~ в правке
Хм, по каким-то причинам запрещается биндить сокеты. Какая операционная система/версия Idea?
Версия IDEA 12 EAP. OS Kubuntu 12.04.
Либо какой-то файрвол, либо что-то еще непонятное. Permission denied
Добавил альтернативный способ общения через файлы, попробуй
Хорошо, как доберусь до нормального интернета, потещу.
Оно не раньше понедельника будет доступно
Ну я доберусь тоже не раньше)
Idea 122.264 (EAP 12)
CHelper 3.0beta7
OC Kubuntu 12.04
При первом запуске Арены окошко о том, что сокет не работают, далее арена запускается. В арене при откртии задачи "probably socket was not opened, trying file method", в IDEA вижу созданный файл, запускаю его. В output directory появляется файл ИмяЗадачи.java
При попытке компиляции в арене: "Both socket and file methods failed to retrieve the source" и ошибка от арены о том, что нельзя компилить пустой код.
А в домашней директории появляется файл .java?
В домашней директории вроде нету.
А, ты хоть раз запускал таску то?
Да, подогнал под семплы, запустил, получил сгенеренный файл в outputDirectory (с вставлеными использованными классами из своей библиотеки). и пачку ОКеев В homedir'е нету
Очень странно. Даже .chelper в хоуме нету?
UPD: наврал, есть .chelper
И арена запущена из идеи?
И эксепшенов никаких не упало?
Да, из идеи.
Кстати, из идеи нужно запускать каждый раз? Или достаточно того, что она в первый раз положила корректный
chelper
и прописалась в плагин едитора в ареене?Каждый — идея инитит сокет/понимает, что надо общаться через файлы. Идея точно не была перезапущена после запуска арены?
Попробовал еще раз: Закрыл и то, и другое, запустил IDEA, из нее арену(Кстати, снова получил сообщение, о том что переходим на файлы). Все точно также.
В
.chelper
путь до корня проекта в IDEA.А .java при этом не создалось?очень странно, не понимаю как такое может быть без эксепшнов
Кроме того, что красным написано в арене “Both socket and file methods failed to retrieve source” и окошка о компиляции пустого кода — никаких ошибок нет. Думаешь екзепшены должн в идее лететь?
Да. Ну я не вижу как иначе может не выполняться строчка с созданием копии в home
О, слушай, я правильно понимаю, что порт 239 вбран рандомно и все это же можно делать и на другом?
О, не знал. Да, поставлю другой порт
Залил версию с другим портом — сейчас заапрувят и можно будет скачивать
Работает?
Да, заработало, спасибо
Пофиксил эксепшн
I noticed some issues with the new plugin.
Keep up the good work!
Will investigate
Will be fixed
Should work, at least in last version
It doesn't work well when I click on "Launch TopCoder Arena" on my mac computer(but it can work on my windows one), it throw a BindException: Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(773,36),absolute(773,36),button=1,modifiers=Button1,clickCount=1] on frame1: java.net.BindException: Permission denied java.lang.RuntimeException: java.net.BindException: Permission denied at net.egork.chelper.actions.TopCoderAction.startServerIfNeeded(TopCoderAction.java:155) at net.egork.chelper.actions.TopCoderAction.actionPerformed(TopCoderAction.java:39) at com.intellij.openapi.actionSystem.impl.ActionButton.actionPerformed(ActionButton.java:169) at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:133) at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:310) at java.awt.Component.processEvent(Component.java:6140) at java.awt.Container.processEvent(Container.java:2083) at java.awt.Component.dispatchEventImpl(Component.java:4737) at java.awt.Container.dispatchEventImpl(Container.java:2141) at java.awt.Component.dispatchEvent(Component.java:4565) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4619) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4280) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4210) at java.awt.Container.dispatchEventImpl(Container.java:2127) at java.awt.Window.dispatchEventImpl(Window.java:2482) at java.awt.Component.dispatchEvent(Component.java:4565) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:684) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:643) at java.awt.EventQueue$1.run(EventQueue.java:641) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:657) at java.awt.EventQueue$2.run(EventQueue.java:655) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:654) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:699) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:534) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:420) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:378) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Caused by: java.net.BindException: Permission denied at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383) at java.net.ServerSocket.bind(ServerSocket.java:328) at java.net.ServerSocket.(ServerSocket.java:194) at java.net.ServerSocket.(ServerSocket.java:106) at net.egork.chelper.actions.TopCoderAction.startServerIfNeeded(TopCoderAction.java:90) ... 37 more
java.net.BindException: Permission denied at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383) at java.net.ServerSocket.bind(ServerSocket.java:328) at java.net.ServerSocket.(ServerSocket.java:194) at java.net.ServerSocket.(ServerSocket.java:106) at net.egork.chelper.actions.TopCoderAction.startServerIfNeeded(TopCoderAction.java:90) at net.egork.chelper.actions.TopCoderAction.actionPerformed(TopCoderAction.java:39) at com.intellij.openapi.actionSystem.impl.ActionButton.actionPerformed(ActionButton.java:169) at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:133) at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:310) at java.awt.Component.processEvent(Component.java:6140) at java.awt.Container.processEvent(Container.java:2083) at java.awt.Component.dispatchEventImpl(Component.java:4737) at java.awt.Container.dispatchEventImpl(Container.java:2141) at java.awt.Component.dispatchEvent(Component.java:4565) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4619) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4280) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4210) at java.awt.Container.dispatchEventImpl(Container.java:2127) at java.awt.Window.dispatchEventImpl(Window.java:2482) at java.awt.Component.dispatchEvent(Component.java:4565) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:684) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:643) at java.awt.EventQueue$1.run(EventQueue.java:641) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:657) at java.awt.EventQueue$2.run(EventQueue.java:655) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:654) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:699) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:534) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:420) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:378) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Fixed in beta6, will be available on Monday
а почему плагин не удаляет unused конструкторы?
Выше уже описывалось, но я повторюсь. Дословно прочитай и переведи всплывающий message box, и потом поставь в качестве аутпута твой src.
ты не понял, ничего у меня не всплывает. unused методы удаляются, а конструкторы нет, вот я и спрашиваю почему.
Я не помню исторической причины этого, что-то глючило. Посмотрю, можно ли сейчас это сделать
Hi Egor, I need your help!!! I have updated the CHelper plugin but it now fails to load Topcoder code to IntelliJ IDEA :( Do I need to reset sth after update?? Would you like to help me on this issue?? Many thanks!!!
You now need to start TopCoder through Idea. New button is added (you need to add it on toolbar)
After adding the new button and clicking it, an exception raises. RuntimeException: Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(724,47),absolute(724,69),button=1,modifiers=Button1,clickCount=1] on frame1: java.net.BindException: Permission denied
Do I need to set sth?? Also, there is a CHelper editor on my editor lists in TopCoder arena.
I have exactly the same problem
Should be fixed in beta >= 6
When achieveing or deleting a TopCoder Task, it didn't delete the java file produced.
Will investigate. Any specific TC problem or for any?
Normally it produce Main.java, so it's OK. But when using TC it produce (problemname).java, so it's a little inconvenient not to delete it
Ah, this one. It will be deleted on any run (either TC or simple tasks)
I mean the final file(the file submitted to TC), it isn't deleted on either TC or simple tasks(at least on my computer)
Yes, it would be deleted next time you run something
I see
On topcoder if you solve a task during the contest then the task isn't created (nor is it recognised) in the practice room. (again the "Something went wrong :(" error)
Is task still in default directory or is it archived/deleted?
It's in the default directory. It's working only after I close the problem from topcoder, I debug it (shift-f9) and then it works. If then I debug another task then it doesn't work again. Is this normal?
P.S.: And by works I mean that it compiles in the arena.
Can you please specify steps to reproduce one by one?
Oh, I think I got it. You opens problem in arena and tries to compile it. Only the last runned problem in idea is "built" — i. e. ready for compiling/submitting to server, so yes — you need to either run or debug problem locally before submiting
Вопрос снимается.
ПС А теперь в Хелпере не будет возможности парсить таски с КФ по айди и букве? very sad
Пока да. Возможно, потом добавлю, но так как это не уменьшает функциональность (задачу всегда можно выбрать), то это low priority