10 возможностей быть продуктивнее с Eclipse для Java разработчиков

  • Tutorial


Многие из вас знают, как эффективно повышает производительность использование горячих клавиш, шаблонов кода и очень клёвой строки поиска (Quick Access), но я бы хотел рассказать о десяти возможностях, которые знают не все.

1. Code Recommenders


Code Recommenders – восхитительный умный плагин, подсказывающий код при написании. Раньше когда мы нажимали Ctrl+Space, мы видели все методы, переменные и шаблоны, многие из которых могли бы быть совершенно бесполезными; плагин Code Recommenders же выбирает полезные методы, которые применимы в данном случае и упорядочивает их по актуальности – по вероятности, с которой мы используем метод в данном контексте. А SnipMatch из Code Recommenders и вовсе позволяет вставлять целые блоки шаблонного кода. За подробностями и установкой сюда.




2. Type Filters


Type Filters удаляют рекомендации выбранных типов отовсюду. Просто отовсюду. Eclipse PDE разработчикам, например, постоянно мешают Label, Button и другие AWT классы, потому что они пишут на SWT, и уж тем более нет никакого смысла встречать List из AWT, если ты пишешь библиотеку. Так что заходим в Preferences… нет, не так. Нажимаем Ctrl+3 и начинаем вводить “Type Filters”, заходим на соответствующую страницу настроек и если необходимо добавляем java.awt* и javax.swing*.



3. Favorites


Бывает и другой случай – когда хочется всегда видеть какие-нибудь сердцу родные статические методы. Например, я часто использую предусловия из библиотеки Guava – Preconditions.checkArgument(boolean) и Preconditions.checkNotNull(T), которые являются настолько базовой необходимостью, что при настройке Eclipse я сразу захожу в Favorites и добавляю туда com.google.common.base.Preconditions.



4. Organize imports on save


Возможно, у кого-то уже выработался рефлекс нажимать Ctrl+Shift+O для отчистки ненужных импортов при виде желтых полосочек у верхней части вертикальной полосы прокрутки редактора, а, возможно, кто-то нажимает это сочетание клавиш безусловно перед сохранением. Но не беспокойтесь так, этого можно не делать – заходим в “Save Actions”, выбираем “Perform the selected actions on save” и убеждаемся, что “Organize imports” выбрано – теперь ненужные импорты сами будут удаляться при сохранении. Кстати там же есть ещё множество полезных действий, таких как расстановка недостающих аннотаций Override, удаление ненужных преобразований типов, удаление мёртвого кода или форматирование только отредактированных строк, и даже имеются такие “весёлые” возможности, как преобразование обычных for в foreach или безымянных классов в лямбды.



5. Display


Display – это такая вьюшка (view), которая даёт вам силу использовать отладчик как настоящий ниндзя. Код из вьюшки Display запускается в контексте текущей отладки. Пишем строчку кода, выделяем её, нажимаем Ctrl+U, и код запускается, а нажимаем Ctrl+Shift+V – код не только запускается, но и результат его вызова печатается рядом с нашим кодом в Display. Помимо этого, выделенный текст можно отправить в Watch Expressions. Все эти действия также имеются на панели инструментов вьюшки.



Замечания

  • Любой выделенный текст можно отправить в Watch Expressions командой “Watch”. Для этой команды нет хоткея по умолчанию, но вы ведь знаете, что в Eclipse любой команде можно назначить коткей.
  • Клавиши Ctrl+U и Ctrl+Shift+V работают и в том случае, если вы выделяете текст прямо в редакторе кода; в случае нажания Ctrl+Shift+V результат будет показан в вылетающем окошке.


6. Show Logical Structure


Одна из неприятнейших вещей при отладке – это ковыряться с содержимым TreeMap или LinkedList, потому что во вьюшке Variables они представлены неудобным образом, что соответствует их реальной структуре, но не соответствует логической структуре. Кнопочка “Show Logical Structure” на панели инструментов вьюшки Variables как раз делает так, чтобы мы видели содержимое таких коллекций (и не только) в удобном для нас виде. Заодно эта кнопка меняет вид отображения объектов при наведении мышкой. Эта кнопка выглядит как изображение дерева, рядом с которым слева жёлтенькая стрелочка.



7. Bookmarks


Bookmarks – собственно, вьюшка для работы с закладками. Бывает полезной, когда нужно разобрать целую тонну какого-нибудь кода, поскольку позволяет переходить к “избранным местам” кода и делать заметки по ним – добавляются закладки кликом на область слева от редактора, “Add Bookmark...”, но лучше, конечно, какой-нибудь хоткей назначить (например, Ctrl+B – всё равно он бесполезен, т.к. назначен на “Build All” по умолчанию).



