Почему IDEA лучше Eclipse

    Священный спор


    Принято считать, что есть «вечные» вопросы, на которые нет правильного ответа. Например, что лучше: Windows или Linux, Java или C#; Чужой против Хищника или Чак Норрис против Ван Дамма.

    Одним из таких холиваров считается выбор лучшей IDE для Java:


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

    Так вот, я утверждаю, что это не просто дело вкуса. Есть объективные причины, почему
    Intellij IDEA однозначно лучше, чем Eclipse.

    Подчёркиваю, мы сейчас рассматриваем обе среды именно как Java IDE.

    Я не буду приводить кучу мелких различий вроде плагинов, горячих клавиш и т.п. — этому посвящены многие страницы в интернете, а объясню лишь одно, самое главное отличие. Как правило, о нём не знают ни идеяшники, ни эклипсофилы, ибо первые привыкли к нему и не знают, что в других IDE этого может и не быть, а вторые привыкли жить без него, и даже не догадываются, что может быть лучше. Более того, эклипсники его не замечают, когда пробуют IDEA ради интереса, ибо привыкли работать по-старому.



    Откуда такая уверенность?


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

    Я работал на Eclipse лет 5, знал её очень хорошо, писал под неё плагины, и искренне любил её. Потом я перешёл в другую компанию, и был вынужден пересесть на IDEA. Пережив серьёзную ломку, я наконец понял, чем же IDEA круче. И вот уже пару лет работаю на IDEA. Поэтому я знаю, что говорю.

    Основное различие между IDEA и Eclipse


    Главная вещь, отличающая IDEA — она понимает контекст. Именно это имеют в виду сотрудники JetBrains, когда называют её «интеллектуальной» (intelligent). Что это значит? IDEA индексирует весь ваш проект, анализирует всё, что в нём есть, и даже строит синтаксическое дерево. Благодаря этому IDEA в любой момент, куда бы вы ни поставили курсор, знает, где мы находимся и что тут можно делать.

    Непонятно? Ещё бы. Ничего, на примерах станет ясно.

    Это умение понимать контекст выражается во многих и многих аспектах, приведу лишь некоторые.

    1. Отладка


    Чтобы при отладке увидеть значение какого-то выражения, в Eclipse необходимо сначала выделить это выражение. Причём выделить точно, случайно выделите лишний символ — Eclipse не поймёт. После этого жмём Ctrl+Shift+I и видим значение выражения.



    В IDEA же ничего выделять не надо, достаточно просто поставить курсор в нужное место (в данном случае на методе hasAttribute) и нажать Alt+F8. IDEA сама поймёт, какое выражение вам, вероятно, нужно, и тут же откроет диалог, где вы сможете редактировать выражение и сразу видеть его значение:


    Выходит, обе IDE в принципе позволяют делать одно и то же. Но в IDEA это намного удобнее и быстрее. Я серьёзно, разница огромная — это просто небо и земля. В этом маленьком окошке IDEA сделает вам и автозаполнение, и подсветку синтаксиса, и всё на свете.

    2. Автозаполнение (autocomplete)


    Автозаполнение — это то, что выгодно отличает любую IDE от notepad. И в этой области «понимание контекста» даёт IDEA качественное преимущество. Допустим, мы начали писать строчку кода:
    assertElement(By.id("errorMessage"), vi

    И тут мы хотим узнать, какие у нас есть варианты, чего там может начинаться с букв «vi».

    Что делает IDEA? Не дожидаясь никаких нажатий клавиш, она сразу же понимает, что метод assertElement хочет получить вторым параметром объект класса Condition, а в этом классе как раз есть статическая переменная типа Condition с именем visible. И предлагает единственный возможный вариант:


    Что делает Eclipse? Увы, он не понимает контекста. Он не знает, что курсор находится на месте второго параметра метода assertElement. Поэтому, когда вы нажимаете заветные Ctrl+Space, Eclipse тупо показывает всё, что есть в природе, что начинается на буквы «vi»:


    В красивом всплывающем окошке мы видим много-много красиво подсвеченной хорошо задокументированной бесполезной информации…

    3. Рефакторинг


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

    Например, есть у нас метод assertErrorMessageIsHidden:
    
      public void assertErrorMessageIsHidden() {
        assertElement(By.id("errorMessage"), Condition.visible);
      }
    

    И мы хотим сделать так, чтобы строка «errorMessage» приходила в метод как параметр.

    Начнём с IDEA. Ставим курсор на любое место в строке «errorMessage», нажимаем заветные Ctrl+Alt+P (от «parameter»), и IDEA подсказывает, какое выражение мы могли бы вынести в параметр:


    Как только выражение «errorMessage» выбрано, IDEA подсказывает несколько возможных имён для этого параметра.

    Вы будете ещё не раз удивлены тем, как умно себя ведёт IDEA, предлагая свои варианты для имени чего-либо. Она учитывает и название метода, и тип переменной, и значение, и названия подобных переменных в других местах, и те названия, которые вы давали подобным переменным раньше — разве что ваш знак зодиака не учитывается. Правда-правда, не проходит и месяца, чтобы я не сказал фразы: «Ого, IDEA и это умеет?»

    Ну и посмотрим, что нам предложит Eclipse.

    Не забываем: выделяем выражение «errorMessage» (обязательно с кавычками, иначе получите дикое сообщение «An expression must be select to activate this refactoring»), выбираем рефакторинг «Introduce parameter» (из меню, горячей клавиши нет), и получаем тот же результат. Правда, никаких вариантов для имени параметра Eclipse не предлагает, но и на том спасибо.


    Выводы


    Если мы говорим о Java IDE, то IDEA круче Eclipse. Это не просто дело вкуса. IDEA объективно лучше. Она позволяет быстрее и качественне писать и менять код, подсказывает подходящие имена, находит подходящие методы. Не требует точно выделить выражение, а по тому, где вы находитесь, угадывает, что вы хотели сделать и как хотели это назвать. IDEA предугадывает и подсказывает.

    P.S. Оговорки


    Оговорюсь: IDEA лучше Eclipse в качестве Java IDE. Если вы рассматриваете их в каком-то другом качестве — например, как IDE для другого языка (C++, Python, Scala), или как платформу для построения Desktop-приложений, то Eclipse вполне может победить.

    В общем-то, это вытекает и из определения. Eclipse позиционирует себя как абстрактная платформа для построения чего бы то ни было (с помощью дописывания плагинов), а IDEA позиционирует себя как «интеллектуальная IDE для Java». Так оно и есть.

    Интереса ради попробую назвать аспекты, в которых Eclipse, возможно, круче IDEA:
    • Eclipse красивее. Вся эта суета вокруг SWT и нативных контролов стоила того. Eclipse выглядит как солидное приложение с продуманными шрифтами и иконками, в то время как IDEA на первый взгляд выглядит как наколенная поделка с ламерскими иконками и нелепым свинговским интерфейсом.
    • В Eclipse богаче поддережка структуры проекта. В IDEA есть проект, состоящий из модулей, а в Eclipse есть workspace, состоящий из проектов, но их можно ещё и закрывать/открывать, объединять в группы и прятать.
    • Для Eclipse вроде бы проще писать плагины.
    • В конце концов, Eclipse бесплатен. Впрочем, бесплатной версии IDEA мне хватает за глаза, ведь я использую запускалку для разработки веб-приложений.


    Итогошки


    Если вам нужны красивые иконки, платформа для создания настольных приложений, или IDE для C++, то Eclipse, вероятно, предпочтительнее. Если же вы серьёзный Java-программист, и вам нужна среда, позволяющая быстро и удобно вести разработку, сосредоточившись на проблеме и не отвлекаясь на средство разработки, то IDEA — это то, что нужно.

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

    Кодьте с удовольствием!

    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 261
    • +52
      > Чак Норрис против Ван Дамма
      Как можно сравнивать Самого с каким-то жалким вандамчиком.
      • –7
        Даже с Джигурдой сравнивать не стоит, а уж тем-более с Ван Даммом
        • +60
          Когда Чак Норрис кодит в эклипсе, екслипс понимает контекст .
          • +12
            Запущенный Чаком эклипс сам кодит
            • –2
              Чак кодит на IDEA
              • +1
                Ребята, ребята!
                Чаку не нужно кодить. Чак просто подходит к компьютеру. А он без всех этих наших задротских заморочек с программированиями и ide делает, что Чаку надо.
                • +5
                  Чак вообще не кодит. Java VM выполняет инструкции под его диктовку.
                  • 0
                    И работает при этом быстрее, чем нативный код.
                  • 0
                    IDEA кодит на Чаке.
                    • 0
                      Пользователь был онлайн 172 дня назад.
            • +7
              перефразируя бородатый анекдот:
              IDEA лучше чем Eclipse.
              Чем лучше?
              Чем Eclipse.
              • +2
                Объективно если судить, то Чака всегда метелил Брюс Ли.
                Только не спрашивайте меня «и где теперь этот ваш Брюс Ли»
                • 0
                  Между прочим, они были друзьями.
              • +1
                платформа для создания настольных приложений, или IDE для C++, то Eclipse, вероятно, предпочтительнее.
                Вот тут можно сильно поспорить. Я понимаю, что я выдрал смысл из контекста и в данном случае идет сравнение IDEA и Eclipse, но ни то ни другое я не выберу как IDE для C++ и тем более в качевстве платформы для создания настольных приложений.
                А в общем вся суть сказанного в статье — IDEA понимает контекст. Это вобщем очень здорово и я понимаю о чем хотел сказать автор. Спасибо за позитивный порыв мыслей.
                • 0
                  Поддерживаю rule, абсолюной истины не существует, а сравнение «интеллектуальности» 2х ide рассмотрено как нельзя лучше.
                  • 0
                    Кстати, после просмотра исходников средств рефакторинга в IDEA убедился, что, впринципе, ничто не мешает все эти средства рефакторинга расширить для поддержки C++, например.
                    P.S. Вот только в меньшей мере, т.к. перегрузка операций и т.д., вы же меня понимаете :-)
                  • +1
                    Мне в IDEA очень нравится система управления зависимостями, а также встроенная система управления артефактами. Очень удобно для тестирования, во время разработки веб-приложений.
                    • +2
                      После такой статьи грех не попробовать Идею. Полезно послушать в таком споре опытного пользователя обоих продуктов. Спасибо!
                      • +1
                        У JetBrains все IDE потрясающи. Я чисто случайно открыл для себя WebStorm. Интеграция с github, интегрированный js-test-driver, то же понимание контекста… Аналогично и с PyCharm для питонщиков. Те смешные деньги, что простятся за эти IDE при использовании их для создания коммерческих приложений — вообще ничто. Т.е. если расставить IDE по мощностям, получится: VisualStudio, JetBrains IDEs, Eclipse/NetBeans.
                        • 0
                          Без решарпера не быть студии на первом месте :)
                          • 0
                            еще бы php (в случае webStorm), да и весь вэб не был бы настолько синтаксически убог, что контекст практически не понять, было бы вообще счастье.
                        • +29
                          PHPStorm тоже заметно лучше и удобнее PDT.
                          • –2
                            А когда PDT был удобным редактором?
                            • 0
                              Ну он, собственно, вполне себе удобный. Просто Storm удобнее и лучше.
                              • 0
                                Ну наверное каждому свое. В свое установил его, посмотрел что он может «из каробки», не впечатлил, и тот же Netbeans показался намного удобней PDT
                            • +4
                              Слез на него с Zend Studio(написанной на eclipse)! очень доволен!
                              • 0
                                поддержу, круче еще ничего не видел.
                                да, шоткаты сперва напрягают, но через 1-2 дня понял, что на ZendStudio не вернусь никогда.
                                имхо, единственное что в ZendStudio(Eclipse) лучше — так это SVN, но и это не проблема.
                                • 0
                                  А с нетбинсом можете сравнить?
                                  • 0
                                    Перешел на phpstorm с нетбинса около полугода назад. В принципе согласен с автором в плане интеллекта IDE. Автодополнение и предложение вариантов просто умней. Очень часто в нем бывает так, что просто пишешь начало длинного вызова метода, а дальше только ентер-ентер и все готово.

                                    А еще хотел просто попробовать шторм, т.к. некоторые на коллеги работали в нем, и когда перешел полностью с линухи на мак, искал чтото подходящее и удобное. Так вот в плане интерфейса (тут несогласен с автором) шторм полходит мне лучше, взять туже поддержку lion (fullscreen app) плюс удобней организация открытых вкладок (поместил справа, вкладок около 30 открыто и видно название всех, чего в других IDE сложно было добиться), так же возможно убрать лишние элементы для лучшего обзора кода. слева структура папки-файлы и ниже навигатор по открытому файлу, справа вкладки открытые, все остальное сверху до низу занимает код, все экранные пиксели.
                                    • +1
                                      Могу.
                                      На PHPStorm я перешёл не с Eclipse, а с Netbeans, на который перешёл с Eclipse.
                                      • +1
                                        Практически все (или даже все), что есть в Netbeans, есть и в IDEA.
                                        Наоборот неверно.

                                        Кстати, одна из сильных фич IDEA — это Language Injection. Т.е. редактирование части текста на одном языке внутри файла, написанном на другом языке.
                                        Например, SQL внутри XML, RegExp внутри Java-строки и т.д.
                                    • +11
                                      А также Eclipse однозначно лучше, чем IDEA, потому-что это опенсорс платформа с богатым набором всевозможных фич и плагинов, а не просто хорошее проприетарное IDE.

                                      Итого, Eclipse однозначно лучше IDEA, а IDEA однозначно лучше Eclipse (-;

                                      Автор, у каждого из этих IDE есть свои плюсы и минусы. Описанные вами плюсы — однозначные плюсы.
                                      Но «IDEA однозначно лучше чем Eclipse, потому что лучше понимает контекст» — всётаки перебор.
                                      • +18
                                        У IDEA есть открытая версия.
                                        Но да, Eclipse пока еще имеет более мощное комьюнити, и соответственно больше плагинов и прочего.
                                        Автор этого и не отрицал, а привел область(Java разработка), в которой по его(и моему кстати тоже) мнению IDEA лучше Eclipse однозначно.
                                        • +2
                                          Да, но Java разработка это широкое понятие. Может я Java разработку веду с помощью генерации кода из схем конечных автоматов, которые делаются через плагины EMF. Может такое IDEA? Я не знаю.
                                          Или мне нужны для java разработки плагины для Spring, Ivy, Swing Gui Builder, какая-нибудь-obscurish-технология, что-то-там-еще, которые скорее появятся в Eclipse, по причине широкого коммюнити.
                                          Я понимаю, вам кажется что оно шире _пока_, но пусть даже так — всётаки пока оно _шире_ (-:

                                          И да, если в «Open Type» диалоге в Eclipse писать большими буквами, то матчатся какраз большие буквы в названии класса ( help.eclipse.org/indigo/topic/org.eclipse.jdt.doc.user/tips/images/open-type-camel-case.png ) — мне это помогает для Java разработки. Незначительная фича, но есть ли такая в IDEA?
                                          Это я к тому, что всё всегда неоднозначно.

                                          На всякий случай, я не считаю IDEA хуже ни в коем случае. Просто если говорить об однозначном преимуществе, и, соответственно, однозначной необходимости забросить Eclipse и перейти на IDEA — такого нет.
                                          Да и, ИМХО, не надо. Минимальное разнообразие это хорошо, я считаю.
                                          • 0
                                            Да, тут я с вами согласен, если брать более широкий спектр разработки, то Eclipse во многом выигрывает.
                                            Ну и конечно же у каждого свои вкусы и предпочтения, некоторые вон и в Vim пишут вполне успешно.
                                            Разнообразие тоже плюс, ибо чем лучше будет Eclipse тем более мощный будет стимул для развития IDEA и наоборот)
                                            • 0
                                              >>Может я Java разработку веду с помощью генерации кода из схем конечных автоматов, которые делаются через плагины EMF.
                                              вы делаете это неправильно. Билд не должен быть завязан на IDE ни в коем случае. Только на специализированные системы сборки (ant, maven, gradle)
                                              >>Или мне нужны для java разработки плагины для Spring, Ivy, Swing Gui Builder
                                              и опять же вы делаете неправильно. Для разработки нужен только редактор java/xml-кода — это в разы быстрее любых GUI плагинов.
                                              >>Незначительная фича, но есть ли такая в IDEA?
                                              разумеется
                                              • +5
                                                > Для разработки нужен только редактор java/xml-кода — это в разы быстрее любых GUI плагинов.
                                                Тоесть вы считаете, что Swing GUI builders — бесполезны по определению.
                                                Ваше право, но это ваше личное мнение, и поверьте, многие с вами не согласны.
                                                • +2
                                                  А генерация кода из моделей совершенно не обязательно к фазе сборки относится. А если очень надо — emf-генератор может быть вызван из системы сборки.
                                                • +6
                                                  Про «Open Type» — в IDEA есть давным-давно, и работает получше, на мой вкус. То есть если матчинга мало — она попробует downcase-нуть какую-нибудь из букв и заматчить. Это будет верно в том случае, если вы опечатались и набрали 2 заглавных буквы подряд.

                                                  Еще, я бы добавил, что в IDEA на порядок лучше поиск-замена и всё такое, потому что хоткеи гораздо удобнее и лучше продуманы. То, что в Eclipse требует 3-4 кликов, в IDEA делается за один-два. Это легко заметить, если показать эклипсоцвам как работает C-f и C-F в идее :)
                                              • –9
                                                Обе IDE опен-сорсные, обе созданы некоей компанией, у обеих есть платная версия, у обеих есть богатый набор всевозможных фич и плагинов. Так что это голословный троллинг.
                                                • +4
                                                  Eclipse уже много лет не «продукт IBM», так что то, что он когда-то был создан IBM не ставит его в один ряд с IDEA.
                                                  Коммюнити Eclipse это «голословный троллинг»? Вы шутите, не иначе.

                                                  Про платную версию Eclipse — пожалуйста расскажите нам, где она есть, и кто ней пользуется.
                                                  С бесплатной версией IDEA всё проще — появилась она гораздо позже Eclipse, и не знаю как сейчас, но поначалу она была урезана в сравнении с платной. И это факты, а никакой не «голословный троллинг».
                                                  • –1
                                                    И сейчас урезана по самое не могу.
                                                    • 0
                                                      Спасибо, я подозревал это, но не знал точно.
                                                      IntelliJ ведь зарабатывает на продажах IDEA, поэтому смысла им раздавать её бесплатно нет никакого.

                                                      IBM же, сколько я помню Eclipse, никогда и не помышлял на нём заработать. Они вообще частным лицам ничего не продают вроде — только B2B, или как там это грамотно называется.
                                                      • 0
                                                        продают. RAD — его бесплатного не бывает
                                                        • 0
                                                          Он какбы «частным лицам» нафиг не упёрся — это для контор, которые решения на WebSphere строят.
                                                          • 0
                                                            совершенно верно
                                                            а разве разговор идёт только в контексте частных лиц?
                                                    • +3
                                                      Конечно, насчёт «троллинга» я погорячился.
                                                      Но «коммьюнити Eclipse» — ценность весьма условная. Зачем оно мне, это коммьюнити? Считать, что одна IDE лучше другой только потому, что у неё есть «коммьюнити» — это распространённое заблуждение. На первый взгляд, это звучит круто, но реальной пользы может и не быть. Я, например, в течение того длительного периода, пока использовал Eclipse, ни разу никакой пользы от «коммьюнити» не получил.

                                                      Платная версия Eclipse — например, MyEclipse. Кто использует — понятия не имею.

                                                      Бесплатная версия IDEA (т.н. Community Edition) действительно урезана, это же логично! Но мне лично для домашнего пользования её вполне хватает. Полезные для меня вещи в платной версии — это поддержка веб (рефакторинг и дебаг в Javascript, CSS, HMTL), поддержка Ruby, Code coverage. На работе они очень нужны, поэтому на работе для всех девелоперов куплены лицензии. Всё логично.
                                                      • +1
                                                        Уважаемый, вы правда считаете что MyEclipse относится к Eclipse как платная версия IDEA относится к бесплатной? Вы глубоко заблуждаетесь.
                                                        MyEclipse использует Eclipse, но не является платной версией Eclipse — это полностью thirdparty разработка, и вообще по сути набор платных плагинов для Eclipse. То, что кто-то сторонний решил завести набор платных плагинов к Eclipse не делает сам Eclipse платным, и не ставит его в один ряд с IDEA в этом плане.
                                                        И да, пользовтаелей MyEclipse я встречал в реальной жизни ровно 0 штук, хотя это не важно.

                                                        Про пользу от коммюнити — я совершенно не понимаю о чём вы говорите. Коммюнити дописывает Eclipse и плагины к нему, вы ними пользуетесь — это и есть польза, чего вам ещё?

                                                        Что же касается того, что там вам хватает для «домашнего пользования» в IDEA — могу только порадоватся за вас. Но того факта, что бесплатный Eclipse не урезан ни капельки, это не меняет.
                                                        • 0
                                                          Плагины для IDEA тоже кто-то дописывает. Я не знаю, это комьюнити или некомьюнити, но плагинов для IDEA достаточно много, и они, между прочим, хорошо работают.
                                                          • 0
                                                            у MyEclipse сейчас есть довольно хорошая ниша — они предлагают своё IDE как большее дешёвую альтернативу IBM-овскому RAD-у. $250 за MyEclipse Blue против $800-$2000 за RAD.
                                                    • 0
                                                      Вот это её опенсорсность не всегда сулит добро, иногда нужен плагин а ты пробуешь 2-3 и все с какими-то недоработками и недоделками, в итоге муки. Есть плагин RSE его юзаем по полной но блин он постоянно кидает ошибки ниочем! при каждой попытки сохранить файл по ssh вижу ошибку «An internal error occurred during: „RevertResourcesOperation“. java.lang.NullPointerException» И вот наблюдая по 200 раз за день ошибку ( в прямом смысле по 200) эту, хочет казьнить разработчиков, воскресить и снова казьнить.
                                                      Для меня idea удобна еще тем, что её поставил и работаешь, без доп настроек и плагинов, все автометички все есть.
                                                      • 0
                                                        > Вот это её опенсорсность не всегда сулит добро
                                                        Но не всегда ведь и зло.
                                                        Читайте же комментарии — вся суть была в том, что не всё так однозначно.
                                                        • –1
                                                          А я и не говорил что всегда. Но скажу прямо плагины к эклипсу меня печалят. очень много косяков встречается ((
                                                    • +6
                                                      Не буду как-либо комментировать статью, ибо у каждой среды есть свои поклонники. Могу лишь от себя добавить пару слов. Я тоже поработал и там и там (пусть не так долго ибо мой стаж еще мал) и скажу что мне частенько не хватало некотоых вещей одной IDE в другой и наоборот )
                                                      Могу еще сказать пару слов вообще о Jetbrains — фирма делает свои продукты на совесть, понимая что разрабочик должен разрабатывать архитектуру и грамотный код а не тратить время на рутинные задачи. Так как я пишу для веба на java то и постоянно сталкиваюсь с функционалом на javascripte. Поработав в eclipse с js я навсегда проклял все на свете, то что может сделать phpstrom или webstorm с вашим проектом на html js это чудо, экдипс тут просто блокнот.
                                                      Опытному человек понядобиться день чтобы настроить экплис с нуля. не опытному неделя. 50% функций по работе с js эклипс не тянет в отличии от вебсторма.
                                                      Понимание контекста я признаюсь отличное, он даже может анализировать Классы написанный на js (не забываем там целый механизм реализации и как такового класса нет). Разработка для веба становиться в 2 раза быстрее.
                                                      • +4
                                                        Раньше пользовался Eclipse для верстки, т.к. в нем одном из первых появилась поддержка zen coding. Уже давно перешел на Webstorm и тоже могу сказать, что в плане инструмента для верстки он гораздо удобнее.
                                                        • +17
                                                          Спасибо ребятам из JetBrains за то, что контекст понимают и pyCharm и phpStorm. Я не представляю, как раньше без этого жил!
                                                          • +5
                                                            Имхо, статью можно ужать в один тезис — Идея лучше понимает контекст.
                                                            Этот тезис можно использовать в сводной таблице, сравнивающей разные IDE.

                                                            А в таком виде пост уж слишком категоричен при своей однобокости.
                                                            • –1
                                                              Спасибо, значит, я хорошо сформулировал свою мысль.
                                                            • +5
                                                              pycarm тоже лучше чем pydev, ИМХО
                                                              • +1
                                                                pyCharm =) согласен. Но чаще все-же юзаю Sublime Text 2 или gedit (оба с плагинами для python/django)
                                                                • +2
                                                                  Если проект небольшой, Sublime Text 2 или gedit достаточно, но когда код переваливает за пару десятков мегабайт без полноценной IDE сложно обойтись
                                                              • +2
                                                                Платная версия Идеи лучше Эклипса по всем направлениям, кроме шрифтов под Линукс и цены.
                                                                Если бы она была бесплатной — всех этих разговоров было бы в разы меньше.

                                                                Опыт в Эклипсе — 4 года.
                                                                Опыт в Идее — 0.5 года.

                                                                И это я молчу про интеграцию с системами типа jira, teamcity и т.п. В идее она тоже намного лучше, а это сейчас даже важнее непосредственно кодирования.
                                                                • 0
                                                                  Насколько я помню, у меня проблема с шрифтами в Идее (кажется до 9й версии я ее там использовал) на Debian c Гномом решалась -Dawt.useSystemAAFontSettings=on в idea.vmoptions, arch c awesome такой проблемы уже не имел, хотя в то время использовал RubyMine.
                                                                • 0
                                                                  Я в IDEA не работал, но Eclipse тоже неплохо понимает контекст, сам типы в шаблонах подставляет а как его конструкция toarray работает — вообще чудеса какие-то!
                                                                  К сожалению только это видео нашел, но и тут видно что Eclipse половину работы за программиста делает:
                                                                  archive.eclipse.org/technology/phoenix/europa/TestFirstWithEclipse/
                                                                  • +1
                                                                    очень обыденно, ничего особенного не увидел.
                                                                    • +1
                                                                      Вы точно не видел IDEA если называете это половиной работы.
                                                                      метод создался без отступов
                                                                      имя переменной первый раз надо вбивать вручную а ведь в большинстве случаев переменную я назову так же как класс или как часть имени класса
                                                                      подставляя имя класса после слова new эклипс даже круглые скобки не вставил
                                                                      а то что надо руками ставить закрывающие скобки и точку с запятой — это ваще пипец
                                                                      в идее я жму шорткат ctrl+shift+enter: скобки и точка с запятой ставятся и курсор на следующей строке чтоб я мог продолжить
                                                                      • 0
                                                                        Вы точно не видели eclipse, он сам подбирает имена для переменных и сам ставит круглые скобки. Я просто видео лучше не нашел. А по поводу IDEA — после этой статьи я просто не мог не поставить себе community edition. Пробую в нем работать, пока нечего сказать, кроме того что на моем стареньком компе он однозначно тормознее eclipse.
                                                                        • 0
                                                                          Чудес не бывает. IDEA предлагает свои возможности не за просто так — конечно, ему нужны ресурсы на то, чтобы индексировать код и держать всё это в памяти.
                                                                          Поэтому я и сказал: IDEA — это серьёзный инструмент для серьёзной работы. Так может, и не стоит серьёзную работу делать на стареньком компе?
                                                                          • 0
                                                                            Может мне теперь вообще не работать потому что у меня комп слабый и не тянет такой серьезный инструмент как IDEA?
                                                                            Пойду продолжу свою несерьезную работу в eclipse.
                                                                            • 0
                                                                              Господь с вами, ничего такого я не имел в виду. Я ничего не знаю про вашу работу и не мог оценить её серьёзность.
                                                                              Я говорю, что IDEA имеет свои преимущества, но и свою цену (в виде потребляемых ресурсов). Поэтому стоит взвесить, нужно ли вам это качество по этой цене. Если нужно, то стоит подумать над тем, чтобы купить компьютер по новее и IDE покруче. Если не нужно, то может, и IDEA вам не нужна при всей её крутизне.
                                                                    • +3
                                                                      Ну взять тот же NetBeans, с которым автор судя по всему не общался. Контекст понимает похуже IDEA может быть, но тем не менее понимает: он знает куда какой параметр можно засунуть (как минимум типизацию учитывает всегда, в 7.1 он ещё и первоначально выдаёт только те дополнения которые уже есть в импортах). Пример с дебагом работает, но не во всех ситуациях. В ситуации с рефакторингом берёт минимальную «порцию» (встал на строку — предложит заменить только строку), но имена предлагает адекватные (вообще с автодополнением имён у него имхо всё хорошо, основывается на имени класса в основном).
                                                                      • +9
                                                                        Я кратко перескажу статью в терминах названий продуктов: IDEA = eclipse + ReSharper.

                                                                        Ну и еще IDEA это единственная нормальная IDE для Python(PyCharm) и Ruby(RubyMine), и отличная для PHP(но тут есть аналоги).

                                                                        Вот только под линуксом невозможно работать в IDEA(и Netbeans) из-за шрифтов :(
                                                                        • 0
                                                                          Возможно.
                                                                          Надо прописать в /etc/profile.d/jre.sh опцию, включающую антиалиасинг. Не могу сейчас сказать, какую конкретно — на работе только вижуал студия и windows :)

                                                                          Правда, сглаживание серое, но по сравнению с несглаженными шрифтами — всё-таки здорово.
                                                                          • –1
                                                                            Да не поможет эта магия, свинг не умеет нормальное сглаживание. Шрифты получаются слишком тонкие и часто встречаются косяки. Более-менее нормально выглядят только Consolas 15 и DejaVu Sans Mono 14. Чуть больше размер сделаешь — уже ужас.

                                                                            Вроде в OpenJDK используется нативное сглаживание, но когда я последний раз пробовал, было намного хуже sun jdk. Кто использует OpenJDK 7 и идею, сделайте, пожалуйста, несколько скринов с шрифтом консолас (15-16) или дежвю санс моно, хочется посмотреть, как сейчас дела обстоят.
                                                                          • –1
                                                                            Ну и еще IDEA это единственная нормальная IDE для Python(PyCharm)

                                                                            А как же PyDev для Eclipse'а?
                                                                            • +3
                                                                              Он мне подсказывал автокомплит не ориентируясь на типы — это очень бесило.
                                                                              Хотя в питоне нормальный автокомплит технически возможен только в третьей версии, но PyCharm мне для второго питона показалась сообразительнее.
                                                                              • 0
                                                                                Он откровенно плох, если сравнивать с PyCharm. По всем вышеперечисленным причинам.
                                                                              • +2
                                                                                Вот эта опция:
                                                                                export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on"

                                                                                А вот скрин:

                                                                                Шрифт — DejaVu Sans Mono. Имхо, вполне вменяемо, хотя субпикселей не хватает, конечно.
                                                                                • 0
                                                                                  Субпиксели настраиваются уже в системе. Пользую KDE, там есть в настройках шрифтов. Все выглядит нормально.
                                                                                  • 0
                                                                                    Занятно… У меня во всей остальной системе субпиксельное сглаживание есть, только в яве серое. Я думал, это ява дурит.
                                                                                    Если можно, скиньте скрин, пожалуйста, посмотреть охота на этого загадочного зверя: сглаженный шрифт в яве :)
                                                                                    Кстати, JDK — оракловское или open?
                                                                                    • 0
                                                                                      Оракловский.

                                                                                      image

                                                                                      не знаю, будет ли видно так, сделал по крупнее.
                                                                                      • 0
                                                                                        Ну да. Там тоже не субпиксельное (простое серое: если увеличить — радуги не будет).
                                                                                        Но всё же очень аккуратненько смотрится. Что за шрифт такой классный?
                                                                                        • 0
                                                                                          Обычный Monospaced…
                                                                                          • +2
                                                                                            Эм… Если я не ошибаюсь, «обычного» monospaced'а не бывает… В смысле, это синоним для умолчального системного моноширинного шрифта.
                                                                                  • 0
                                                                                    У меня не получилось(добавил и опцию, и шрифт изменил):



                                                                                    Шрифт кучерявый :(
                                                                                    • 0
                                                                                      Ну да, кучерявый. У меня тоже. Просто сглаживание — не субпиксельное, оно на жирных шрифтах так и выглядит.
                                                                                      Всё лучше, чем лесенка :)
                                                                                      Я сейчас себе ещё и стили текста поправил, чтобы жирного не было — стало меньше заметно.
                                                                                      • 0
                                                                                        Ну я ощутил не то, что стало лучше, а только то, что стало по другому. Пользоваться невозможно, в глазах рябит и расплывается :(

                                                                                        Если в PhpStorm это еще исправляется через работу на Windows-машине(удаленные проекты), то в остальных продуктах(IDEA/PyCharm/RubyMine) такого функционала нет.
                                                                                  • +1
                                                                                    Это правда. Это всё кривая реализация свинга под иксы :-( но мы уже половину свинга под свои нужды переписали, пофиксим и эту проблему
                                                                                    • +1
                                                                                      То есть, в идее будет субпиксельное сглаживание?
                                                                                      Ох я даже не знаю, что сказать — это круто! :)
                                                                                      BTW: а в основной свинг его внедрить не получится? Ну чтобы в любом свинговом софте заработало…
                                                                                  • +2
                                                                                    Ломка была та еще. После почти 5 лет работы под эклипсом пересел на идею с 4й попытки) К эклипсу возвращаться не хочется.
                                                                                    • +3
                                                                                      У Эклипс есть один большой недостаток — он ТОРМОЗИТ и периодически подвисает. Жутко бесит!
                                                                                      И не нужно острить по поводу прямизны рук — наблюдал это на разных версиях эклипса, под разные платформы и у разных людей.
                                                                                      • 0
                                                                                        Из статьи можно сделать прямо обратные выводы. И мой опыт говорит о том же. А то, что идея после каждого чиха переиндексирует проект — на медленных компах просто пытка.
                                                                                        В любом случае, во всех современных IDE должна быть опция «выключить весь интелект, оставить автокомплит» или что-то подобное.
                                                                                        • +3
                                                                                          В идее такое и есть: Power Save Mode.
                                                                                          • 0
                                                                                            Не после каждого чиха, а когда в проекте появляется новый jar. Это вообще-то не должно происходить часто.
                                                                                            У меня такое было, когда наш билд-скрипт был написан так, что сначала стирал все jar'ы из проекта и потом заново их копировал (ant ivy:clean ivy:retrieve). Вот тогда да, IDEA начинала все jar'ы заново индексировать.
                                                                                            Но лечится это просто — напишите нормально скрипт.
                                                                                          • 0
                                                                                            И памяти больше жрет на сравнимых по сложности проектах (хотя возможно это и от кривых плагинов).

                                                                                            Сам год работал в Эклипсе, потом пересел на Идею и назад уже не вернусь. Эклипс открываю только тогда, когда надо работать со специфическими плагинами — эта среда по сути сейчас стандарт для академического CS комьюнити.
                                                                                          • +2
                                                                                            IDEA как бы да лучше. Но к сожалению ее просто не всегда можно использовать.
                                                                                            Когда появилась коммунити edition — то я попробовал для разработки под android перейти на IDEA — тогда мы как раз курочили исходинки android. Выбрал создать android проект из исходников, натравил на папку с исходниками — IDEA начала создавать проект — после четырех часов ожидания, пришлось ее прибить, вздохнуть и остаться на eclipse.

                                                                                            При этом на eclipse тот же импорт был минут за 20, рефреш занимал теже минут 20 всего дерева.
                                                                                            • 0
                                                                                              Какая версия IDEA?
                                                                                              • 0
                                                                                                Это был, нобярь 2010-того когда я пробовал. Какая тогда была версия я не помню.
                                                                                                • 0
                                                                                                  По-моему 9-я тогда была.
                                                                                                  Они сильно ускориили это дело в 10-й и 11-й версиях, чем многих обрадовали.
                                                                                                  Советую попробовать.
                                                                                            • +6
                                                                                              Возник такой маааааленький вопрос… Я не в первый раз вижу споры что лучше: Eclipse или Idea. Но постойте! Есть же ещё Netbeans! Он считается плохой IDE, что его все вечно забывают?
                                                                                              • +3
                                                                                                По-моему его пока просто не воспринимают всерьёз.
                                                                                                • +3
                                                                                                  Все последние 13 лет?
                                                                                                  • 0
                                                                                                    Я за этим всем наблюдаю только с 2007 года и тогда уже Eclipse достаточно сильно обгонял по популярности NetBeans (про IDEA не помню, что тогда видел, но в любом случае возможности по маркетингу у коммерческого продукта гораздо выше), но мне тогда NetBeans больше понравился с точки зрения дизайна (более лаконичным показался нежели Eclipse) и этого тогда было достаточно:)
                                                                                                    Что до популярности, мне почему-то кажется, что это из-за того, что Eclipse — это несколько больше чем IDE — это коммьюнити, я не знаю когда оно сформировалось, но факт, что оно сделало очень много чего полезного (вспомнились только Mylyn, BIRT, Equinox и EclipseLink, но проектов на самом деле гораздо больше) и для удобной работы с этими технологиями проще всего использовать естественно Eclipse.
                                                                                                    NetBeans же это практически IDE + платформа насколько мне известно.
                                                                                                • 0
                                                                                                  Я пробовал как-то (до этого уже работал с эклипсе и idea) меня сразу что-то его автокомплит опечалил )) и ушел с него. Но хочу заметить инструмент для графического создания интерфейсов довольно хорош, эта функция там нравиться
                                                                                                  • +4
                                                                                                    Тоже был удивлен этим фактом. Для меня по качеству:
                                                                                                    1-2. IDEA & Netbeans
                                                                                                    3. Eclipse
                                                                                                    Эклипс вообще никогда не нравился ни по интерфейсу, ни по слабоватому функционалу голой среды (сейчас не знаю, но раньше даже SVN в поставку не входил, а Netbeans при этом понимает как SVN, так и Mercurial, а сейчас еще и Git начинает понимать. Интеграция со спрингом и т.п. тоже доставляет проблемы). Единственное, чем выигрывает Эклипс так это обилием плагинов, которых субъективно больше, чем нетбинсовских.
                                                                                                    • 0
                                                                                                      Полагаю, из-за того, что в каталог NetBeans сложнее попасть (жестче модерация). Качество против количества.
                                                                                                    • +3
                                                                                                      А есть еще и JDeveloper, который даже и вспоминать не пытаются.
                                                                                                      • 0
                                                                                                        Конечно, зачем его вспоминать :-)
                                                                                                        IMHO, не самая удачная IDE для Java.
                                                                                                      • –3
                                                                                                        нетбинс хорош для всего, кроме редактирования java-кода.
                                                                                                        • +2
                                                                                                          на основании чего такое категоричное утверждение?
                                                                                                      • 0
                                                                                                        Автор сознательно умолчал про такую штуку как Auto build. Который прекрасно работает в еклипсе, но отсутствует в идее как таковой. И после рефакторинга всегда нужно полностью пересобирать все модули проекта чтобы убедится что ничего не поломалось. В еклипсе же с этим все ок.
                                                                                                        • +10
                                                                                                          Начнем с того, что в Idea вообще очень редко что-либо ломается после рефакторинга.
                                                                                                          Кроме того, по своей идеологии Idea и не требует регулярной пересборки проекта — его статический анализатор итак постоянно работает и находит ошибки без всяких пересборок.
                                                                                                          • +1
                                                                                                            То, что IDEA не билдит сразу — есть такое. Но может, это и не нужно? Потому что IDEA билдит автоматически, как только вы попытаетесь запустить приложение, юнит-тесты или ещё чего-нибудь. Так что если вы девелопите по-православному, то есть запускаете соответствующие юнит-тесты после изменения кода, то проблемы нет.
                                                                                                            • 0
                                                                                                              То, что IDEA не билдит сразу — есть такое. Но может, это и не нужно?
                                                                                                              Ну да, в IDE нужно куча всяких других весёлостей, типа автоподстановки при отладке (лично я подобным вариантом ватча пользуюсь раз в месяц), но не нужен инкрементальный авто билд, который ежесекундно экономит кучу нервов и времени :)
                                                                                                              • +2
                                                                                                                Инкрементальный билд там есть. Но зачем же ежесекундный? o_O
                                                                                                                • 0
                                                                                                                  Что значит «ежесекундный»? Он же не работает каждую секунду, просто автоматически) Пользовался и нетбинсом (когда ещё под eclipse инструменты для javame были унылы) и идеей, но этого и там и там реально недостаёт. А в целом IDEA нравится, конечно. Но для работы бесплатной мало, да и кое-чего не хватает, ну и открытость в данном случае только в плюс.
                                                                                                                  • 0
                                                                                                                    в Netbeans есть 'Compile on Save'.
                                                                                                                    в IDEA можно поставить вызов компиляции на Ctrl+S и радоваться.
                                                                                                                    • 0
                                                                                                                      Автоматически — это при каких действиях? При сохранении файла? В IDEA файлы сами по себе сохраняются автоматически. После IDEA необходимость всюду жать Ctrl+S после каждого чиха раздражает.

                                                                                                                      Зачем вам сам по себе нужен автобилд? Чтобы обновить код на задеплоеном срвере? Так настройте настройте на Ctrl+S компиляцию текущего файла/модуля, если вам так удобней.
                                                                                                              • 0
                                                                                                                Вы это имеете в виду?
                                                                                                                • +1
                                                                                                                  А зачем билдить после каждого чиха? Что касается рефакторинга — не припоминаю, чтобы IDEA мне хотя бы раз испортила Java-код. С javaScript — бывало, но там и кейсы нетривиальные.
                                                                                                                • +12
                                                                                                                  Бедолагам, которые таки остануться на eclipse — для выделения выражения под курсором давим «Ctrl+Shift+Верх», если хотим выделить внешнее выражение давим повторно и т.д…

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

                                                                                                                  И для автозаполнения когда мы нажимаем Ctrl+Space — eclipse предлогает много разного, но обычно уже на первом месте стоит то, что мы ищем. Так что можно спокойно сопровождать эту комбинацию Enter-ом и в 99% всё будет хорошо.

                                                                                                                  Если не хватает в eclipse горячих клавиш, нажимаем два раза Ctrl+Shift+L, и добавляем / изменяем как нам нравиться, например Ctrl+Alt+P для «Introduce Parameter»

                                                                                                                  Ничего не имею против Idea. Никогда не пробовал так как очень хорошо владею eclipsе-ом. Так же не играю на пиано, так как всё свободное время уходит на гитару :)
                                                                                                                  • 0
                                                                                                                    А не подскажете, как в Эклипсе сделать такую штуку, которой очень не хватает после Идеи:

                                                                                                                    В Идее можно написать
                                                                                                                    aaa = someObject.someMethod();
                                                                                                                    И она сможет сама проставить тип переменной aaa.
                                                                                                                    А в Эклипсе приходится сначала залазить в явадоки, смотреть возвращаемый тип и печатать его полностью, так как Эклипс, похоже, не комплитит названия классов, которые ещё не заимпортили. Реально замедляет разработку при работе с чужим кодом, когда ещё не помнишь точные названия всех классов.
                                                                                                                    • +2
                                                                                                                      Обе IDE умеют это.
                                                                                                                      Этот рефакторинг называется «Introduce variable». В IDEA он вызывается кнопками Ctrl+Alt+V (от «variable»), а в Eclipse он называется «Extract local variable» и вызывается кнопками Alt+Shift+L (видимо, от «local»).

                                                                                                                      Правда, в Eclipse нужно сначала аккуратно выделить всё выражение, которое требуется засунуть в переменную.
                                                                                                                      Что и делает его использование в Eclipse неудобным. Не удивлюсь, если большинство эклипсоидов его не используют.
                                                                                                                      • +3
                                                                                                                        Ах вот оно в чем дело, Вы наверное очень давно elipse не пользовались.

                                                                                                                        Нажимаем В ЛЮБОМ МЕСТЕ этой строчке Ctrl+1, смотрим на предлагаемые варианты, в 99% то что нам надо — стоит сверху, так что жмём Enter.

                                                                                                                        Ctrl+1 — это вообще магическая комбинация в eclipse, она работает в зависимости от контекста (ой где-то я уже видел в этой статье употребление этого термина), так что такие сложности как «Alt+Shift+L» запоминать не надо. Если чего-то надо, жмём Ctrl+1 и это правильно :)
                                                                                                                        • 0
                                                                                                                          Действительно Ctrl+1 помогает, но далеко не всегда.
                                                                                                                          Если поставить в середине строки курсор и нажать Ctrl+1, во-первых, она предложит решить ПЕРВУЮ проблему в строке, а не ту, которую мне надо. А во-вторых, чтобы выделить часть строки в переменную, мне всё равно надо сначала её выделить курсором.
                                                                                                                    • 0
                                                                                                                      > Если не хватает в eclipse горячих клавиш, нажимаем два раза Ctrl+Shift+L, и добавляем / изменяем как нам нравиться

                                                                                                                      к сожалению в эклипсе очень маленький список фич, т.е. шорткаты попросту не на что вешать

                                                                                                                      я вот не понимаю этого, почему нельзя открыть список фич идеи и тупо их закодить в эклипсе?
                                                                                                                      пусть они будут под другими названиями и изначально без шорткатов
                                                                                                                      главное чтобы были

                                                                                                                      в notepadd++ больше фич редактирования текста чем в эклипсе
                                                                                                                      ладно уж идеевские, но хотя бы эти добавьте уже станет комфортнее жить в эклипсе
                                                                                                                      • 0
                                                                                                                        приведите пару примеров, может они таки есть.
                                                                                                                    • +16
                                                                                                                      Автор молодец — одним топиком разрешил мировой спорт!
                                                                                                                      C нетерпение ждем продолжение серии статей: «Почему Win лучше Unix» и «Почему С# лучше Java»! :-)
                                                                                                                      • 0
                                                                                                                        *cпор
                                                                                                                        • +2
                                                                                                                          Вы что, хотите, чтобы на хабре началась кровавая резня «все против всех»?
                                                                                                                          • +7
                                                                                                                            А она что, когда-то прекращалась?!
                                                                                                                            • +3
                                                                                                                              (поёт Градский):

                                                                                                                              И вновь продолжается бой!
                                                                                                                              И сердцу тревожно в груди!
                                                                                                                              Андроид такой молодой,
                                                                                                                              Но всё же айфон впереди!
                                                                                                                      • 0
                                                                                                                        Кстати, emacs тоже понимает контекст, в отличии от vim :)
                                                                                                                        • 0
                                                                                                                          вы имели в виду CEDET?
                                                                                                                          • 0
                                                                                                                            CEDET может как с парсером (semantic) так и без парсера работать, тупо по тэгам.
                                                                                                                            Я не осилил настроить его под python и перешёл на ropemacs, который ведёт себя вполне в (описанном тут) духе IDEA.

                                                                                                                            Насколько я знаю, многие prog-mode сами по себе парсят сорцы и строят AST на предмет подсветки синтаксиса, автоотступов, автодополнения и всяких C-M-f.
                                                                                                                      • +2
                                                                                                                        Если вам нужны красивые иконки, платформа для создания настольных приложений, или IDE для C++, то Eclipse, вероятно, предпочтительнее. Если же вы серьёзный Java-программист, и вам нужна среда, позволяющая быстро и удобно вести разработку, сосредоточившись на проблеме и не отвлекаясь на средство разработки, то IDEA — это то, что нужно.

                                                                                                                        Ну уж прямо совсем круто. IDEA — используют серьезные ребята, а Eclipse — домохозяйки кто-то, кому нравятся красивые иконки. :-) Не совсем согласен с этим, но а в целом статья полезная, спасибо.
                                                                                                                        • +1
                                                                                                                          Роль красивых иконок нельзя переоценить, на самом-то деле. Все-таки я их вижу по нескольку часов ежедневно.
                                                                                                                        • +7
                                                                                                                          >> Eclipse красивее

                                                                                                                          Пардон, но это исключительно дело вкуса. Лично я когда-то начал присматриваться к Идеи исключительно из-за того, что она красивее Эклипса, дизайн которого мне очень сильно резал глаз.
                                                                                                                          • –1
                                                                                                                            Забыл добавить: я говорю о Windows-версии (в Linux'e Идея выглядит немного иначе)
                                                                                                                            • 0
                                                                                                                              так же как и eclipse на linux-е выглядит неидеально :)
                                                                                                                          • +3
                                                                                                                            Я лучше расскажу, что в Eclipse сделано лучше, чем в Idea.

                                                                                                                            1. Eclipse только одно сочетание клавиш completion, оно работает для context completion, и для разворачивания шаблонов и также оно работает для override. Т. е. если курсор стоит в теле класса (снаружи метода), то Cmd-Space предлагает методы, которые можно переопределить. А ещё такой completion внутри класса предлагает написать геттеры и сеттеры. В Idea для этих действий сочетания клавиш разные.

                                                                                                                            Причём в Idea даже для context completion два разных сочетания клавиш (простой и по ожидаемому типу результата). Eclipse тоже умеет подсказывать под типу результата, он просто такие подсказки показывает вверху списка.

                                                                                                                            2. В Eclipse есть такое сочетание клавиш quick fix, которое всегда предлагает контекстно что-то улучшить: исправить тип переменной, поставить фигурные скобки у блока, сделать pull negation down, удалить неиспользуемую переменную, introduce variable и т. п. В Idea для этих действий нужны разные сочетания клавиш.

                                                                                                                            3. В отличие от Idea, окошко outline в Eclipse показывается без заголовка, а панелька сверху занимает гораздо меньше места, чем в Idea.

                                                                                                                            4. В Eclipse не надо нажимать на кнопку make, чтобы узнать, что изменение в этом файле поломало код в каком-то другом файле. Это, наверное, одна из самых важных фич Eclipse.

                                                                                                                            5. В Idea call hierarchy только вызывать только с метода, а в Eclipse ещё и с поля и с конструктора.

                                                                                                                            ©stepancheg
                                                                                                                            • 0
                                                                                                                              IDEA на самом деле предлагает выбор. У неё есть и разные клавиши для разных действий, но у неё и и одна клавиша, которая делает всё (quick fix) — Alt+Enter.

                                                                                                                              То, что IDEA не билдит сразу — есть такое. Но может, это и не нужно? Потому что IDEA билдит автоматически, как только вы попытаетесь запустить приложение, юнит-тесты или ещё чего-нибудь. Так что если вы девелопите по-православному, то есть запускаете соответствующие юнит-тесты после изменения кода, то проблемы нет.
                                                                                                                              • 0
                                                                                                                                Билдит не сразу, чтобы не падала скорость, но это с лихвой окупается их парсером и полной индексацией. У меня всего раз (на версии 7 еще) была ситуация, когда IDEA подсветила баг, где его не было. Там сложные generic'и были.
                                                                                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                                • +1
                                                                                                                                  5. Для таких вещей есть — Analyze dataflow to here ибо переменные это не методы, а данные
                                                                                                                                • +2
                                                                                                                                  >>Eclipse тоже умеет подсказывать под типу результата, он просто такие подсказки показывает вверху списка.

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

                                                                                                                                  По всем остальным пунктам уже ответили — от себя добавлю по пункту 4.
                                                                                                                                  Для меня пункт 4 в купе с отсутствием автосохранения — это один из самых больших недостатков Эклипса. Я считаю, что есть написание кода, а есть компиляция — это два разных процесса. Я не всегда хочу компилировать текущий код, но при этом хочу, чтобы всегда были сохранены мои последние изменения в коде. Эклипс же считает компиляцию чем-то таким, что даже недостойно отдельного хоткея, но при этом заставляет помнить о необходимости сохраняться (особенно это раздражает при переключении перспектив, когда начинают выскакивать окошки с требованиями сохранить изменения).
                                                                                                                                • +1
                                                                                                                                  Хочется подчеркнуть по контекст: нужно понимать что IDEA реально понимает весь проект, а не просто текущий код (поэтому при первом открытии так долго индексирует), и не только для jvm языков. Например автодополнение тегов jsp/html подсказывает/дополняет подходящие сюда css стили, функции и объекты js. При переименовывании css класса он автоматически переименовывается везде где используется. Или показывает в коде связанные бины спринга, или связи всех частей для Grails (конечно с автодополнениями). Ну и т.д.

                                                                                                                                  Совершенно естественные вещи, но когда я последний раз видел эклипс он большинство не поддерживал.
                                                                                                                                  • +3
                                                                                                                                    Сколько бы не было плюсов у OpenSource но, например в PhpStorm, мы имеем настроенную систему Все-в-Одном, которая работает ОЧЕНЬ качественно и продуманно. Иногда такое ощущение что IDE читает мои мысли. Кроме того работает очень быстро и тянет огромные проекты без проблем

                                                                                                                                    В Eclipse же мы имеем кучу доп. плагинов, многие из которых то заброшены, то не поддерживают последнюю версию, то работают не так как хотелось бы. Можно сравнить с мобильным телефоном — куча всего и все так себе работает.

                                                                                                                                    В этом плане я за проприетарщину — заплатил раз (не так и много) и не мучаешься в дальнейшем
                                                                                                                                    • 0
                                                                                                                                      Я несколько раз пробовал перейти с NetBeans на PhpStorm, но всегда были вещи, которые меня останавливали. Вот не везло как-то, может просто плохо разобрался? Вы не можете подсказатть (я так понимаю, что Вы работаете в phpStorm, думаю, хорошо в нём разбираетесь), как настроить autocomplete для namespase? Скажем, у меня прописаны константы в \Project\Settigs\, и я начинаю набирать \Pro, а оно мне советует что угодно, но только не \Project. Ладно, думаю, напишу вручную, дописал, начинаю набирать \Project\Set — то же самое. В конечном итоге, когда ввёл в ручную уже \Project\Settigs\ оно всё еще не может догадаться, что мне нужны константы из этого namespace… NetBeans уже с одного только бекслеш понимает, что надо подсказывать пути для namespace, а потом и извлечь и предложить имена констант.

                                                                                                                                      Я всё думаю, что что-то не так делаю, может подскажете как с этим разобраться?

                                                                                                                                      По многим параметрам реально нравится, но если не работает что-то, на что в проекте активно опираешься, то сразу как-то всё остальное становится бесполезным.
                                                                                                                                      • 0
                                                                                                                                        Даже не знаю как Вам помочь. Ничего не настраивал специально. Само работает
                                                                                                                                        • +1
                                                                                                                                          Возможно вы переходили как раз тогда когда с namespace там непонятки были в ПХП. Сейчас вроде все окей
                                                                                                                                          • 0
                                                                                                                                            Последний раз пробовал с месяц назад, думаю. В любом случае спасибо за ответ, попробую еще с более свежей версией.
                                                                                                                                      • –8
                                                                                                                                        Зато у Eclipse есть Google Plugin for Eclipse. И если Вы хотите писать на GWT, то увы, юзайте eclipse.
                                                                                                                                        • +4
                                                                                                                                          Какая ерунда, у идеи тоже есть прекрасный GWT support
                                                                                                                                        • +1
                                                                                                                                          Я боюсь, что основная проблема в том, что люди привыкли к Eclipse. И не хочется ничего менять. Особенно когда ты знаешь где в Eclipse какие грабли лежат. Другими словами, переход с Eclipse на что-то другое — выход из зоны комфорта. Мне нравится IntelliJ и в свободное от работы время я пользуюсь только им, но на работе у нас используется Eclipse и вряд ли удастся от него отказаться, потому что он пророс глубже некуда.

                                                                                                                                          P.S. Какая комбинация клавиш в Eclipse для инкрементального выделения(в IDEA это Ctrl+W)?
                                                                                                                                          • 0
                                                                                                                                            Аналог Ctrl+W в Eclipse — это Shift+Alt+стрелка (влево, вправо, вверх — у каждой свой смысл).
                                                                                                                                            Мне показалось, что эклипсовский вариант работает хуже, в том смысле, что IDEA лучше понимает, какие слова выделять.
                                                                                                                                          • 0
                                                                                                                                            Спасибо! Приятное окончание рабочей пятницы.
                                                                                                                                            • +1
                                                                                                                                              Странно, что никто ничего не сказал про Emacs + CEDET.
                                                                                                                                              В JetBrains`овских продуктах есть одна большая проблема — они собственно на Java, из-за чего:
                                                                                                                                              1. Дикие тормоза на нетбуках.
                                                                                                                                              2. Вырвиглазнейшее сглаживание шрифтов под линуксами.

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

                                                                                                                                              При этом их же решарпер на том же нетбуке работает вполне себе хорошо.