В Eclipse возможно то, что невозможно в IntelliJ?

Я слышал от людей, которые клянутся тем или другим. Обе полнофункциональные, отличные IDE. Но у каждого есть немного разные сильные стороны. Это не должно превратиться в священную войну IDE. Пожалуйста, опускайте любые ответы флеймбейтов. Спасибо.

Это аналог этого вопроса.


person Craig P. Motlin    schedule 20.01.2009    source источник
comment
Мммм ... получить IntelliJ бесплатно для индивидуальных разработчиков? ;)   -  person VonC    schedule 20.01.2009
comment
:) Важная разница.   -  person Craig P. Motlin    schedule 20.01.2009
comment
И теперь вы можете получить хотя бы Community Edition бесплатно (с открытым исходным кодом) - jetbrains.com/ idea / free_java_ide.html   -  person IgorK    schedule 03.02.2010
comment
@IgorK Пожалуйста, попробуйте заниматься корпоративными разработками с помощью Community Edition (подсказка, вы не можете).   -  person Pascal Thivent    schedule 07.09.2010
comment
@Pascal Thivent Я не использую Community Edition для повседневной работы;) Тем не менее, некоторые люди могут найти его полезным.   -  person IgorK    schedule 08.09.2010
comment
@Pascal Thivent По моему опыту, IntelliJ Community Edition эквивалентен Eclipse, без приобретения таких плагинов, как MyEclipse. Eclipse по умолчанию, похоже, не поддерживает JSP и другие технологии Java EE, кроме очень элементарных вещей.   -  person Colin K    schedule 19.12.2010
comment
Симметричный вопрос о функциях IntelliJ, недоступных в Eclipse все еще открыто. Пожалуйста, откройте и эту.   -  person Francois G    schedule 05.07.2013
comment
Ах, фашисты закрывают вопрос о чистоте формата и закрывают снова и закрывают еще одну интересную дискуссию. Неконструктивно, но у него 45 голосов «за». Ах хорошо.   -  person Manius    schedule 15.01.2015
comment
Я голосую за повторное открытие этого вопроса, поскольку обратный вопрос все еще открыт   -  person user902383    schedule 25.11.2016


Ответы (16)


Мое любимое небольшое раздражение в IDEA (и любимая небольшая функция в Eclipse) - это расположение символа при вводе открывающей фигурной скобки (например, "{") или точки с запятой. Вам нужно будет включить его в Eclipse (Window / Preferences / Java / Editor / Typing: «Автоматически вставлять в правильную позицию: точка с запятой, фигурные скобки»)

С этим просто напечатайте вперед ("|" - позиция курсора)

while(|

результаты (пока нет магии) в

while(|)

теперь введите true {, в результате

while(true) {|

Такой простой, но такой мощный.

Кроме того, в (например)

System.out.println("Hello world")

с символом вставки где угодно в этой строке, ввод точки с запятой автоматически вводит ее в конец строки. Backspace исправляет, как и обычная автокоррекция в вашем любимом текстовом редакторе.

Бесценно. Я физически больше не могу ввести точку с запятой в правильном месте с первой попытки :)

person Olaf Kock    schedule 20.01.2009
comment
Вы хотите попробовать CTRL-SHIFT-ENTER в IDEA. Он завершит линию в обоих случаях - person oxbow_lakes; 15.02.2009
comment
Спасибо, это было новостью для меня - хотя я не могу понять все те комбинации клавиш, которые используются в идеях. ';' и '{' так более интуитивно понятны. На следующей неделе буду работать над идеей и постараюсь вспомнить ... ;-) - person Olaf Kock; 20.02.2009
comment
Что делать, если вы хотите вставить; в строке? - person fastcodejava; 08.09.2010
comment
Если вы хотите вставить; в строке просто нажмите клавишу возврата, как в OpenOffice, Word или других. Это вернет автокоррекцию. Подавляющее большинство моих точек с запятой (на несколько порядков) заканчивают строку, поэтому я очень доволен этим. - person Olaf Kock; 08.09.2010
comment
В некотором смысле Eclipse имеет больше комбинаций клавиш в этом случае :) IntelliJ использует crtl + shift + enter для всех операций Complete Statement (как и в обоих примерах выше), тогда как Eclipse использует разные ключи в каждом примере. Что проще? Думаю, это зависит ... в приведенных выше примерах ярлыки Eclipse очевидны, поэтому я согласен, что они более интуитивно понятны. Однако IntelliJ использует один и тот же ярлык независимо от того, поэтому, даже если это не очевидно, есть только один ярлык, который нужно знать. - person Colin K; 19.12.2010
comment
@ckeh: В Eclipse это не ярлык, а символ, который вы хотите ввести. Поправляется просто положение. - person Tim Büthe; 20.05.2011
comment
Я отказался от студии Android после нескольких дней пробного использования этой функции ... Я слишком ленив? - person jiashie; 01.09.2014