8. Split Editors


После 12 лет, 200 голосов, и 181 комментария, разделение редакторов таки было реализовано в Eclipse. Горизонтальное разделение – Ctrl+_ (Ctrl+Shift+-), а вертикальное – Ctrl+{ (Ctrl+Shift+[). Ура! Мы можем редактировать две части файла одновременно! Кстати, эти две части воспринимаются как разные редакторы при переключении между редакторами (при нажатии Ctrl+F6 или Ctrl+Shift+E, но не при нажатии Ctrl+E).



9. FindBugs, Checkstyle, PMD Eclipse


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



Замечу, что FindBugs, Checkstyle и PMD Eclipse все есть в Eclipse Marketplace, так что их установка происходит крайне просто через Help → Eclipse Marketplace… без гугления и посещения каких-либо сайтов.

10. Plugins


Сила Eclipse вообще в возможности использовать любые плагины, которые вам могут понадобиться, это относится не только к плагинам проверки кода. Нужен дизассемблер Java? Есть JD-Eclipse. Нужна интеграция с Maven или Apache Ivy? Есть m2e и Apache IvyDE. Не можете понять 5000 строчек кода сборки вашего проекта на Ant? Есть Ant Visualizer. Беспокоитесь о мёртвом коде? Есть Unnecessary Code Detector. Хотите “рисовать” окошки SWT с помощью WYSIWYG редактора? Есть WindowBuilder.



11. Секретная возможность


Интересоваться продуктивностью – интересоваться, как правильно пользоваться теми инструментами, что вы используете, и какие новшества в них вводятся.

А какие возможности повышают вашу производительность работы в Eclipse?

Материалы по теме


  1. Eclipse for Java Developers. Навигация и редактирование – статья на Хабре про горячие клавиши в Eclipse IDE for Java Develipers. Кстати, Ctrl+Shift+L — горячая клавиша всех горячих клавиш.
  2. My Top 10 Tips on how to be more productive with the Eclipse IDE — Jordi Böhme López
    подсказывает 10 полезных возможностей Eclipse.
  3. Tips and Tricks (JDT) из документации Eclipse – множество простых советов, покрывающих довольно большую часть функционала JDT.
  4. Eclipse Luna — New And Noteworthy – некоторые новые возможности Eclipse Luna, в частности возможности для Java разработчиков.
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 30

    –16
    Разве такое возможно с Eclipse?
      +1
      Что именно «такое»?
        –10
        Попробуйте Intellij IDEA.
          +4
          Я работаю в IDEA около 8 лет, начиная еще где-то с 6-й версии. Тем не менее, ваш первый комментарий для меня не понятен.
            –9
            Серьёзно?
              –6
              Если так, то странно, зачем вы используете Eclipse под Linux. Я прямо на скриншотах вижу ужасные шрифты и _огромные_ высоты строк в таблицах и деревьях, откусывающие кучу места тулбары. Просто сравните с Windows-версией Eclipse (там всё ок). В интернете пишут про шаманство с шрифтами и темой GTK, но идеального решения нет ни у кого. Из-за этого перешел на Idea и поразился, что всё может работать «искаробки».
                +3
                Как раз таки у Идеи под линухом большие проблемы со шрифтами, у эклипса с этим «искаробки» все ОК, если конечно небыло каких-то кастомизаций, но это уже сам себе редиска!
                  +7
                  image
                  Linux Mint — все по дефолту, та же ситуация и в убунте.
                    –11
                    Так сами же себе противоречите. Слева — четкие шрифты, справа — размытые (да вы просто сравните начертание слов Hello & Idea, про bold я вообще молчу). Уменьшаете шрифт у Эклипс, и они становятся совсем нечитаемыми.
                      +7
                      Ну наверное у нас разное восприятие шрифтов, мне лично в эклипсе шрифт кажется идеальным, а в идее (тот что слева) просто ужасным!
                        –6
                        Поменяйте тему на Dracula и будет Вам счастья в Idea
                        +4
                        + в эклипсе все понятно, когда новый файл, ошибка, ворнинг, незакомиченные изменения, в каком бранче находишься и т.п., а в идее «разукрашка» какая-то… ИМХО конечно

                        image
                          0
                          Здесь соглашусь. И ещё интуитивный помощник по Ctrl+Space лучше. А по шрифтам Idea всё же выигрывает на мой взгляд. Или попробуйте Eclipse под Windows — там шрифты не нравятся?
                            +3
                            Так у меня в Eclipse шрифты везде нормально и в Windows, и в Linux, и в MacOS, чего не скажешь про Idea…
                            –1
                            как по мне — наоборот
                            в скриншоте из эклипса куча мусора
              +1
              Спасибо. Иногда приходится программировать в Eclipse, поддерживая старый проект. Данная подборка хорошо поможет в разработке. А у вас все эти плагины установлены? Eclipse не стал сильно тормозить?
              P.S. Не ожидал что кто-то будет ссылаться на мою статью. Спасибо.
                0
                Я использую Code Recommenders, JD-Eclipse, Mylyn (не упоминался в статье), PMD и FindBugs. Если не включать автоматическую проверку PMD и FindBugs, то изменений в производительности не наблюдается — да там, собственно, и нечему тормозить в таком случае. Но автоматическая проверка PMD, по-моему, тоже никак не влияет на скорость работы Eclipse, да и выдаёт подсказки почти моментально, а вот FindBugs вызывает короткие подвисания при сохранении (и у PMD, и у FindBugs, конечно, проверка инкрементальная, т.е. проверяется только тот файл, который вы только что изменили).
                –3
                Соглашусь с предыдущими ораторами — ничто так не повышает производительность Java-разработчика в Eclipse, как переход на Idea. Да, есть случаи какой-то очень специфической разработки, когда Idea не умеет того, что умеют некоторые плагины к Eclipse. Да, первые две недели с новыми шорткатами и «как вы вообще тут живете без воркспейса» может быть непривычно. Но когда руки немного освоятся, наступает чистый незамутненный кайф от удобной среды, где все на своем месте и просто работает.
                  +1
                  У Idea есть пресеты раскладок Eclipse. К сожалению, они не полностью такие же, но на 90% — точно то, что нужно.
                    –1
                    Да, и пресеты есть, и импортер проектов, и форматировщик кода, но если уж нырять, то лучше с головой.
                    +2
                    Ну вот ни разу не слышал «как вы вообще тут живете без воркспейса». Сам не вижу в воркспейсах смысла, но зато много слышал «как вы вообще тут живете без воркинсета?», «как вы вообще тут живете видя только один проект?», «как вы вообще тут живете с такой ужасной поддержкой Git/Svn?», «как вы вообще тут живете с такими иконками)»… и т.п.
                      +1
                      Я под воркспейсом как раз и имел ввиду невозможность открытия нескольких проектов в одном окне. Когда сам переходил на идею года четыре дай бог памяти назад, меня это несколько удивило. А что в идее не так с поддержкой git/svn?
                        0
                        а мне воркспейсы в реальной жизни понадобились. когда есть несколько направлений разработки, и они НИКАК не связаны между собой, а каждое направление включает в себя кучу проектов ( так бывает чаще всего в случае разработки под Equinox OSGi ) без воркспейсов мне было бы совсем грустно.
                          0
                          Воркспейсы вам не мешают «открыть несколько проектов в эклипс». Это делается путём импорта проектов. воркспейсы — о другом. Можно, например, в разных воркспейсах подстраивать среду под разные задачи. К примеру, в контексте статьи — в одном workspace вы пользуетесь awt, в другом swt.
                            0
                            Да, возможность конфигурации окружения для разных задач — тоже удобно. Но под мои задачи в последнее время было достаточно тех возможностей, что предоставляет Idea. Хотя я не спорю, что для более экзотических условий Эклипс может подходить лучше.
                      –9
                      Если сравнивать продуктивность в целом, то idea сильно выигрывает по сравнению с eclipse, это очевидно. Особенно бурлескно выглядит:
                      После 12 лет, 200 голосов, и 181 комментария
                      Мне конечно не понятно как люди могут любить eclipse так же как люди могут любить жигули, но это их право.
                        –4
                        Как мы можете сравнивать продуктивность IDEA и Eclipse? Нужно смотреть на конкретном человеке. Каждый использует, что ему больше по душе.
                        И я думаю, что в сравнение два гуру idea и eclipse (примерно одного уровня знания проекта и знания языка в принципе) будут давать производительность примерно одинаковую.

                        И еще есть такая поговорка: «Каждый дроч*т так как хочет». На мой взгляд, она тут как раз уместна.
                          +2
                          В режиме отладки для «Watch» можно использовать стандартный хоткей Ctrl+Shift+i
                            +2
                            Что за фигня в комментариях выше? o_o Не, idea, конечно, хорошая IDE, но откуда столько активной неприязни к другим IDE?
                              0
                              Да, это даже странно, знаю некоторое количество программистов, которые «не переваривают» Eclipse, но сам отношусь к тем, кто не может работать с Idea. Что самое интересное, это то, что по всем моим измерениям работа в Eclipse никак не менее продуктивная, чем в Idea, это даже от человека гораздо больше зависит.
                              Мне даже иногда кажется, что это как тренд, которому нет логического объяснения.

                            Only users with full accounts can post comments. Log in, please.