it-swarm.com.ru

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

Я слышал от людей, которые перешли в ту или иную сторону и которые клянутся тем или другим.

Будучи большим поклонником Eclipse, но не имея времени опробовать IntelliJ, мне интересно услышать от пользователей IntelliJ, которые являются "бывшими Eclipsians", некоторые конкретные вещи, которые вы можете делать с IntelliJ, которые вы не можете делать с Eclipse.

Примечание: Это не субъективный вопрос и вовсе не должен превращаться в IDE священную войну. Пожалуйста, приглушите ответы на все вопросы о приманке .

366
Epaga

CTRL-клик работает где угодно

CTRL-щелчок, который приводит вас к тому месту, где определен объект, по которому щелкают, работает везде - не только в Java классах и переменных в Java коде, но и в конфигурации Spring (вы можете нажать на имя класса, или свойство, или имя компонента), в Hibernate (вы можете щелкнуть имя или класс свойства или включенный ресурс), вы можете перемещаться в пределах одного клика из класса Java, где он используется как компонент Spring или Hibernate. ; щелчок по включенному тегу JSP или JSTL также работает, нажатие Ctrl при нажатии на переменную или функцию JavaScript возвращает вас к определенному месту или показывает меню, если имеется более одного места, включая другие файлы .js и код JS в HTML или JSP. файлы.

Автозаполнение для многих языков

Hibernate

Автозаполнение в выражениях HSQL, в конфигурации Hibernate (включая имена классов, свойств и столбцов БД), в конфигурации Spring

<property name="propName" ref="<hit CTRL-SPACE>"

и он покажет вам список бобов, которые вы можете добавить в это свойство.

Java

Очень умное автозаполнение в коде Java:

interface Person {
    String getName();
    String getAddress();
    int getAge();
}
//---
Person p;
String name = p.<CTRL-SHIFT-SPACE>

и он показывает вам только getName (), getAddress () и toString () (только они совместимы по типу) и getName () является первым в списке, потому что у него есть более подходящее имя. Последняя версия 8, которая все еще находится в EAP, имеет еще более умное автозаполнение.

interface Country{
}
interface Address {
    String getStreetAddress();
    String getZipCode();
    Country getCountry();
}
interface Person {
    String getName();
    Address getAddress();
    int getAge();
}
//--- 
Person p;
Country c = p.<CTRL-SHIFT-SPACE>

и он автоматически завершит его

Country c = p.getAddress().getCountry();

Javascript

Умное автозаполнение в JavaScript.

function Person(name,address) {
    this.getName = function() { return name };
    this.getAddress = function() { return address };
}

Person.prototype.hello = function() {
    return "I'm " + this.getName() + " from " + this.get<CTRL-SPACE>;
}

и он показывает ТОЛЬКО getName () и getAddress (), независимо от того, как можно получить методы *, которые есть у вас в других объектах JS в вашем проекте, и нажать Ctrl + - this.getName () приведет вас туда, где это определено, даже если в вашем проекте есть другие getName () функции.

HTML

Я упоминал автозаполнение и нажатие Ctrl в путях к файлам, таким как <script src = "", <img src = "" и т.д.?

Автозаполнение в атрибутах HTML-тегов. Автозаполнение в стиле атрибута тегов HTML, как имен атрибутов, так и значений. Автозаполнение в атрибутах класса.
Введите <div class = "<CTRL-SPACE>, и он покажет вам список классов CSS, определенных в вашем проекте. Выберите один из них, щелкните его, удерживая клавишу Ctrl, и вы будете перенаправлены туда, где он определен.

Легкое выделение языка

В последней версии есть внедрение языка, поэтому вы можете объявить, что ваш пользовательский тег JSTL обычно содержит JavaScript, и он будет выделять JavaScript внутри него.

<ui:obfuscateJavaScript>function something(){...}</ui:obfuscateJavaScript>

Индексированный поиск по всему проекту.

Вы можете использовать Find Usages любого Java класса или метода, и он найдет, где он используется, включая не только Java классы, но и Hibernate, Spring, JSP и другие места. Переименование метода с рефакторингом переименовывает метод не только в классах Java, но и в любом месте, включая комментарии (не может быть уверенности, что строка в комментариях действительно является именем метода, поэтому он спросит) И он найдет только ваш метод, даже если есть методы другого класса с таким же именем. Хорошая интеграция с системой контроля версий (поддерживает ли SVN списки изменений? IDEA поддерживает их для каждого элемента управления версиями), возможность создавать патч с вашими изменениями, чтобы вы могли отправлять свои изменения другому члену команды без их фиксации.

