Как сразу увидеть ошибки компиляции в дереве проекта IntelliJ Idea?

125

Мне интересно, можно ли настроить IntelliJ Idea для немедленного отображения ошибок компиляции в файлах классов в дереве проекта. В настоящее время мне нужно вручную запустить перекомпиляцию, чтобы увидеть отметки об ошибках в моих классах, если класс не может быть скомпилирован.

magomi
источник
1
С другой стороны, вам не нужно сохранять файлы для IntelliJ, чтобы обновить панель желоба для открытого вами класса :-) Он просто не обновляет дерево проекта.
leedm777
Можете ли вы немного расширить эту функцию, потому что я сразу вижу ошибку в представлении проекта в IDEA, поэтому я не уверен, есть ли она там или вы просите что-то еще?
Ишай
7
Некоторое время назад я перешел с Eclipse, и у него была возможность сразу увидеть ошибки компиляции в дереве проекта (файлы выделяются красным подчеркиванием) - например, если вы меняете подпись метода, вы помечаете все классы, использующие этот метод, с помощью красная линия. Как объяснил joekutner, есть плагин, который добавит такое поведение, но, как ответил Берт, этот плагин, похоже, работает не так, как ожидалось. К настоящему времени я думаю, что буду жить с базовыми функциями IDEA и изменю свой подход к работе с IDE ;-)
magomi
1
Просто для архива. С тех пор я работал с IDEA (почти 2 года), через несколько дней я привык работать без этой функции, и с тех пор я никогда ее не пропускал.
magomi
1
Нет, ошибки не отображаются автоматически в представлении «Проект».
Игорь Ганапольский

Ответы:

116

Начиная с IntelliJ 12, есть возможность автоматически строить проект при изменении источника. В «Настройки» -> Сборка, Выполнение, Развертывание -> «Компилятор» установите флажок «Создавать проект автоматически». Это немедленно покажет любые ошибки компиляции в дереве проекта.

Raymi
источник
1
Отличное улучшение для v12. Спасибо, что добавили это к ответам.
keyboardsurfer
8
+1 для вызова опции (которая не включена по умолчанию!), Но, похоже, она не отображает ошибки в файлах в дереве проекта, как запросил OP. Есть ли обзор всех ошибок компилятора, легко просматриваемых с первого взгляда?
Brent Faust
5
@ MadsMobæk Спасибо, но в IntelliJ 12.1.4 нет представления «Проблемы»:!скриншот
Brent Faust
2
Возможно ли подобное для предупреждений?
Стивен Руз
1
Это не работает, когда изменение вызывает ошибку компиляции. Например, когда публичный метод меняется на частный, я должен открыть файл, который вызывает этот метод, чтобы увидеть ошибку компиляции этого файла. В противном случае он будет показывать ошибки только при повторной сборке проекта. Однако он работает, когда в файле возникает проблема с компиляцией, а затем я исправляю ее в другом файле. Пример: класс A использует частный метод B, затем измените метод B на общедоступный.
Джордан Сильва
19

Я сделал несколько дополнительных поисков в Интернете об этой функции. В итоге кажется, что именно эта функция недоступна. Есть несколько дискуссий по этой теме, где также упоминаются некоторые (с моей точки зрения) обходные пути. Самое полезное обсуждение, которое я нашел здесь .

magomi
источник
2
Ссылка не работает
словить
1
@slovit Я отредактировал ссылку, чтобы ссылаться на копию с archive.org.
Мэтт Болл
17

Вы можете получить доступ ко всем проблемам компиляции следующим образом:

  • откройте проводник "Проект" (обычно закреплен слева)
  • щелкните раскрывающийся список "Проект" в верхнем левом углу.
  • выберите "Проблемы" в разделе "Области действия"

Вы увидите дерево файлов и проблем. Кроме того, на нижней панели инструментов вы должны увидеть вкладку под названием «Проблемы», в которой также перечислены все. Его не так просто использовать, как представление «Проблемы» Eclipse, но оно близко.

Я использую версию 12.1.4, но не уверен, в какой версии эта функция появилась впервые.

Натан Бич
источник
2
Для меня область «Проблемы» ничего не показала, хотя на вкладке «Сообщения» была куча сообщений об ошибках компилятора Java
Тармо
0

Вы можете попробовать плагин Eclipse Mode для IntelliJ. Это позволяет выполнять инкрементную компиляцию при сохранении файла:

http://plugins.intellij.net/plugin/?id=3822

codefinger
источник
7
Я пробовал это, но, как многие отмечали, он крадет фокус и не предоставляет запрашиваемую функцию (например, он не отмечает ошибки в дереве проекта). Я бы тоже хотел иметь эту функцию, это одна из тех вещей, по которым я скучаю после того, как переключился с Eclipse
Берт