Инкрементальный компилятор Eclipse позволяет запускать модульные тесты даже при наличии компилятора ошибки в несвязанном коде. IntelliJ полагается на javac, который не испускает байт-код, если весь код не является действительным.

person Craig P. Motlin    schedule 06.01.2012
comment
IntelliJ уже давно предоставляет возможность использовать компилятор Eclipse или AJC. (Настройки ›Компилятор› Компилятор Java ›Раскрывающееся меню« Использовать компилятор ») - person ddimitrov; 02.04.2013
comment
Означает ли это, что даже разработчики Idea знают, что Eclipse лучше справляется с компиляцией? - person Piotr Findeisen; 03.02.2014
comment
Вау, мне так не хватало этой функции в IDEA, но вот она. И даже не стесняются называть его Eclipse compiler, сними шляпу :) - person Kranach; 17.02.2015

Я попытался перейти на IntelliJ из-за новой Android Studio. Но сейчас я очень разочарован. Я использую Eclipse с подключаемым модулем Code Recommenders. Вот простой пример, почему Eclipse такой классный:

Я хочу создать новый SimpleTimeZone. SimpleTimeZone не имеет конструктора с нулевыми аргументами.

Ctrl + Пробел в Eclipse

введите описание изображения здесь

Ctrl + Пробел в IntelliJ

введите описание изображения здесь

В IntelliJ я не получаю информации о конструкторах SimpleTimeZone.

После входа в Eclipse

введите описание изображения здесь

Я получаю ранее выбранный конструктор, заполненный предопределенными именами переменных. И я могу видеть тип каждого аргумента. С помощью Code Recommenders Eclipse угадывает правильный конструктор по ранее определенным типам переменных в текущей области и заполняет конструктор этими переменными.

После ввода в IntelliJ ничего не происходит. Я получаю пустой конструктор. Мне нужно нажать Ctrl + P, чтобы увидеть ожидаемые аргументы.

введите описание изображения здесь

или попробуйте что-нибудь простое. Тип

syso<Ctrl+Space>

Затмение: System.out.println()

IntelliJ: syso

person passsy    schedule 18.05.2013
comment
Intellij: sout ‹tab› - ›System.out.println () или soutp, или soutv, или многие другие. Настройки - ›Live TEmplates -› вывод для списка. - person Michael Campbell; 04.06.2013
comment
Ctrl + P в intellij покажет параметры для метода, но не будет автоматически заполняться, как eclipse! - person Yogesh; 07.09.2014

Насколько мне известно, в IntelliJ нет альтернативы отличному плагину задач Eclipse Mylyn.

person SamBeran    schedule 20.01.2009
comment
В IntelliJ 9 и выше есть управление задачами: блоги .jetbrains.com / idea / 2009/05 / Но это может быть не совсем то же самое, что Mylyn ... что может быть плохо ... или хорошо :) В зависимости от того, что вам нужно. - person Colin K; 19.12.2010
comment
Новое управление задачами действительно хорошее. Этот ответ больше не актуален :) - person SamBeran; 21.12.2010
comment
@SamBeran Боюсь, ответ все еще в силе. Регулярно используя как Eclipse, так и IntelliJ IDEA, я могу сказать, что управление задачами в IntelliJ IDEA, к сожалению, далеко от Mylyn. - person user1338062; 13.03.2013
comment
@SamBeran Пожалуйста, поправьте меня по этому поводу. Однако кажется, что вся концепция контекста задачи IJ - это только то, какие вкладки нужно открывать. Кажется, он не фильтрует файлы, показанные на боковой панели проекта, или не имеет какой-либо другой контекстной фильтрации, которая делает Mylyn полезным. Надеюсь, я ошибаюсь, потому что хочу использовать IJ по другим причинам. - person Gerry; 11.05.2014
comment
Я не использую его в задачах в IDEA, просто посмотрел на них и оказался не хуже Mylyn. Я отказываюсь от своего предыдущего утверждения и принимаю информацию других комментаторов, а не мою. - person SamBeran; 12.05.2014