Улучшенный отладчик

Когда я смотрю на HashMap в окне просмотра отладчика, я вижу логическое представление - ключи и значения, в прошлый раз, когда я делал это в Eclipse, он показывал записи с хешем и следующими полями - я на самом деле не отлаживаю - HashMap, я просто хочу посмотреть его содержимое.

Проверка конфигурации Spring & Hibernate

Он проверяет конфигурацию Spring и Hibernate прямо при редактировании, поэтому мне не нужно перезагружать сервер, чтобы узнать, что я неправильно написал имя класса или добавил параметр конструктора, чтобы мой Spring cfg был недействительным.

В прошлый раз я не смог запустить Eclipse в Windows XP x64.

и он предложит вам person.name или person.address. Нажмите Ctrl + на person.name, и вы перейдете к getName () методу Person класса.

Введите Pattern.compile(""); положить \\ туда, нажмите CTRL-SPACE и посмотрите полезный совет о том, что вы можете вставить в свое регулярное выражение. Вы также можете использовать инъекцию языка здесь - определите свой собственный метод, который принимает строковый параметр, объявите в диалоге опций IntelliLang, что ваш параметр является регулярным выражением - и он также даст вам автозаполнение. Излишне говорить, что это подчеркивает неправильные регулярные выражения.

Другие преимущества

Есть несколько функций, которые я не уверен, есть в Eclipse или нет. Но, по крайней мере, каждый член нашей команды, который использует Eclipse, также использует какой-то инструмент слияния для объединения локальных изменений с изменениями из системы контроля версий, обычно WinMerge. Мне это никогда не нужно - мне достаточно слияния с IDEA. В 3 клика я вижу список версий файлов в системе контроля версий, еще в 3 клика я могу сравнить предыдущие версии или предыдущую и текущую и, возможно, объединить.

Он позволяет указать, что мне нужны все файлы .jars в папке WEB-INF\lib, не выбирая каждый файл отдельно, поэтому, когда кто-то фиксирует новый файл .jar в эту папку, он автоматически его забирает.

Упомянутое выше, вероятно, составляет 10% от того, что он делает. Я не пользуюсь Maven, Flex, Swing, EJB и многими другими вещами, поэтому не могу сказать, как это помогает с ними. Но это так.

185
Pavel Feldman

Есть только одна причина, по которой я использую intellij, а не Eclipse: Удобство использования

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

81
amit

Вероятно, дело не в том, что что можно/нельзя сделать, но как.

Например, у обоих есть редактор, окруженный док-панелями для проекта, пути к классам, выходных данных, структуры и т.д. Но в Idea, когда я начинаю печатать все эти свертки, автоматически позвольте мне сосредоточиться на самом коде; В Eclipse все эти панели остаются открытыми, оставляя мою область редактора очень уменьшенной, около 1/5 от общей видимой области. Поэтому мне нужно схватить мышь и щелкнуть, чтобы свернуть эти панели. Делать это целый день - очень разочаровывающий опыт в Eclipse.

Совершенно противоположное происходит с окном вывода вида. В Idea запуск программы выводит окно/панель вывода, чтобы увидеть результат работы программы, даже если он был явно свернут. В Eclipse мне снова нужно схватить мышь, найти вкладку вывода и щелкнуть по ней, чтобы просмотреть вывод моей программы, потому что окно вывода/панель просто другое, как и все остальные окна, но в Idea это рассматривается в особым образом: "Если пользователь хочет запустить свою программу, очень вероятно, что он хочет увидеть результаты этой программы!" Когда я пишу это, это кажется естественным, но Eclipse не работает в этой базовой концепции пользовательского интерфейса.

Возможно, для этого есть ярлык в Eclipse (окно вывода с автоматическим скрытием при редактировании и автоматическое отображение его при запуске программы), но, как и с некоторыми другими десятками функций, ярлык должен быть найден в форумах, онлайн-справке и т.д., А в Idea немного больше " естественно".

