Я слышал от людей, которые клянутся тем или другим. Обе полнофункциональные, отличные IDE. Но у каждого есть немного разные сильные стороны. Это не должно превратиться в священную войну IDE. Пожалуйста, опускайте любые ответы флеймбейтов. Спасибо.
Это аналог этот вопрос.
:) Это важное отличие.
И теперь вы можете получить хотя бы Community Edition бесплатно (и это с открытым исходным кодом) - jetbrains.com/idea/free_java_ide.html
@IgorK Пожалуйста, попробуйте заниматься корпоративными разработками с помощью Community Edition (подсказка, вы не можете).
@Pascal Thivent Я не использую Community Edition для повседневной работы;) Тем не менее, некоторые люди могут найти его полезным.
@Pascal Thivent По моему опыту, IntelliJ Community Edition эквивалентен Eclipse, без приобретения таких плагинов, как MyEclipse. Eclipse по умолчанию, похоже, не поддерживает JSP и другие технологии Java EE, кроме очень элементарных вещей.
Симметричный вопрос о функции IntelliJ недоступны в Eclipse все еще открыт. Пожалуйста, откройте и эту.
Ах, вопрос "сторонников формата" закрывает фашисты снова и закрывает еще одну интересную дискуссию. "Неконструктивно", но набрало 45 голосов "за". Ах хорошо.
Я голосую за повторное открытие этого вопроса, поскольку обратный вопрос все еще открыт




