Статьи

Топ 5 полезных функций скрытого затмения

Затмение зверь. Устройство, тайна которого превосходит только его сила. Некоторые называют это трансфункционером континуума . Другие назвали бы это трансмогрификатором . Да, он настолько огромен, что овладевает годами. А потом появляется ваш менеджер и говорит вам: мы сейчас используем 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) может не сильно полагаться на пожертвования, ваш лучший вариант — сообщать об ошибках и запросах функций, здесь:

https://bugs.eclipse.org/bugs

… или, если вы смелы, подпишите CLA и начните вносить свой вклад .

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