Это можно повторить почти для всех функций, включая автозаполнение, перенос слов, быстрый просмотр документации, все. Я думаю, что пользовательский опыт гораздо приятнее в Idea, чем в Eclipse. Тогда сбудется девиз "Развивайся с удовольствием"

Eclipse быстрее обрабатывает большие проекты (+300 банок и +4000 классов), и я думаю, что IntelliJ Idea 8 работает над этим.

Все это, конечно, субъективно. Как мы можем измерить пользовательский опыт?

54
OscarRyz

Идея 8.0 имеет прекрасный ctrl+shift+space х 2, что делает следующее автозаполнение:

 City city = customer.<ctrl-shift-space twice>

решает в

 City city = customer.getAddress().getCity();

через любое количество уровней геттеров/сеттеров.

45
krosenvold

Не забудьте "сравнить с буфером обмена".

То, что я все время использую в IntelliJ и которое не имеет аналогов в Eclipse.

33
Daniel Alexiuc

Мой любимый ярлык в IntelliJ, который не имеет эквивалента в Eclipse (который я нашел), называется "Перейти к символу". CTRL-ALT-SHIFT-N позволяет начать вводить и выводить классы, имена методов, имена переменных и т. д. из всего проекта.

31
Paul Morie

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

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

Ctrl + Space в затмении

enter image description here

Ctrl + Space в IntelliJ

enter image description here

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

После Enter в затмении

enter image description here

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

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

enter image description here

27
passsy

Если у вас есть курсор на метод, то CTRL+SHIFT+I появится всплывающее окно реализации метода. Если метод является методом interface, вы можете использовать стрелки вверх и вниз для циклического перебора реализаций:

Map<String, Integer> m = ...
m.contains|Key("Wibble");

Где | находится (например), где находится ваш курсор.

25
oxbow_lakes

IntelliJ имеет несколько довольно продвинутых проверок кода (сравнимых, но отличающихся от FindBugs).

Хотя я серьезно скучаю по плагину FindBugs при использовании IntelliJ (интеграция Eclipse/FindBugs довольно крутая).

Здесь это официальный список CodeInspections, поддерживаемых IntelliJ

Правка: наконец, есть findbugs-плагин для IntelliJ. Это все еще немного бета, но комбинация Code Inspections и FindBugs просто потрясающая!

24
Mo.

Куда, куда, намного больше рефакторингов.

16
Tom

Есть много вещей, которые идея решает намного проще, или нет эквивалента:

  • Автозаполнение действий: выполнение ctrl+shift+a Вы можете вызвать любое действие с клавиатуры, не вспоминая его комбинацию клавиш ... Подумайте о gnome-do или запуске в Windows, и у вас есть идея! Также эта функция поддерживает сокращения CamelCasing;)

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

  • Местная история: гораздо лучше управляемый и простой.

  • Аннотации и история SVN: проще проверять, а также вы можете легко просматривать историю только для такой части всего исходного файла.

  • Автозаполнение везде, например, в окне оценки выражения и состояния точки останова.

  • Интеграция Maven ... намного, намного проще и хорошо интегрирована.

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

  • Найти много мощных и хорошо организованных. Даже в больших проектах

  • Гораздо стабильнее для работы с несколькими ветками большого проекта одновременно (как бывший исправитель 1.5Gb по источникам веток и необходимость одновременной работы в них, идея показала его отличные возможности)

  • Более понятный и простой интерфейс ...

  • И проще в использовании только с клавиатурой, избавляя от необходимости использовать мышь для множества простых операций, экономя ваше время и давая вам больше внимания к коду ... где это важно!

И теперь, будучи открытым исходным кодом ... пользовательская база Idea будет расти в геометрической прогрессии.

15
Serginho

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

Например, точка останова может не останавливаться, а просто записывать сообщение в консоль. Это означает, что мне не нужно засорять мой код "System.out.println (...)", а затем перекомпилировать.

15
jgindin

Структурный поиск и замена.

Например, найдите что-то вроде:

  System.out.println($string$ + $expr$);

Где $ string $ это литерал, а $ expr $ это выражение типа my.package.and.Class, а затем заменить на:

  $expr$.inspect($string$);
14
Darron

Мое время может быть немного не так с точки зрения этой темы, но я просто должен был ответить.

Я большой поклонник Eclipse - использую его с первого появления. Друг сказал мне тогда (10+ лет назад), что это будет игрок. Он был прав.

