Затмение зверь. Устройство, тайна которого превосходит только его сила. Некоторые называют это трансфункционером континуума . Другие назвали бы это трансмогрификатором . Да, он настолько огромен, что овладевает годами. А потом появляется ваш менеджер и говорит вам: мы сейчас используем NetBeans.
Просто шучу. Никто не использует NetBeans, кроме Адама Бьена . Итак, давайте посмотрим на 5 очень полезных, но скрытых функций Eclipse.
1: Моя любимая функция: Избранное
Каждый использует библиотеки со статическими методами. Начиная с Java 5 мы можем импортировать их статически, поэтому нам больше не нужно писать что-то вроде
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 или hex-редактор, поэтому они не возражают против 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) может не сильно полагаться на пожертвования, ваш лучший вариант — сообщать об ошибках и запросах функций, здесь:
… или, если вы смелы, подпишите CLA и начните вносить свой вклад .
В этом потрясающем устройстве для разработчиков всегда есть место для улучшения, добавляя больше материала и кандидатов в мой следующий топ-5.