Начиная с Eclipse 3.3 (но это можно сделать до использования плагина), вы можете автоматически выполнять действия при сохранении файла Java:

  • организовать импорт
  • исходный код формата
  • некоторые другие действия (например, добавление аннотаций, удаление ненужных приведений ...)

Это можно настроить в Предпочтения> Java> Редактор> Действия сохранения.

person Romain Linsolas    schedule 05.02.2009
comment
IntelliJ можно настроить на оптимизацию импорта на лету, добавление однозначного импорта на лету. При сохранении форматирование другое - в IntelliJ это «При фиксации»: см. stackoverflow.com/questions/3707316/ - person Colin K; 19.12.2010

Открытый характер платформы Eclipse способствует процветанию сообщества разработчиков плагинов. Доступно множество плагинов для всех видов задач.

person Peter Severin    schedule 20.01.2009
comment
Вопрос касался того, что возможно в Eclipse, что невозможно в IDEA. Вы имеете в виду, что писать плагины для IDEA невозможно? - person Pavel Feldman; 23.01.2009
comment
Я имею в виду, что плагинов для Eclipse гораздо больше, чем для IDEA. - person Peter Severin; 23.01.2009
comment
Я считаю количество плагинов прямой выгодой. Некоторые функции, доступные в Eclipse в виде плагинов (например, улучшенная поддержка JS), встроены в IDEA. - person Pavel Feldman; 26.01.2009
comment
Вероятно, было бы полезно проверить, есть ли функция в одной из IDE, которая вам нужна, которой нет в другой - будь то плагин или нет. Без конкретных примеров количество может означать, что есть несколько дубликатов, а не отсутствуют фактические задачи. Кроме того, как отмечает Павел, некоторые функции встроены в IntelliJ (в виде встроенных плагинов), поэтому нет необходимости приобретать плагин отдельно. Я подозреваю, что то же самое можно сказать и о Ecplise. plugins.intellij.net - person Colin K; 19.12.2010

Мои любимые функции Eclipse:

  • Интеграция AspectJ, которая включает навигацию между аспектами и кодом, маркеры аннотаций, показывающие, где применяются аспекты, просмотр перекрестных ссылок, общий открытый типизированный диалог, показывающий типы аспектов (недавно добавлен)
  • Инструменты OSGi (также известные как PDE), редактирование и оптимизация манифеста OSGI, рефакторинг, специфичный для OSGi, и редактор декларативных сервисов (в настоящее время в разработке)
person Community    schedule 26.01.2009

Я не могу понять, как автоматически добавлять javadoc в Intellij, тогда как в Eclipse это просто: Shift-Alt-j

Что мне не нравится в IntelliJ (от разработчика Eclipse)

  • Клавиша табуляции не отступает, чтобы исправить положение всего одним нажатием табуляции.

  • Мультипроект - первый ... но многие люди уже писали об этом раньше, поэтому я оставлю его.

  • Раскол окон. В Eclipse вы просто перетаскиваете окно, куда хотите, и оно оказывается там.

  • Шрифт отстой. Я выбрал следующий лучший, который смог найти: Liberation Mono, размер 14. (Настройки> Редактор> Цвета и шрифт> Шрифт)

  • Выделение для XML неприятно ... жирный шрифт убран.

  • Синхронизация окна редактора с файлом, выбранным в навигаторе проекта. Я не могу сделать это по умолчанию, приходится каждый раз нажимать кнопку ??? Нашел:

  • Двойной щелчок в навигаторе проекта иногда не открывает файл. Иногда даже тройное нажатие не помогает. Только четырехкратный щелчок открывает его! ** Вот ответ ... просто скорость двойного щелчка слишком высока: что касается двойного щелчка в IDEA, причина, по которой трудно открывать файлы двойным щелчком, заключается в том, что программы Java, например IDEA считывает скорость двойного щелчка из ресурсов X11. Если он не установлен явно, то по умолчанию используется значение 200 мс, что является молниеносной скоростью. Чтобы иметь более разумный порог, создайте ~ / .Xresources и добавьте: * .multiClickSpeed: 400

  • Не могу понять, как получить предложение: «Назначить оператор локальной переменной», которое Ctrl-1 дает в eclipse. Я использую это все время.

