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

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

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

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

stackoverflow.com/questions/461255/…
Instantsoup 20.01.2009 18:11

Я перешел от Eclipse к Netbeans и к IntelliJ rubyMine, и каждый из них был «шагом вперед» по сравнению с предыдущим. Я не видел, что конкретно (следовательно, это не ответ), так как это было какое-то время, но самым большим скачком стал rubyMine, который был просто более «интегрированным» и, казалось, имел больше функциональности и представлял вещи в более легком использовать путь. Также казалось, что он справляется с проблемами драгоценных камней, зависимостями и т.п. лучше, чем другие.

junky 03.05.2012 21:09

Я хочу переключиться с intelliJ на Eclipse (из-за разработки Android), поэтому вопросы и ответы этого типа очень полезны.

chrome 08.01.2013 12:30

@chrome Android теперь переключается в другую сторону: developer.android.com/sdk/installing/studio.html

Daniel Alexiuc 22.05.2013 10:04

У меня есть столько сообщений, сколько я могу, и все ответы указывают на то, что действительно можно сделать, затмение, иногда проще ИМХО. Я хочу чувствовать себя так, как будто я получил свои деньги с помощью intellij, но единственной причиной, по которой я его купил, было автозаполнение Javascript. Я мог бы просто купить webstorm подешевле, если бы это все, что у меня есть. Вероятно, существует плагин eclipse, который делает то же самое. Честно говоря, я думаю, что затмение более последовательное, и мне не хватает функции «Перспективы».

dres 26.10.2013 18:04
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
365
5
235 164
40

Ответы 40

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

Не могли бы вы пояснить, что вы подразумеваете под intellisense? Eclipse также имеет автозаполнение, но вы имеете в виду что-то другое?

Epaga 27.10.2008 15:52

Eclipse не имеет автозаполнения в документах jspx AFAIK. В обычном jsp да, в jspx нет.

krosenvold 28.10.2008 00:03

Он означает, что если у вас есть JSP, который ссылается на свойство в POJO, и вы переименовываете свойство, ваш JSP обновляется правильно. Поддержка JSP IntelliJ запускает Eclipse / WTP!

erickson 28.10.2008 00:03

Я не могу заставить автоматическое завершение Eclipse работать с выражениями JSP EL, точка. JSP или JSPX, это не имеет значения, это просто невежество. IntelliJ обрабатывает tagx и jspx так, как и следовало ожидать: как тег или файл jsp.

erickson 28.10.2008 00:04

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

krosenvold 01.11.2008 00:03

Отладчик IntelliJ имеет очень удобную функцию под названием «Оценить выражение», которая намного лучше, чем подвеска eclipses. Он имеет полное автозавершение кода, и я считаю его в целом «более полезным».

Eclipse также имеет оценщик выражений, который предлагает автозавершение кода. Перейдите в Window -> Show View -> Debug -> Display При остановке в точке останова в отладчике вы можете оценивать произвольные выражения в этом представлении Display.

laz 27.10.2008 17:56

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

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

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

Обновлено: Наконец, есть findbugs-plugin для IntelliJ. Это все еще небольшая бета-версия, но комбинация проверки кода и поиска ошибок просто потрясающая!

да, findbugs - один из немногих статических анализаторов кода, который действительно находит практические добросовестные ошибки. :)

Epaga 27.10.2008 16:16

У вас есть конкретный пример проверки кода? Какие вещи он может обнаруживать?

Epaga 27.10.2008 16:27

Еще ссылка про проверки: hamletdarcy.blogspot.com/2008/04/…

Mo. 27.10.2008 16:59

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

Peter Lawrey 07.02.2009 12:25

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

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

Наверное дело не в какие можно / нельзя, а в как.

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

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

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

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

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

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

в eclipse вы можете нажать control-m, чтобы минимизировать / максимизировать окно редактирования, или дважды щелкнуть его вкладку редактора - это очень помогает

Scott Stanchfield 03.11.2008 20:28

Вау ... большое спасибо. Было бы очень полезно, если бы у eclipse был способ, которым я это знаю (помимо чтения шпаргалки по горячим клавишам) Большое спасибо. Есть ли способ изменить окно вывода?

OscarRyz 06.12.2008 05:19

ALT-SHIFT-Q вызывает окно Show View ... C - для консоли ALT-SHIFT-Q, C - это ярлык для перехода к консоли.

Instantsoup 20.01.2009 19:53

Ctrl + Shift + L показывает список горячих клавиш, доступных в текущем контексте.

