Eclipse for Java Developers. Навигация и редактирование

в 10:58, , рубрики: eclipse, java, горячие клавиши, эффективность работы, метки: , ,

Eclipse for Java Developers. Навигация и редактирование
Наблюдая за со своими знакомыми, которые недавно начали изучать программирование или перешли на Eclipse c другой IDE, я часто замечаю что они почти не используют вспомогательные инструменты среды разработки. Они либо не знают о них вообще, либо не понимают какую практическую пользу они могут принести.
Данная статья предназначена в основном для начинающих в работе с Eclipse. Но в процессе подготовки статьи я сам узнал о нескольких простых и удобных инструментах, которые за два года активной разработки ни разу не использовал.
В данной статье речь пойдет о навигации и редактировании.
Внутри скриншоты.

Так как, основная польза данных инструментов проявляется при использовании горячих клавиш, я составил следующие таблицы:

Навигация

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактирование Eclipse for Java Developers. Навигация и редактирование Описание
Ctrl+F +F Простой поиск/замена
Ctrl+H Ctrl+H Продвинутый поиск/замена
Ctrl+Shift+R +⇧+R Открыть ресурс
Ctrl+Shift+T +⇧+T Открыть логическую структуру(Класс)
Ctrl+Shift+G +⇧+G Найти вхождения переменной, метода, класса
Ctrl+LeftClick +LeftClick Перейти к реализации или определению класса, функции, переменной
Ctrl+L +L Перейти к линии с определенным номером
Alt+( left right ) +( [  ] ) Перемещение в предыдущее/следующее место просмотра в редакторе
Ctrl+Q +Q Перейти к последнему месту редактирования
Ctrl+E +E Показать список открытых в редакторе файлов
Ctrl+O +O Показать поля и методы класса
Ctrl+T +T Показать иерархию класса

Редактирование

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактирование Eclipse for Java Developers. Навигация и редактирование Описание
Ctrl+Space Ctrl+Space Автодополнение
Ctrl+1 +1 Возможные действия
Ctrl+Shift+O +⇧+O Организация импорта пакетов
Ctrl+Shift+F +⇧+F Автоформатирование кода
Ctrl+Shift+S +⇧+S Меню генерации кода
Shift+Alt+R ⇧+⌥+R Переименование переменной, метода, класса
Shift+Alt+M +⌥+M Выделение части кода в отдельный метод
Ctrl+Alt+(up|down) +⌥+(up|down) Дублирование строки
Alt+(up|down) ⌥+(up|down) Перемещение строки
Ctrl+/ +/ Однострочный комментарий
Ctrl+Shift+/ +⇧+/ Многострочный комментарий

Рассмотрим каждый инструмент более подробно:

Простой поиск/замена

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+FEclipse for Java Developers. Навигация и редактирование⌘+F

Eclipse for Java Developers. Навигация и редактирование

Данный инструмент присутствует в многих текстовых редакторах. Предоставляет возможность находить нужные вхождения текста в текущем документе. И при необходимости быстро заменить на другой текст.
Существует возможность поиска при помощи регулярных выражений, с помощью которой можно составить сложный поиск, однако используется крайне редко для поиска по одному классу.
Если выделить текст и применить данный инструмент — выделенный текст сразу подставится в поле поиска.
Применение:
— Быстрый переход к нужной части кода;
— Замена одного слова на другое. При необходимости написать две функции, которые идентичные по логической структуре, но работают с разными коллекциями, быстрее написать одну функцию, скопировать и сделать замену.

Продвинутый поиск/замена

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+HEclipse for Java Developers. Навигация и редактированиеCtrl+H

Eclipse for Java Developers. Навигация и редактирование

Данный инструмент имеет расширяет возможности, который был рассмотрен ранее.
Основные особенности:
— поиск по всем проектам, а не по одному;
— возможен как полнотекстовый поиск так и типизированный;
— при большом количестве файлов полнотекстовый поиск занимает большое количество времени.
Применение:
— Найти вхождения элемента или текста во всех проектах.

Открыть ресурс

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+Shift+REclipse for Java Developers. Навигация и редактирование⌘+⇧+R

Eclipse for Java Developers. Навигация и редактирование

Применение:
Быстрое открытий файла с данными или классом.

Открыть логическую структуру(Класс)

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+Shift+TEclipse for Java Developers. Навигация и редактирование⌘+⇧+T

Eclipse for Java Developers. Навигация и редактирование

Применение:
Быстрое открытие файла с классом. Другие файлы игнорируются.

Найти вхождения переменной, метода, класса

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+Shift+GEclipse for Java Developers. Навигация и редактирование⌘+⇧+G

Eclipse for Java Developers. Навигация и редактирование

Для выделенного элемента ищет его использование по всем проектам.
Применение:
Намного быстрее чем обычный поиск. Достаточно выделить элемент, применить инструмент и на экране список мест, где этот элемент используется.

Перейти к реализации или определению класса, функции, переменной

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+LeftClickEclipse for Java Developers. Навигация и редактирование⌘+LeftClick

При зажатой клавише Ctrl левый клик мышкой по элементу производит переходит к его определению или реализации.
Применение:
— легко обнаружить где объявлялась переменная;
— быстрый переход в реализацию класса или метода.

Перейти к линии с определенным номером

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+LEclipse for Java Developers. Навигация и редактирование⌘+L

Переход к строке с заданным номером.
Применение:
При взаимодействии программисты для того чтобы указать место в коде — называют файл и строку.

Перемещение в предыдущее/следующее место просмотра в редакторе

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеAlt+( left right )Eclipse for Java Developers. Навигация и редактирование⌘+( [  ] )