Тем не мение! Я только начал использовать IntelliJ, и если вы еще не видели или не использовали группы изменений - вы упускаете возможность программировать рай.

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

Кроме того, существует плагин Commit Log, который выводит текст всех изменений для тех SCCS, которые не интегрированы с вашим программным обеспечением для отслеживания ошибок. При вставке журнала в историю работы заявки фиксируются файлы, их версия, дата/время и ветка/теги. Это чертовски круто.

Могу поспорить, что все это может быть поддержано с помощью плагинов (или будущих улучшений) в Eclipse; тем не менее, Intellij делает это бризом.

Наконец, я действительно взволнован основной любовью к этому продукту - нажатия клавиш, так что это больно, но весело.

13
G Craig

Отладчик IntelliJ имеет очень удобную функцию, называемую "Evaluate Expression", которая намного лучше, чем подвеска Eclipses. У этого есть полное завершение кода, и я полагаю, что это вообще "более полезно".

12
Mo.

Ну, для меня это тысячи крошечных вещей. Некоторые макросы, макет GUI в целом в Eclipse я нахожу ужасным. Я не могу открыть несколько проектов в разных окнах в Eclipse. Я могу открыть несколько проектов, но тогда система, основанная на представлении, меняет на меня кучу вещей, когда я переключаю файлы. Проверки кода IntelliJ кажутся лучше. Его всплывающие подсказки для исправления общих проблем - это Nice. Множество простых в использовании вещей, таких как боковая панель, где я могу навести курсор на горячую точку, и она расскажет мне о каждом реализующем подклассе метода или метода, который я реализую, и откуда.

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

11
Chris Kessel

Введите переменную. (Ctrl+Alt+V в Windows, Cmd+Alt+V на OSX)

Допустим, вы вызываете метод service.listAllPersons() Hit Ctrl+Alt+V а также Enterи переменная для возвращаемого значения из вызова метода вставляется:

List<Person> list = service.listAllPersons();

Сохраняет ваш ввод, и вам не нужно проверять тип возврата метода, который вы вызываете. Особенно полезно при использовании дженериков, например.

new ArrayList<String>()

[ввести переменную]

ArrayList<String> stringArrayList = new ArrayList<String>();

(конечно, вы можете легко изменить имя переменной, прежде чем нажать Enter)

9
rlovtang

IntelliJ имеет поддержку intellisense и рефакторинга из кода в документы jspx.

8
krosenvold

Для меня это поддержка IDEA maven, особенно в 9-й версии. Синхронизация проекта на лету с моделью "на лету" просто фантастическая и делает разработку приятной.

7
mdma

Intellij имеет гораздо лучший плагин SVN, чем Subversive или Subclipse, и он работает! Количество времени, которое мы потратили на слияние исходных файлов с использованием Eclipse, не имеет значения. Это не проблема с IntelliJ, потому что плагин поможет вам гораздо больше.

Также плагин Subclipse ненадежен - у нас регулярно бывают случаи, когда плагин не думает, что какой-либо код был зарегистрирован в SVN другими разработчиками, но есть - сервер CI обработал их!

6
Tony Ruddock

Одним из хороших моментов, на мой взгляд, является Матрица структуры зависимостей : http://www.jetbrains.com/idea/features/ dependency_analysis.html # link

Хорошее введение в использование и преимущества DSM на веб-сайте Lattix (автономный продукт): http://www.lattix.com/files/dl/slides/s.php?directory=4tour

4
Herrmann

VIM Эмулятор. Этот плагин обеспечивает почти полную эмуляцию vi/vim/gvim при редактировании файлов в IDEA. Поддерживаются следующие функции:

  • Клавиши движения
  • Удаление/Изменение
  • Команды режима вставки
  • Метки
  • Регистры
  • VIM отменить/повторить
  • Команды визуального режима
  • Некоторые команды Ex
  • Некоторые: установить параметры
  • Полные VIM регулярные выражения для поиска и поиска/замены
  • Макрос
  • Diagraphs
  • История командной строки
  • История поиска
  • Jumplists
  • VIM помощь

некоторые комментарии об этом плагине от http://plugins.jetbrains.net/plugin/?id=164

4
Maciek Kreft