Dan Berindei 01.04.2009 19:37

Дважды щелкните заголовок подокна - ЛЮБОЕ подокно - и ваше подокно развернется на весь экран. Сделайте это еще раз для восстановления. Сверните панель с консолью, а затем, когда произойдет вывод, консоль мгновенно выскочит.

Ian 25.06.2011 12:40

Интеграция Eclipse с git не позволяет увидеть в той же части пользовательского интерфейса, какие файлы были изменены в песочнице, И сравнить эти файлы. Можно открыть список измененных файлов, запомнить один файл, закрыть список файлов, сравнить файл в проводнике проекта, повторить. Это в значительной степени иллюстрирует подходы.

Victor Sergienko 21.05.2012 11:26

Похоже на промежуточное представление Git.

nitind 04.12.2013 21:55

В eclipse есть параметр, позволяющий выводить консоль всякий раз, когда в нее что-либо записывается. Он был включен по умолчанию для меня, и я выключил его, чтобы я мог больше работать, пока программа компилируется / запускается.

AnthonyW 19.02.2014 23:58

Я ненавижу тот факт, что все вещи прячутся в IntelliJ. Я работаю на широкоформатных больших мониторах с высоким разрешением. Так что для меня я просто такой: «О, куда это теперь делось, перестань прятаться от меня, черт возьми !!»

Andrew S 14.04.2014 05:26

@AndrewS Установите «Режим закрепления» для окон инструментов, которые вы хотите видеть, когда они неактивны.

Gwyn Evans 30.04.2014 01:33

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

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

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

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

  $expr$.inspect($string$);

На самом деле вы можете искать в коде приведение типов / () - operator /, что практически невозможно с обычным текстовым поиском.

Karl 20.11.2008 14:39

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

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

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

На самом деле в Eclipse (по крайней мере, в той версии, которую я использую), когда вы помещаете курсор на имя метода и нажимаете CTRL + T, вы получаете все дерево иерархии, от самого верхнего интерфейса до конечных реализаций, и можете переходить любому из них.

Yuval 10.11.2008 17:37

В Eclipse вы также можете Ctrl + щелкнуть имя метода, чтобы перейти к определению / реализации метода (в зависимости от контекста)

qualidafial 31.12.2008 18:50

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

jackrabbit 27.10.2009 23:26

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

Victor 30.01.2014 14:52

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

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

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

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

laz 10.11.2008 17:26

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

Peter Lawrey 07.02.2009 12:21

Показать панель навигации ALT-Home.

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

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

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

Я не мог представить, как писать фронтенд на чем-то вроде YUI, поддерживающего DWR / SpringMVC, без этого.

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

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

Вы можете сделать это с помощью условных точек останова в eclipse, но это немного дерзко. Например. правда

HaveAGuess 05.05.2011 19:11

Я думаю, что intelliJ позволяет вам устанавливать более сложные подсчеты попаданий, не так ли?

Kimball Robinson 13.05.2013 22:26

Теперь его проще найти в eclipse - теперь он отображает условия в виде точек останова (чтобы вы знали, что они доступны). Вы можете разбивать по счетчикам, вводить произвольный код, например System.out.println("here"); false, для печати, но не для прерывания (последний оператор - это логическое выражение, которое определяет, должны ли мы прерывать работу)

Scott Stanchfield 16.05.2013 00:02

Не забывайте «сравнить с буфером обмена».

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

Также история буфера обмена.

Kimball Robinson 13.05.2013 22:29

Эта функция может быть добавлена ​​в eclipse в виде плагина под названием AnyEditИнструменты (находится на рынке).

Yaniv 22.08.2013 11:45

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

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

Ctrl + W фактически расширяет выделение. В Eclipse он привязан к Shift + Alt + Up (Shift + Alt + Down уменьшает выделение.)

Micke 06.08.2009 21:18

Еще несколько вещей:

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

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

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

решает

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

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

довольно круто, хотя все, что больше двух уровней - это довольно запах кода ...;)

Epaga 27.08.2009 14:12

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

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

Он умный и чертовски быстрый. Это добавляет к множеству функций удобства использования. Переход к подклассу или реализации класса, поиск в пути, поиск использования и т. д. Происходит очень быстро. Автозаполнение происходит встроенно, просто вкладка вставит его. Автозаполнение тоже умно, но это не просто предложения, но IDE придумывает имена и т. д. За вас.

Ravindranath Akila 24.11.2012 14:54

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