Возвращается на предыдущее/следующее место где просматривался исходный код.
Применение:
При углублении в реализацию одной из функций или класса, и возвращение назад.

Перейти к последнему месту редактирования

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+QEclipse for Java Developers. Навигация и редактирование⌘+Q

Возвращается на предыдущее место где редактировался исходный код.
Применение:
Быстрый возврат на место работы.

Показать список открытых в редакторе файлов

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+EEclipse for Java Developers. Навигация и редактирование⌘+E

Eclipse for Java Developers. Навигация и редактирование

Применение:
Быстрый переход между файлами.

Показать поля и методы класса

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+OEclipse for Java Developers. Навигация и редактирование⌘+O

Eclipse for Java Developers. Навигация и редактирование

При повторном нажатии горячих клавиш в список добавляются методы из классов — родителей
Применение:
— быстрая оценка структуры класса;
— быстрый переход в нужный метод.

Показать иерархию класса

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+TEclipse for Java Developers. Навигация и редактирование⌘+T

Eclipse for Java Developers. Навигация и редактирование

Применение:
Быстрый переход в родительские классы.

Автодополнение

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+SpaceEclipse for Java Developers. Навигация и редактированиеCtrl+Space (конфликтует с Spotlight)

Инструмент дает возможность не писать полные имена функций, классов и переменный, а только их часть, программист выбирает завершение из предложенных.
Однако многие не знают некоторых особенностей автодополнения в eclipse:
—  автодополнения работает для всех классов, даже для тех, для которых еще не сделан import. Если вы автодополните такой класс — импорт добавится автоматически.
— автодополнение работает для новых переменных:
если вы написали

	Point2D 

и вызовите автодополнение, то получите

	Point2D point2d

— в eclipse присутствуют шаблоны для быстрого написания:

	syso

получим

	System.out.println();

Наиболее популярные шаблоны:
— syso
— for
— while
— switch
— catch
Посмотреть все шаблоны, а так же добавить свои можно в настройках, в вкладке «Templates».

Возможные действия

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+1Eclipse for Java Developers. Навигация и редактирование⌘+1

На мой взгляд самый полезный инструмент в процессе написания кода.
На основе того, на какой строке стоит курсор и есть ли выделение текста, eclipse предлагает возможные варианты изменений и дополнений.
Примеры работы инструмента:
— создание загрушек для реализации методов интерфейса или абстрактного класса

public class Run implements Runnable {
	
}

действия на строчке с названием класса

public class Run implements Runnable {

	@Override
	public void run() {
		// TODO Auto-generated method stub	
	}
	
}

—  создание новых методов
Если в текущей части кода необходим метод, а он еще не существует.

	boolean success = isSuccess();

создается метод

	
private boolean isSuccess() {

	// TODO Auto-generated method stub
	return false;
}

— объявление переменных
Если необходимо использовать результат работы функции

	isSuccess();

объявляется переменная с правильным именем

	boolean success = isSuccess();

— выделение константы
Если внутри кода есть цифра или текст, который необходимо вынести в константу, выделем его и применим инструмент:

	String success = "success";
	private static final String SUCCESS = "success";

Организация импорта пакетов

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+Shift+OEclipse for Java Developers. Навигация и редактирование⌘+⇧+O

Удаление импортов не используемых пакетов и добавление недостающих.

Автоформатирование кода

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+Shift+FEclipse for Java Developers. Навигация и редактирование⌘+⇧+F

Приведение кода в читабельный вид:
— делает правильные табуляции;
— добавляет/убирает пробелы;
— убирает лишние отступы;
— ограничивает длину строки — переносит текст на следующую другую строку.
Работает для всего выделенного участка кода, или для всего класса.
Применение:
Иногда быстрее написать плохо отформатированную функцию и нажать горячие клавиши, чем писать сразу красиво.

Меню генерации кода

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+Shift+SEclipse for Java Developers. Навигация и редактирование⌘+⇧+S

Автоматическая генерация — - get и set методов;
— заготовок переопределенных и реализуемых функций;
— hashcode и equals;
— toString;
— конструкторы.
Применение:
Не стоит тратить время на стандартные методы, если их реализации не является специфической.

Переименование переменной, метода, класса

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеShift+Alt+REclipse for Java Developers. Навигация и редактирование⇧+⌥+R

Переименование выделенного метода. Благодаря рефакторингу метод будет переименован по всему проекту.

Выделение части кода в отдельный метод

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеShift+Alt+MEclipse for Java Developers. Навигация и редактирование⇧+⌥+M

Eclipse for Java Developers. Навигация и редактирование

Выделение выделенной части в новый метод. Все возможные дубликаты этой части кода в данном классе автоматически заменятся на вызов нового метода.

Дублирование строки

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+Alt+(up|down)Eclipse for Java Developers. Навигация и редактирование⌘+⌥+(up|down)

Применение:
Если следующая строка будет похожа на текущую — быстрее скопировать текущую и изменить ее, чем писать еще раз.

Перемещение строки

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеAlt+(up|down)Eclipse for Java Developers. Навигация и редактирование⌥+(up|down)

Применение:
Быстрый перенос части кода, без необходимости копировать и вставлять.

Однострочный комментарий

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+/Eclipse for Java Developers. Навигация и редактирование⌘+/

Многострочный комментарий

Eclipse for Java Developers. Навигация и редактированиеEclipse for Java Developers. Навигация и редактированиеCtrl+Shift+/Eclipse for Java Developers. Навигация и редактирование⌘+⇧+/

При использование на закомментированном коде — комментарии убираются.

Автор: jff

Источник

Поделиться

* - обязательные к заполнению поля