Несколько других вещей:

  • распространять параметры/исключения при изменении сигнатуры метода, что очень удобно для обновления методов глубоко внутри стека вызовов
  • Проверка кода SQL в строках, переданных в качестве аргументов для вызовов jdbc (и всего нового встроенного языка внедрения)
  • реализовано в/перезаписано в значках для интерфейсов и классов (и их методов) и для интеллектуальной реализации навигации (Ctrl + Alt + Click или Ctrl + Alt + B)
  • связь между интерфейсами EJB 2.1 и классами компонентов (включая поддержку рефакторинга); старый, но все еще очень ценный при работе над старыми проектами
3
Andrei

IntelliJ делает две вещи, которые Eclipse не делает, которые очень ценны для меня:

Разделители методов: эти слабые серые линии между методами делают код много более читабельным

Сглаживание текста: код выглядит так красиво в IDE

2
yalestar

Преамбула к моему ответу: мое использование Eclipse ограничено. Нам нужно было Java IDE для работы на Windows и Mac, и порт Mac замедлялся день ото дня. Это было много лет назад, и я уверен, что теперь все в порядке. Но это то, что заставило нас перейти на IntelliJ, и мы были рады этому.

Теперь мой ответ: одна большая разница, о которой я еще не упоминал, заключается в том, что техническая поддержка лучше с IntelliJ/Jet Brains. Мы отправляем электронное письмо в JetBrains и получаем окончательный ответ менее чем за час. Поиск ответов на проблемы Eclipse приводит к обычным ответам "Ты глупый идиот" (обычно небольшое количество ответов) вместе с гораздо большим количеством проницательных, полезных ответов. Но чтобы получить реальный ответ, нужно немного разобраться.

2
Jim Dodd

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

НО, есть одна вещь, которую intellij не позволяет, что делает Eclipse. Он не позволяет запускать сразу несколько проектов под одним и тем же vm.

Когда у вас есть отдельные проекты для front, middle, core, agent..etc, где они все должны взаимодействовать друг с другом, вы не можете быстро изменять и отлаживать одновременно, афаик. Единственный способ справиться с этим в настоящее время - использовать ant-скрипты для развертывания и обновления jar-файлов в зависимых проектах или использовать maven.

Eclipse позволяет отлаживать несколько проектов в одном экземпляре ide vm.

2
blicket

Одна очень полезная функция - это возможность частично построить проект реактора Maven, чтобы в него входили только те детали, которые вам нужны.

Чтобы сделать это немного понятнее, рассмотрим случай, когда коллекция файлов WAR со множеством общих ресурсов (например, JavaScript, файлы конфигурации Spring и т.д.) Распределяется между ними с помощью метод наложения . Если вы работаете над какой-либо веб-страницей (запущенной в Jetty) и хотите изменить часть оверлейного кода, который хранится в отдельном модуле, то обычно вы ожидаете, что вам придется остановить Jetty, запустить сборку Maven, запустить Jetty снова и Продолжить. Так обстоит дело с Eclipse и практически со всеми остальными IDE, с которыми я работал. Не так в IntelliJ. Используя настройки проекта, вы можете определить, какой аспект какого модуля вы хотите включить в фоновую сборку. Следовательно, вы получите процесс, который выглядит безупречно. Вы вносите изменения практически в любой код проекта, и он сразу становится доступным после обновления браузера.

Очень аккуратно и очень быстро.

Я не мог себе представить кодирование внешнего интерфейса в чем-то вроде YUI с резервированием на DWR/SpringMVC без него.

2
Gary Rowe

Анализ потока данных : межпроцедурный анализ обратного потока и анализ прямого потока, как описано здесь . Мой опыт основан на Community Edition, которая довольно хорошо анализирует потоки данных. Он потерпел неудачу (отказался что-либо делать) в нескольких случаях, когда код очень сложный.

2
Ville Laitila

То, что я все время использую в IntelliJ, - это рефакторинг, когда я печатаю. Я переписал классы из распечатки (первоначально написанной в Eclipse), используя обе IDE, и я использовал примерно на 40% меньше нажатий клавиш/щелчков мыши, чтобы написать те же классы в IntelliJ, что и Eclipse.

Я не хотел бы использовать Eclipse, пока они не поддерживают столько же рефакторинга с неполными частями кода.