Работающая интеграция Subversion, взгляните на ошибки плагина подрывной идеи.
Колоссальные 2 проблемы больше, чем subclipse.tigris.org/issues/…
Интеграция с Subversion, похоже, очень хорошо работает для меня в IntelliJ 7.0.5. Нет проблем, которые я видел.
Интеграция с Subversion также хорошо работает у меня в 7.0.x и 8.x. С другой стороны, работа с очень большим репозиторием CVS была для меня проблемой в 7.x.
Я работаю с eclipse, idea 7 и idea 8. Подключаемый модуль subversion из idea имеет очень странное поведение, приводящее к частичным фиксациям (поскольку кеш локальных изменений не обновлен), показывая [частичные] префиксы во входящей истории.
Рефакторинг, например перемещение пакетов, часто приводит к неожиданным изменениям, таким как создание целевого каталога и перемещение или, что еще хуже, замена всех файлов по одному. Это усложняет последующее слияние, чем использование командной строки. Также встроенная функция слияния идеи часто создает мусор.
правда. У меня было много проблем с интеграцией Subversion в intellij 9
Только eclipse позволяет выполнять сборку муравья в отладчике.
Кажется, больше не является отличительной чертой: plugins.intellij.net/plugin/?idea&id=4526
Насколько я знаю, в IntelliJ нет альтернативы отличному плагину задач Eclipse Mylyn.
В IntelliJ 9 и выше есть управление задачами: blogs.jetbrains.com/idea/2009/05/… Но это может быть не совсем то же самое, что и Mylyn ... что может быть плохо ... или хорошо :) В зависимости от того, что вам нужно.
Новое управление задачами действительно хорошее. Этот ответ больше не действителен :)
@SamBeran Боюсь, ответ все еще в силе. Регулярно используя как Eclipse, так и IntelliJ IDEA, я могу сказать, что, к сожалению, управление задачами в IntelliJ IDEA далеко от Mylyn.
@SamBeran Пожалуйста, поправьте меня по этому поводу. Однако кажется, что вся концепция контекста задачи IJ - это только то, какие вкладки нужно открывать. Кажется, он не фильтрует файлы, показанные на боковой панели проекта, или не имеет какой-либо другой контекстной фильтрации, которая делает Mylyn полезным. Надеюсь, я ошибаюсь, потому что хочу использовать IJ по другим причинам.
Я не использую его в задачах в IDEA, просто посмотрел на них и оказался не хуже Mylyn. Я отказываюсь от своего предыдущего утверждения и принимаю информацию других комментаторов, а не мою.
Самым большим раздражением, которое я обнаружил (используя оба), является то, что в Eclipse я могу создавать задачи Ant Launch. Эти задачи позволяют мне запускать одну и ту же задачу ant в одном файле сборки, используя разные наборы свойств / аргументов, без необходимости каждый раз редактировать.
В IDEA свойства устанавливаются для всего файла сборки. Таким образом, вы не только не можете запускать одну и ту же задачу муравья с разными свойствами без редактирования, но и не можете запускать разные задачи муравья с разными свойствами, если они не находятся в разных файлах сборки.
Вы можете добавить один и тот же файл сборки Ant несколько раз в окно IntelliJ «Сборка Ant» и установить разные свойства (alt + enter) для этих разных экземпляров одного и того же файла. Например, я создал простой файл сборки муравья с целью, которая просто повторяет свойство, затем установил для свойства значение «Hi» в одном экземпляре и «Hello» в другом. Запуск одной и той же цели «приветствия» дает разные результаты в зависимости от того, какой экземпляр запущен. Будет ли это охватывать упомянутый вами сценарий?
Может быть! Я больше не нахожусь в месте, которое предоставляет IDEA, поэтому я использую Eclipse по умолчанию, но я буду иметь это в виду, спасибо!
Idea не имеет плагина пускает слюни, а внешние редакторы (например, Excel) сложно интегрировать.
Мое любимое небольшое раздражение в IDEA (и любимая небольшая функция в Eclipse) - это расположение символа при вводе открывающей фигурной скобки (например, "{") или точки с запятой. Вам нужно будет включить его в Eclipse (Window / Preferences / Java / Editor / Typing: «Автоматически вставлять в правильную позицию: точка с запятой, фигурные скобки»)
С этим просто напечатайте вперед ("|" - позиция курсора)
while(|
результаты (пока нет магии) в
while(|)
теперь введите правда{, в результате
while(true) {|
Такой простой, но такой мощный.
Кроме того, в (например)
System.out.println("Hello world")
с кареткой в любом месте в этой строке, ввод точки с запятой автоматически вводит ее в конец строки. Backspace исправляет, как и обычная автокоррекция в вашем любимом текстовом редакторе.
Бесценно. Я физически больше не могу ввести точку с запятой в правильном месте с первой попытки :)
Вы хотите попробовать CTRL-SHIFT-ENTER в IDEA. Он завершит строку в обоих случаях.
Спасибо, это было новостью для меня - хотя я не могу понять все эти комбинации клавиш, которые используются в идеях. ';' и '{' являются так гораздо более интуитивно понятными. На следующей неделе буду работать над идеей и постараюсь вспомнить ... ;-)
Что делать, если вы хотите вставить; в строке?
Если вы хотите вставить; в строке просто нажмите клавишу возврата, как в OpenOffice, Word или других. Это вернет автокоррекцию. Подавляющее большинство моих точек с запятой (на несколько порядков) заканчивают строку, поэтому я очень доволен этим.
В некотором смысле Eclipse имеет больше комбинаций клавиш в этом случае :) IntelliJ использует crtl + shift + enter для всех операций «Complete Statement» (как и в обоих приведенных выше примерах), тогда как Eclipse использует разные ключи в каждом примере. Что проще? Думаю, это зависит ... в приведенных выше примерах ярлыки Eclipse находятся очевидны, поэтому я согласен, что они более интуитивно понятны. Однако IntelliJ использует один и тот же ярлык независимо - поэтому, даже если это не очевидно, есть только один ярлык, который нужно знать.
@ckeh: В Eclipse это не ярлык, а символ, который вы хотите ввести. Поправляется просто положение.
Я отказался от студии Android после нескольких дней пробного использования этой функции ... Я слишком ленив?
В eclipse можно раздражаться, создав область редактирования 10x10 (столбцы / строка) и одновременно просматривая все другие окна.
В IntelliJ это невозможно, так как клавиша ESC закроет их все.
Хорошо, хорошо, извини, я должен это сделать, пристрели меня сейчас
Вы можете просто дважды щелкнуть строку заголовка области редактора в Eclipse, и она развернет ее, отправив другие окна во всплывающие папки сбоку.
Использование ctrl + M в Eclipse также должно давать то же самое, что и двойной щелчок, если вы предпочитаете сочетания клавиш.
Открытый характер платформы Eclipse способствует процветанию сообщества разработчиков плагинов. Доступно множество плагинов для всех видов задач.
Вопрос касался того, что возможно в Eclipse, что невозможно в IDEA. Вы имеете в виду, что писать плагины для IDEA невозможно?
Я имею в виду, что плагинов для Eclipse гораздо больше, чем для IDEA.
Я считаю количество плагинов прямой выгодой. Некоторые функции, доступные в Eclipse в виде плагинов (например, улучшенная поддержка JS), встроены в IDEA.
Вероятно, было бы полезно проверить, есть ли в одной из IDE функция, которая вам нужна, которой нет в другой - будь то плагин или нет. Без конкретных примеров количество может означать, что есть несколько дубликатов, а не отсутствуют фактические задачи. Кроме того, как отмечает Павел, некоторые функции встроены в IntelliJ (как «связанные» плагины), поэтому нет необходимости приобретать плагин отдельно. Я подозреваю, что то же самое можно сказать и о Ecplise. plugins.intellij.net
В eclipse вы можете развернуть редактор, а в IntelliJ вы можете щелкнуть escape, что имеет аналогичную функциональность. Но в затмение можно восстановить. В IntelliJ нет эквивалента «un-maximize», что еще более расстраивает.
Тот же самый ярлык, который использовался для разворачивания редактора, может быть использован и для того, чтобы «развернуть» редактор впоследствии.
Это неверно. crtl + shift + F12 переключает между развернутым редактором и тем, что было в предыдущем состоянии (как я полагаю, Рубен заявляет, но, если быть более точным, с ярлыками).
Меню: Окно -> Скрыть все _W_indows (или Восстановить _W_indows) в зависимости от того, в каком состоянии вы находитесь.
Следует отметить: я имею в виду меню и ярлыки IntelliJ. ;)
Я имел в виду двойной щелчок по вкладке. Однако похоже, что это реализовано в IntelliJ 10.
Мои любимые функции Eclipse:
Начиная с Eclipse 3.3 (но это можно сделать до использования плагин), вы можете автоматически выполнять действия при сохранении файла Java:
Это можно настроить в Настройки> Java> Редактор> Сохранить действия.
IntelliJ можно настроить на оптимизацию импорта на лету, добавление однозначного импорта на лету. При сохранении форматирование другое - в IntelliJ это «При фиксации»: см. stackoverflow.com/questions/3707316/…
В целом у меня был хороший опыт работы с обеими IDE, так что в обеих есть много хороших функций. В IDEA 9_0_3 я столкнулся со странной проблемой при работе с SVN. Я могу видеть историю изменений в представлении репозитория, но он ничего не показывает как входящие изменения, что расстраивает. Альтернативой является обновление каталогов, которые приносят последнюю версию, но без какого-либо выбора .. она получает все
Я не могу понять, как автоматически добавлять 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.
Я подытожил свой сравнение Eclipse 3.6 и IntelliJ 10.5 в блоге (больше сосредоточился на том, что мне нравится во II или что мне там не хватает по сравнению с Eclipse)
Хорошее резюме. Я использую IntelliJ около 3 лет и никогда не вернусь к Eclipse. Я думаю, что ваши опасения по поводу производительности легко решить, если немного скорректировать рабочий процесс. В Eclipse вы должны часто нажимать ctrl + S, чтобы сохранить файлы и принудительно выполнить компиляцию. В IntelliJ вам никогда не нужно сохранять файлы, но вам нужно принудительно выполнить компиляцию. Просто замените привычку нажимать ctrl + S на ctrl + f9, что и сделает проект. Вы обнаружите, что рабочий процесс и скорость почти равны, а IntelliJ может быть немного быстрее.
SO не предназначен для обмена ссылками, вы должны процитировать некоторые моменты.
Инкрементальный компилятор Eclipse позволяет запускать модульные тесты даже если есть ошибки компилятора в несвязанном коде. IntelliJ полагается на javac, который не испускает байт-код, если весь код не действителен.
IntelliJ уже довольно давно предоставляет возможность использования компилятора Eclipse или AJC. (Настройки> Компилятор> Компилятор Java> раскрывающийся список Использовать компилятор)
Означает ли это, что даже разработчики Idea знают, что Eclipse лучше составление?
Вау, мне так не хватало этой функции в IDEA, но вот она. И даже не стесняются называть это "компилятором Eclipse", сними шляпу :)
Я попытался перейти на IntelliJ из-за новой Android Studio. Но сейчас я очень разочарован. Я использую Eclipse с подключаемым модулем Рекомендации по коду. Вот простой пример, почему Eclipse такой классный:
Я хочу создать новый SimpleTimeZone. SimpleTimeZone не имеет конструктора с нулевыми аргументами.
Ctrl + Пробел в Eclipse

Ctrl + Пробел в IntelliJ

В IntelliJ я не получаю информации о том, какие конструкторы у SimpleTimeZone.
После входа в Eclipse

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

или попробуйте что-нибудь простое. Тип
syso<Ctrl+Space>
Затмение: System.out.println()
IntelliJ: syso
Intellij: sout <tab> -> System.out.println () или soutp, или soutv, или многие другие. Настройки -> Live TEmplates -> вывод для списка.
Ctrl + P в intellij покажет параметры для метода, но не будет автоматически заполняться, как eclipse!
Мммм ... получить IntelliJ бесплатно для "индивидуальных разработчиков"? ;)