Software Engineer 03.12.2013 18:52

@EngineerDollery Я бы не сказал, что это «неправильно», поскольку amit сказал: «Есть только одна причина, по которой я использует intellij, а не eclipse», а не «Есть только одна причина, по которой к использует intellij, а не eclipse».

Max Nanasy 10.12.2013 01:06

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

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

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

Гораздо больше рефакторингов.

Я не очень много кодировал с помощью IntellijIdea, но в IntellijIdea вы можете увидеть, где начинается блок кода в скобках (если, попробуйте / поймать, цикл и т. д.), а где заканчивается.

В Eclipse (я код в Eclipse 3.2) вы можете идентифицировать блок только вручную.

что вы имеете в виду под "вручную"? В Eclipse вы действительно должны поместить курсор на {(или}), чтобы узнать, где находится} (или {). Еще одна интересная вещь - дважды щелкнуть после {блока. Он автоматически выберет весь блок {...}.

Romain Linsolas 23.02.2009 18:59

В Eclipse, если у вас очень длинный блок (я вижу блок из 100-200 строк), вы должны использовать мышь, чтобы хорошо видеть блок. IntellijIdea выводит красную строку слева (по крайней мере, я это помню). Я думаю, что это более удобный вариант с длинным блоком.

alepuzio 23.02.2009 19:50

Есть отличный (бесплатный) плагин Eclipse под названием Java Source Helper (hexapixel.com/projects/sourcehelper), который показывает содержащий контекст для вашего местоположения (он говорит, что концепция была взята из IDEA, кстати)

Scott Stanchfield 16.05.2013 00:14

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

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

Eclipse имеет открытый исходный код. Никому не платят за ответы на вопросы или исправление ошибок. Купите коммерческую IDE на основе Eclipse, например MyEclipse и получите поддержку за свои деньги. Быстрая статистика: я сообщил JetBrains о 56 ошибках, 23 из них закрыты; из 65 ошибок, сообщенных в Eclipse 33, закрыты. Единственная разница в том, что JetBrains исправляет ошибки немного быстрее, чем Eclipse.

Victor 30.01.2014 15:15

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

ctrl-shift-G в затмении

dres 26.10.2013 18:00

ctrl-shift-G - это не то, что описал Пол ... больше похоже на "ctrl + O", но для всех классов, методов и переменных в проекте

Tano 21.03.2014 20:25

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

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

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

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

new ArrayList<String>()

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

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

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

Это Ctrl + 2 L в Eclipse.

Micke 06.08.2009 21:17

Хорошо, я не знал, и никто из пользователей Eclipse, которых я спрашивал, тоже. Эта функция уже давно входит в Eclipse?

rlovtang 17.08.2009 00:32

Довольно долго ... Если вы используете quickfix, control+1 (самая очевидная привязка клавиш в мире, а?), Он предлагает вещи, которые вы можете делать в текущем местоположении курсора, аналогично намерениям в IDEA. Например, в нем перечислены «назначить локальный», «назначить поле» и другие параметры. control+2, L - это ярлык для этого.

Scott Stanchfield 16.05.2013 00:09

В eclipse, после того как вы выбрали ctrl+2, L, вы все равно можете изменить тип созданной переменной либо на тип с правой стороны (по умолчанию), либо на любой супертип: тип переменной можно выбрать с помощью TAB.

Gaetan 04.02.2014 13:09

Откройте проект из Maven POM. Просто выберите «Открыть проект ...» перейдите к pom.xml верхнего уровня и нажмите Enter :) NetBeans теперь также имеет эту функцию.

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

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

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

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

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

точно, поддержка svn превосходна по идее, в то время как subclipse / subversive ошибочны, неуклюжи и не очень надежны; то же самое касается git, на самом деле я не помню какой-либо разумной интеграции git для eclipse, и intelliJ справляется с этим очень хорошо

Kamil Mikolajczyk 21.02.2014 13:23

Лично я считаю, что вы должны управлять всеми версиями из командной строки, даже если ваша IDE может это сделать. Когда вы сделаете это в командной строке, тогда вы узнаете, как запустить сценарий bash позже, что действительно может ускорить вашу разработку. Иногда мои коллеги просят меня помочь с плагином subclipse или git eclipse, я просто говорю им, чтобы они прекратили его использовать и сделали это в командной строке.

msknapp 15.05.2014 04:44

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

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

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

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

  • Местная история: это намного лучше и проще.

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

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

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

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

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

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

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

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

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

Автозаполнение действий = быстрый доступ в eclipse; Я не понимаю, как местная история может быть проще, чем в затмении ...

Scott Stanchfield 16.05.2013 00:04

Как указал Скотт, это Ctrl + 3. Помощник по содержанию также доступен при оценке выражений и установке условных точек останова. Я не уверен, насколько близки упомянутые рефакторинги, чем то, что предлагается Ctrl + 1 и Ctrl + 2. Большая часть остального звучит субъективно.

nitind 04.12.2013 21:52

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

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

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

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

I can't see ever going back to any other ide because of this plugin.. Best of both worlds... Awesome!. that's what i was lacking in all IDEs.

Я согласен, я не смог бы жить без моего плагина IdeaVim, но, честно говоря, есть плагин Vim для Eclipse, метко названный VimPlugin (vimplugin.org)

Keith 18.06.2010 17:43

Vwrapper - еще один плагин Vim Eclipse. И работает даже лучше, чем плагин Idea Vim (работают повторные ключи). Однако Vwrapper не обрабатывает поиск и замену из командной строки (хотя поиск отлично работает) и не позволяет определять макросы в интерактивном режиме. Согласились, что поддержка Vim необходима в среде IDE. Не стал бы использовать Eclipse или Idea без него!

Brent Faust 17.01.2012 02:34

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

John Lemp 12.06.2012 15:56

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

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

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

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

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

Я уверен, что все это может поддерживаться через плагины (или будущие улучшения) в eclipse; тем не менее, Intellij делает это проще простого.

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

Мне очень нравится функция списков изменений. Это похоже на независимый набор исправлений / полок VCS, с которыми вы можете работать независимо и которые могут быть связаны с ними, также могут быть связаны с вашим трекером проблем. У вас есть локальная история (например, мини-VCS), отслеживающая ваши изменения, пока вы работаете почти на линейном уровне, поэтому вы можете вернуться практически к любому моменту времени, если вам нужно. Также, когда вы переключаете задачи, вся IDEA запоминает состояние IDE для новой задачи и восстанавливает открытые файлы, положения окон и т. д.

sylvanaar 08.08.2011 05:37

На самом деле списки изменений - это функция SVN. IntelliJ просто позволяет вам видеть их и управлять ими, в отличие от подключаемых модулей Eclipse SVN.

Neil Traft 17.10.2011 20:36

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

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

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

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

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

IntelliJ Ultimate Edition действительно не бесплатен, но как разработчик я использую свою IDE от 8 до 10 часов в день. Так что я не считаю его разумную цену недостатком !!

Romain Linsolas 28.10.2010 14:07

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

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

Alt+Insert для редактирования текста в колоночном режиме.

У Eclipse это есть - Alt-Shift-A

nafg 24.01.2013 10:04

В настоящее время это единственное окно, в котором вкладки могут быть перенесены в другое окно. Удобно, когда у вас больше экранов.

Хм? Вы можете перетащить любую вкладку затмения в отдельное окно.

Scott Stanchfield 16.05.2013 00:12

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

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

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

этот первый абзац звучит так же, как представление «Team Synchronize» в Eclipse?

Epaga 08.09.2011 01:17

Ctrl-щелчок в eclipse (или F3) переходит к объявлению

Scott Stanchfield 16.05.2013 00:16

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

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

Когда у вас есть отдельные проекты для переднего, среднего, основного, агентов ... и т.д., где все они должны взаимодействовать друг с другом, вы не можете быстро изменять и отлаживать одновременно, afaik. Единственный способ, которым я сейчас справляюсь, - это использовать сценарии ant для развертывания и обновления jar-файлов в зависимых проектах или использовать maven.

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

Это должно было быть размещено в Что Eclipse может сделать, чего не может IntelliJ, а не наоборот.

Neil Traft 17.11.2011 11:08

IntelliJ делает это без каких-либо проблем. Это просто неверный ответ.

Software Engineer 03.12.2013 18:55

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

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

Это больше похоже на ошибку, чем на намеренное ограничение.

nitind 04.12.2013 21:53

Насколько я помню, я использовал Alt + Left / Alt + Right в Eclipse для перемещения назад / вперед между редактированием / просмотром, и у него не было ограничений по глубине.

Victor 30.01.2014 15:21

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

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

Ctrl + Space в Eclipse

Ctrl + Space в IntelliJ

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

После Enter в Eclipse

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

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

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

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

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

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

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

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

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

Другие вопросы по теме