** Ага! Это рефакторинг «Введение переменных». По умолчанию выделите текст, а затем нажмите Ctrl + Alt + V. Если выражение является неполным или недействительным, IntelliJ все равно хорошо догадывается о том, что вы имели в виду, и попытается исправить это за вас.

  • Табуляция не берет линию, чтобы исправить место сразу.

  • Не удалось правильно выполнить автозаполнение ** Ctrl-Shift-Space помогает ...

  • Повторный запуск горячего кода. В eclipse я могу изменить метод в отладчике, и он перезагружает фрейм. ** Щелчок правой кнопкой мыши: выпадающая рамка

  • Двойной щелчок по переменной, чтобы выделить ее, не выделяет другие вхождения переменной.

  • Устаревшие методы не зачеркнуты.

  • Может правильно искать в меню настроек. Все, что он отфильтровывает, - это имена верхнего уровня, а не все строки внутри самих меню. Не могу найти, где установить jdk!

  • Не компилируется "на лету", только когда я нажимаю "отладка", он компилируется.

  • Нет «щелкните правой кнопкой мыши класс и выберите« Создать »>« JUnit ».

  • При отладке окно появляется внизу и не может переместиться туда, где мне бы хотелось. ** Перетащите маленький значок, когда он свернут, в ту сторону, с которой вы хотите, чтобы он выскочил.

Что мне нравится:

  • История вставки хороша:

Ctrl-Shift-V

  • Простое нажатие на значки отладки / запуска фактически запускает последнюю конфигурацию, eclipse не так уж и умен с ним (или он слишком умен ???), и мне не нравится, как он это делает.

  • Автозаполнение очень хорошее.

  • Щелкните только один раз, чтобы добавить точку останова

  • Свертывание / расширение кода кажется более приятным.

  • Ctrl-Shift - (минус) свернуть / свернуть все.

  • «Режим столбца» можно включить в нем «Редактировать - Режим столбца» или с помощью alt + shift + insert.

person ftravers    schedule 01.02.2011

Только eclipse позволяет выполнять сборку муравья в отладчике.

person Craig P. Motlin    schedule 20.01.2009
comment
Кажется, больше не является отличительной чертой: plugins.intellij.net/plugin/?idea&id=4526 < / а> - person Colin K; 19.12.2010

Idea не имеет плагина drools, а внешние редакторы (например, Excel) сложно интегрировать.

person Arne Burmeister    schedule 20.01.2009

В eclipse вы можете развернуть редактор, а в IntelliJ вы можете щелкнуть escape, что имеет аналогичную функциональность. Но в затмение можно восстановить. В IntelliJ нет эквивалента «un-maximize», что еще более расстраивает.

person Craig P. Motlin    schedule 21.01.2009
comment
Тот же самый ярлык, который использовался для развертывания редактора, можно также использовать для его последующего отмены. - person Ruben; 22.01.2009
comment
Это неверно. crtl + shift + F12 переключает между развернутым редактором и тем, что было в предыдущем состоянии (как я полагаю, Рубен заявляет, но если быть более точным с ярлыками). - person Colin K; 19.12.2010
comment
Меню: Окно - ›Скрыть все _W_indows (или Восстановить _W_indows) в зависимости от того, в каком состоянии вы находитесь. - person Colin K; 19.12.2010
comment
Следует отметить: я имею в виду меню и ярлыки IntelliJ. ;) - person Colin K; 19.12.2010
comment
Я имел в виду двойной щелчок по вкладке. Однако похоже, что это реализовано в IntelliJ 10. - person Craig P. Motlin; 20.12.2010

Самым большим раздражением, которое я обнаружил (используя оба), является то, что в Eclipse я могу создавать задачи Ant Launch. Эти задачи позволяют мне запускать одну и ту же задачу ant в одном и том же файле сборки с использованием разных наборов свойств / аргументов, не редактируя каждый раз.

В IDEA свойства устанавливаются для всего файла сборки. Таким образом, вы не только не можете запускать одну и ту же задачу муравья с разными свойствами без редактирования, но и не можете запускать разные задачи муравья с разными свойствами, если они не находятся в разных файлах сборки.