Вот более длинный список функций IntelliJ 8.0/8.1 [ http://www.jetbrains.com/idea/features/index.html]

2
Peter Lawrey

Есть одна вещь, что IntelliJ делает намного лучше, чем Eclipse, и это пустые карманы!

Однако я предпочитаю использовать его, и одним из его больших преимуществ по сравнению с Eclipce является то, как он синхронизируется с файловой системой, для больших проектов и медленных компьютеров (да, в рабочих средах ПК намного медленнее, чем у нас дома), кажется, Eclipse бороться, где IntelliJ кажется более быстрым, хотя и с более медленным начальным временем индексации.

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

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

Но давайте будем благодарны, что у нас есть до трех отличных IDE для Java прямо сейчас, и NetBeans постоянно улучшается.

2
Shawn Vader

На данный момент это единственное окно, в котором вкладки могут быть вырваны в другое окно. Удобно, когда у вас есть больше экранов.

1
Scoobie

Недавно я обнаружил по крайней мере два преимущества IntelliJ IDEA по сравнению с Eclipse.

Если кто-то пытается использовать форматирование кода в редакторе кода JSP, скриптлеты JSP ломаются. Затмение становится немного сумасшедшим, оно рекламирует случайные фрагменты кода тут и там. IDEA ведет себя очень хорошо.

Другое дело скорость развертывания приложения на сервере JBoss. IntelliJ заменяет приложение в папке tmp JBoss, поэтому перераспределение действительно быстрое. Eclipse WTP заменяет приложение в папке развертывания, что, как оказалось, длится гораздо дольше.

1
Piotr Kochański

Я не помню, возможно ли в Eclipse перенос слов/строк/методов/классов

В Intellij Idea вы используете Ctrl+W

0
OscarRyz

Откройте проект из Maven POM. Просто выберите "Открыть проект ...", перейдите на верхний уровень pom.xml и нажмите Enter. Теперь в NetBeans также есть эта функция.

0
rlovtang

Извините, если это уже освещено, но просто наличие вкладки "Изменения" там, где я могу видеть свои локальные изменения, входящие изменения, удаленные изменения - это просто то, без чего я не могу жить. В Eclipse я не могу найти такие особенность!

Также просто простая вещь, такая как средний щелчок, который привязывается к "открытому объявлению", является отличным дополнением пользовательского интерфейса - то, что я также не вижу реализованным в Eclipse.

На моем рабочем месте есть только Eclipse, но я серьезно думаю о покупке личной лицензии Idea ....

0
ustad

В IntelliJ можно пролистать историю последних мест, отредактированных с помощью "Last Edit Location". Eclipse имеет аналогичную функцию, но Eclipse возвращается только на один уровень места редактирования.

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

0
TomW

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

Я большой поклонник Netbeans и Eclipse и использую оба в течение многих лет. Они являются отличными инструментами, и в зависимости от того, что вы делаете, вы можете выбрать один или другой.

Тем не менее, около шести месяцев назад, работая над сложным веб-проектом Java, включающим много javascript-кода для пользовательского интерфейса HMT5, я был вынужден искать альтернативы Eclipse из-за ошибки автозаполнения js. Я был настолько отчаянным, что подумывал вернуться к простому текстовому редактору для моего кода js !!!

Только по счастливой случайности я наткнулся на Intellij Idea (к сожалению, нет времени на изучение инструментов).

Несмотря на то, что требуется некоторое время, чтобы привыкнуть к способу выполнения вещей Idea, за исключением особых функций, повышение производительности, которое оно предлагает за счет небольших вещей слева и справа, является, на мой взгляд, самым большим преимуществом. Это просто работает лучше для меня, и теперь я платный клиент Idea Ultimate. Как только вы к этому привыкнете, очень трудно вернуться к чему-либо еще.

Ничто не может быть лучше, и я большой поклонник открытого кода, но, в конце концов, если вы зарабатываете на жизнь, способность делать вещи быстрее окупается каждый раз.

0
CuNimb

Я думаю, что вы можете придерживаться любой из этих IDE. Лучшим признаком того, чтобы не "беспокоиться о том, чтобы не упустить гигантскую выгоду в IDE, которую вы не используете", являются очень длинные споры, которые мы видели между поклонниками Eclipse и поклонниками IntelliJ. Это хороший признак того, что обе стороны имеют почти одинаковую силу, которая привела к длительному обсуждению.

0
Ali Motevallian