Затмение зверь. Устройство, тайна которого превосходит только его сила. Некоторые называют это трансфункционером континуума . Другие назвали бы это трансмогрификатором . Да, он настолько огромен, что овладевает годами. А потом появляется ваш менеджер и говорит вам: мы сейчас используем NetBeans.
Просто шучу. Никто не использует NetBeans, кроме Адама Бьена . Итак, давайте посмотрим на 5 очень полезных, но скрытых функций Eclipse.
1: Моя любимая функция: Избранное
Каждый использует библиотеки со статическими методами. Начиная с Java 5, мы можем импортировать их статически, поэтому нам больше не нужно писать что-то вроде:
1
|
SomeVeryImportantUtility.split(string1, string2); |
Но кто собирается статически импортировать все эти методы вручную в каждый класс, ссылающийся на них? Ни один. Никто. Потому что вы можете определить ваши любимые типы и члены в настройках:
А затем просто начните вводить текст и ищите автозаполнение:
Автозаполнение также будет генерировать необходимый статический импорт. Например, очень полезно при использовании DSL со многими функциями. Очевидно, вы захотите принять осторожное решение, какие из них действительно являются вашими любимыми библиотеками, а какие из ваших любимых библиотек. Поскольку вы находитесь в блоге jOOQ (или его синдикации), позвольте мне дать вам подсказку. Всегда любимый org.jooq.impl.DSL
.
2: потрясающий режим выбора блока
Я недавно писал об этом здесь . Это так здорово, это заслуживает упоминания еще раз.
Обратите внимание на выделенную кнопку, шестую слева. Это потрясающий «Режим выбора блоков» (Alt-Shift-A в Windows или Ctrl + 3, а затем ввод блока выбора). Это позволяет вам писать открывающие кавычки на каждой выбранной строке в той же позиции. Это так полезно, когда вам нужно редактировать большое количество практически одинаковых строк.
3: промежуточное представление EGit
По-видимому, не каждый пользователь EGit знает об этом представлении. На самом деле, для меня эта точка зрения является наиболее важной причиной, почему я НЕ использую команды оболочки. Проверьте эту красоту:
ОК, не совсем красота. Напоминает мне об этом комиксе Эрика Бёрка . Но мы находимся в стране трансмогрификаторов, и промежуточное представление заполнено изменениями, ожидающими добавления / подтверждения / отправки после того, как вы синхронизируете репозиторий с его источником. Теперь я могу выбирать для каждой отдельной строки, какие изменения я хочу добавить в индекс (обратите внимание, я не добавил основной метод). Это приводит к поэтапному (добавленному) изменению и нематериальному (еще не добавленному) изменению. Как всегда в EGit, теперь я могу либо напрямую зафиксировать, зафиксировать + нажать, изменить + зафиксировать, изменить + зафиксировать + нажать за один раз. Попробуйте сделать это в командной строке.
Теперь, после этого первого коммита, я снова могу добавить / добавить метод main в отдельный коммит. Я полагаю, что это может быть реализовано с использованием кеширования или другого локального кэша. Мне все равно, это красиво!
Я, вероятно, могу сделать намного больше с этой красотой, но это заняло бы целую книгу (я жду такой книги, @niborst , если вы читаете это)
Если вы не поняли ни одного из вышеперечисленных Git talk, попробуйте это популярное руководство или присоединитесь ко мне с…
4: Тип фильтров
Да, потому что автоматическое заполнение Eclipse — это нонсенс . Да, это! Никто на самом деле не хочет вызывать hashCode()
или wait()
или notifyAll()
для API. Когда-либо. На самом деле, в настоящее время вряд ли кто-то даже захочет вызвать wait()
или notify()
даже для объекта блокировки, кроме случаев, когда они пишут библиотеки параллелизма JDK. Но, к счастью, кто-то другой делает это бесплатно, и они наверняка используют vi или emacs или редактор шестнадцатеричных кодов, поэтому они не возражают против методов Object
.
Итак, почему мое всплывающее окно автозаполнения заполнено этой ерундой? Давайте создадим класс …
Ух ты. Я думал, у меня был только один метод? Я не возражаю против equals()
, хотя несколько раз, когда я на самом деле набираю equals()
я могу это напечатать. Итак, давайте удалим этот материал:
Спасибо Eclipse за упоминание awt тоже. Хотелось бы, чтобы была возможность полностью удалить awt из JDK и из нашей коллективной памяти. Но, по крайней мере, добавление awt в фильтры типов избавляет вас от необходимости выбирать между импортом java.util.List
(99,9%) и java.awt.List
(8,3%). Ошибка округления связана с тем, сколько раз вы случайно выбирали неправильный список и удивлялись, почему вы не можете назначить ArrayList
. Еще раз спасибо, AWT. Также обратите внимание, как мой хамелеон Windows 8 изменил цвета окон при создании снимков экрана. Плитка, что дальше? В любом случае, вернемся к Eclipse, попробуем выполнить автозаполнение еще раз …
Лучше? Лучше!
Теперь…
5: теги форматера
После того, как вы потратили все это время на выбор блоков, тщательно отформатировав наш SQL … bam приходит к специалисту и / или styleguide-nazi и автоматически форматирует все ваши прекрасные исходные файлы в одну строку. Но не намного дольше. Защитите свой код с помощью простых в использовании тегов форматирования :
Не забудьте использовать что-то сжатое для защиты своего тщательно созданного SQL, так как вам, возможно, придется вводить эти теги один или два раза:
Никто не трогает этот код снова. За исключением стажера, который забыл и / или styleguide-nazi, который отказывается применять ваши настройки форматирования. И другой стажер, который использует NetBeans. Просто шучу. Никто не использует NetBeans.
Опять же, эти теги прекрасно работают с DSL, которые трудно отформатировать автоматически.
Еще не все
Эклипс — удивительный зверь. Каждый год в новые версии добавляются новые функции, которые мы, Java-разработчики, получаем бесплатно! Вы можете вернуть Eclipse. Хотя я думаю, что основа (поддерживаемая IBM) может не сильно полагаться на пожертвования, лучше всего сообщать об ошибках и запросах функций здесь: https://bugs.eclipse.org/bugs… или, если вы смелы, подписать CLA и начать вносить свой вклад .
В этом потрясающем устройстве для разработчиков всегда есть место для улучшения, добавляя больше материала и кандидатов в мой следующий топ-5.