person Instantsoup    schedule 20.01.2009
comment
Вы можете добавить один и тот же файл сборки Ant несколько раз в окно IntelliJ Ant Build и установить разные свойства (alt + enter) для этих разных экземпляров одного и того же файла. Например, я создал простой файл сборки муравья с целью, которая просто отображает свойство, затем установил для свойства значение Hi в одном экземпляре и Hello в другом. Запуск одной и той же цели приветствия дает разные результаты в зависимости от того, какой экземпляр запущен. Будет ли это охватывать упомянутый вами сценарий? - person Colin K; 19.12.2010
comment
Может быть! Я больше не нахожусь в месте, которое предоставляет IDEA, поэтому я использую Eclipse по умолчанию, но я буду иметь это в виду, спасибо! - person Instantsoup; 07.01.2011

Я подвел итог своему сравнение Eclipse 3.6 и IntelliJ 10.5 в блоге (сосредоточено больше на том, что мне нравится во II или чего не хватает по сравнению с Eclipse)

person Jakub Holý    schedule 21.10.2011
comment
Хорошее резюме. Я использую IntelliJ около 3 лет и никогда не вернусь к Eclipse. Я думаю, что ваши опасения по поводу производительности легко решить, немного изменив рабочий процесс. В Eclipse вы должны часто нажимать ctrl + S, чтобы сохранить файлы и принудительно выполнить компиляцию. В IntelliJ вам никогда не нужно сохранять файлы, но вам нужно принудительно выполнить компиляцию. Просто замените привычку нажимать ctrl + S на ctrl + f9, что и сделает проект. Вы обнаружите, что рабочий процесс и скорость почти равны, а IntelliJ может быть немного быстрее. - person Craig P. Motlin; 26.10.2011
comment
SO не предназначен для обмена ссылками, вы должны процитировать некоторые моменты. - person Paul Verest; 22.04.2014

В целом у меня был хороший опыт работы с обеими IDE, так что в обеих есть много хороших функций. В IDEA 9_0_3 я столкнулся со странной проблемой при работе с SVN. Я могу видеть историю изменений в представлении репозитория, но он ничего не показывает как входящие изменения, что меня расстраивает. Альтернативой является обновление каталогов, которые приносят последнюю версию, но без какого-либо выбора ... она получает все

person Adnan    schedule 10.11.2010

Работающая интеграция Subversion, ознакомьтесь с ошибками плагина idea subversion .

person Arne Burmeister    schedule 20.01.2009
comment
Интеграция с Subversion, похоже, у меня неплохо работает в IntelliJ 7.0.5. Нет проблем, которые я видел. - person duffymo; 20.01.2009
comment
У меня также хорошо работает интеграция с Subversion в 7.0.x и 8.x. С другой стороны, работа с очень большим репозиторием CVS была для меня проблемой в 7.x. - person Ruben; 20.01.2009
comment
Я работаю с eclipse, idea 7 и idea 8. Подключаемый модуль subversion из idea имеет очень странное поведение, приводящее к частичным фиксациям (поскольку кеш локальных изменений не обновлен), показывая [частичные] префиксы во входящей истории. - person Arne Burmeister; 20.01.2009
comment
Рефакторинг, такой как перемещение пакетов, часто приводит к неожиданным изменениям, таким как создание целевого каталога и перемещение или, что еще хуже, замена всех файлов по одному. Это усложняет последующее слияние, чем использование командной строки. Также встроенная функция слияния идеи часто создает мусор. - person Arne Burmeister; 20.01.2009
comment
истинный. У меня было много проблем с интеграцией Subversion в intellij 9 - person Abbas Gadhia; 15.02.2013

В eclipse можно раздражаться, создав область редактирования 10x10 (столбцы / строка) и одновременно просматривая все другие окна.

В IntelliJ это невозможно, поскольку клавиша ESC закроет их все.

Хорошо, хорошо, извини, я должен это сделать, пристрелите меня сейчас

person Community    schedule 20.01.2009
comment
Вы можете просто дважды щелкнуть строку заголовка области редактора в Eclipse, и она развернет ее, отправив другие окна во всплывающие папки сбоку. - person RodeoClown; 21.07.2009
comment
Использование ctrl + M в Eclipse также должно давать то же самое, что и двойной щелчок, если вы предпочитаете сочетания клавиш. - person Colin K; 19.12.2010