В проекте созданном плагином JavaRushHomeWork запускаю любой класс, по факту запускается первый класс с ошибкой в проекте.
Пример. Запускаю класс Solution из task409 зеленым треугольником в 7 строке, по факту запускается класс Cat из task406 (в нем ошибка в строке).
Перед запуском специально очищаю все конфигурации в "Run/Debug Configurations".
Как исправить?
Оля Судак
5 уровень
Не корректная работа плагина после запуска класса
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Justinian Judge в Mega City One Master
27 сентября 2019, 12:33
Почему мы запускаем один класс, а Идея ругается на ошибки во втором:
Программа это проект. В нашем случае проект - JavaRushTasks. Программа может структурно делиться на самостоятельные модули. В нашем случае модули это квесты (1. JavaSyntax, 2. JavaCore, 3. JavaMultithreading, 4. JavaCollections).
Запуская класс с задачей, то есть ЛЮБОЙ компонент нашей Программы или ее отдельного модуля, весь код ( в нашем случае - модуля, конкретного квеста) проверяется на ошибки компилятором.
Если есть нерешенная задача, которая не компилируется (отсутсвуют нужные фигурные скобки, нету return и другие ошибки, которые выделены красным), мы не сможем запустить другие классы этого проекта/модуля.
А вдруг мы в своем коде ссылаемся на этот класс, в котором ошибки, а там синтаксический коллапс:
Поэтому нельзя в рамках конкретного модуля/проекта оставлять классы/задачи в некомпилированном состоянии (когда Идея нам подсвечивает красным). Для этого можно:
- если метод нереализован, но что-то должен возвращать ставить заглушки (return 1, return "", return new HashMap<>());
- либо комментировать, лишь бы код скомпилировался и не мешал запускать другие задачи, выделяем проблемный кусок кода и нажимаем CTRL+/
Когда мы потом вернемся к этой задаче, потом просто уберем заглушки и комментирование. +2
Justinian Judge в Mega City One Master
27 сентября 2019, 12:33
Как работать с запуском классов:
Если мы начинаем работать с новой задачей, чтобы запустить именно ее, есть разные варианты:
1. Нажать CTRL+SHIFT+F10 когда курсор активен в окне с кодом новой задачи.
2. Возле метода main новой задачи, слева, где номера строк нажимаем зеленый треугольник, и выбираем верхний пункт который называется по типу ИмяКласса.main, например ("Run Solution.main CTRL+SHIFT+F10")
3. Слева от имени класса который мы хотим запустить, возле номера строки также есть зеленый треугольничек. Нажать на него, и выбрать верхний пункт который называется по типу ИмяКласса.main, например ("Run Solution.main CTRL+SHIFT+F10").
4. В окне с кодом новой задачи, кликаем правой кнопкой мыши.
Выбираем пункт меню вида: "Run ИмяКласса.main", например - "Run Solution.main CTRL+SHIFT+F10").
Все последующие случаи, в каком бы классе проекта мы не находились, чтобы еще раз запустить последнюю запущенную программу:
1. Нажать SHIFT+F10 когда курсор активен в окне с кодом новой задачи.
2. На самой панеле с кнопками Интеллидж Идеа (тулбаре), будет окошко с названием конфугурации запуска, часто совпадает с именем класса, например Solution и справа - кнопка с зеленым треугольником. Ее и нужно нажать.
Таким образом мы работаем с задачами следующим образом. Первый раз запускаем новую задачу - нажимаем CTRL+SHIFT+F10.
Все последующие запуски этой задачи через SHIFT+F10.
Переходим к новой задаче - снова CTRL+SHIFT+F10 и так далее.
+2
VladimirMaster
27 сентября 2019, 10:50
Оля привет! Плагин тут ни причем. Помечайте все использованные таски, как исключенные. Для этого кликните левой клавишей мыши по использованной таске и в выпавшем меню выберите Mark Directory as -> excluded.
Папка task0401 станет оранжевого цвета. В вашем случае проделайте это с директориями например task0401, task0402, и т.д
Резюмирую: выполнили таску, пометьте ее, как excluded. И все будет работать замечательно.
+3