Мобильный разработчик (iOS, Android, WinPhone)
0,0
рейтинг
4 февраля 2013 в 14:58

Разработка → Eclipse for Java Developers. Навигация и редактирование из песочницы


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

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

Навигация
Описание
Ctrl+F
+F
Простой поиск/замена
Ctrl+H
Ctrl+H
Продвинутый поиск/замена
Ctrl+Shift+R
+⇧+R
Открыть ресурс
Ctrl+Shift+T
+⇧+T
Открыть логическую структуру(Класс)
Ctrl+Shift+G
+⇧+G
Найти вхождения переменной, метода, класса
F4
F4
Открыть меню иеарархии
Ctrl+LeftClick
+LeftClick
Перейти к реализации или определению класса, функции, переменной
F3
F3
Перейти к определению
Ctrl+T
⌘+T
Перейти к реализации
Ctrl+L
+L
Перейти к линии с определенным номером
Alt+( left right )
+( [  ] )
Перемещение в предыдущее/следующее место просмотра в редакторе
Ctrl+Q
Ctrl+Q
Перейти к последнему месту редактирования
Ctrl+E
+E
Показать список открытых в редакторе файлов
Ctrl+F6 (Ctrl+Shift+F6)
⌘+F6 (⌘+⇧+F6)
Следующий/предыдущий редактор
Ctrl+O
+O
Показать поля и методы класса
Ctrl+T
+T
Показать иерархию класса
F2
F2
Открыть javadoc
Ctrl+Shift+(up | down)
Ctrl+⌥+(up | down)
Перейти к следующему/предыдущему методу
Редактирование
Описание
Ctrl+Space
Ctrl+Space
Автодополнение
Ctrl+1
+1
Возможные действия
Ctrl+Shift+O
+⇧+O
Организация импорта пакетов
Ctrl+Shift+F
+⇧+F
Автоформатирование кода
Shift+Alt+S
⇧+⌥+S
Меню генерации кода
Shift+Alt+T
⇧+⌥+T
Меню рефакторинга
Shift+Alt+R
⇧+⌥+R
Переименование переменной, метода, класса
Shift+Alt+M
+⌥+M
Выделение части кода в отдельный метод
Ctrl+Alt+(up|down)
+⌥+(up|down)
Дублирование строки
Alt+(up|down)
⌥+(up|down)
Перемещение строки
Ctrl+/ Ctrl+7
⌘+/ ⌘+7
Однострочный комментарий
Ctrl+Shift+/
+⇧+/
Многострочный комментарий
Ctrl+D
⌘+D
Удалить строку или выделенный фрагмент

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

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


Ctrl+F⌘+F



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

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


Ctrl+HCtrl+H



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

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


Ctrl+Shift+R⌘+⇧+R



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

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


Ctrl+Shift+T⌘+⇧+T



Можно ввести только заглавные буквы класса. Например, для поиска класса AbstractDogFactory достаточно ввести ADF.
Также можно использовать *.

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

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


Ctrl+Shift+G⌘+⇧+G



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

Открыть меню иеарархии


F4F4



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


Ctrl+LeftClick⌘+LeftClick

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

Перейти к определению


F3F3

Переход к определению элемента, на котором стоит курсор.

Перейти к реализации


Ctrl+T⌘+T

Переход к реализации элемента, на котором стоит курсор.

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


Ctrl+L⌘+L

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

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


Alt+( left right )⌘+( [  ] )

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

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


Ctrl+QCtrl+Q

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

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


Ctrl+E⌘+E



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

Следующий/предыдущий редактор


Ctrl+F6 (Ctrl+Shift+F6)⌘+F6 (⌘+⇧+F6)



Данные сочетания клавиш не всегда удобны, по-этому имеет смысл переназначить их к примеру на Ctrl+Tab / Ctrl+Shift+Tab
Для быстрого переключения подойдет: Ctrl+Page Up/Page Down — Linux/Windows. Ctrl+Fn+Up/Down — OS X

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


Ctrl+O⌘+O



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

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


Ctrl+T⌘+T



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

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

Открыть javadoc


F2F2



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


Ctrl+Shift+(up | down)Ctrl+⌥+(up | down)

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


Ctrl+SpaceCtrl+Space (конфликтует с Spotlight)

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

	Point2D 

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

	Point2D point2d

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

	syso

получим

	System.out.println();

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

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


Ctrl+1⌘+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";


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


Ctrl+Shift+O⌘+⇧+O

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

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


Ctrl+Shift+F⌘+⇧+F

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

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


Shift+Alt+S⇧+⌥+S

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

Меню рефакторинга


Shift+Alt+T⇧+⌥+T



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


Shift+Alt+R⇧+⌥+R

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

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


Shift+Alt+M⇧+⌥+M



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

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


Ctrl+Alt+(up|down)⌘+⌥+(up|down)

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

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


Alt+(up|down)⌥+(up|down)

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

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


Ctrl+/ Ctrl+7⌘+/ ⌘+7

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


Ctrl+Shift+/⌘+⇧+/ (конфликтует с системными горячими клавиши для вызова Справки)

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

Удалить строку или выделенный фрагмент


Ctrl+D⌘+D

UPDATE: Исправил и дополнил статью.
Большое спасибо arturphoenix,AgentSIB,mishadoff,mdcool,Lihonosov,Aivean,anoshenko,lany,abusalimov,bimeg, netslow,majus за дополнения и комментарии.
Некоторые инструменты косвенно относятся к навигации и редактированию, по-этому я не включил их в статью, но я постораюсь их включить в следующую.
Евгений Заплетин @jff
карма
65,0
рейтинг 0,0
Мобильный разработчик (iOS, Android, WinPhone)
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (75)

  • 0
    Ctrl+Space на маке вызывает Spotlight
    • 0
      Я написал о конфликте. Если изменить горячие клавиши для вызова Spotlight. Ctrl+Space начинает работать в Eclipse. У меня теперь Spotlight — Ctrl+Cmd+Space
    • 0
      Можно переопределить в настройках, например на option+space
    • 0
      Alt + Space на маке, но у меня очень криво работает. Дополняет взятым с потолка значением. Не могу взять толк, почему на linux дома работает нормально.
      • 0
        Я перенастроил на Esc, как в Xcode…
        Вообще, это проблема, метаться между xcode и eclipse.
        Приходится переносить комбинации xcode на eclipse, благо, он довольно гибкий.
        Хоть и монструозный
  • 0
    Перешел на Eclipse из Netbeans IDE. Первые две недели из моей комнаты сыпалась сплошная ругань, особенно когда случайно нажимал Ctrl+B вместо вставки) Теперь более-менее привык, настроил всё что мог под интерфейс Netbeans. Удобно. За статью спасибо, положу на видное место, буду изучать.
    • 0
      А почему решили переключиться с NetBeans на Eclipse?
      • 0
        Под Android всё-таки лучше на Eclipse писать.
        • +8
          Или Intellij IDEA
          • 0
            не холивара ради, но в eclipse, в контексте andoird разработки, больше удобств.
  • +1
    Я вчера ночью впервые поставил Eclipse (до этого NetBeans использовал). Так вот: Хабр! ты следишь за мной?!
  • +2
    Alt+( left right )
    ⌘+( [ ] )
    Перемещение в предыдущее/следующее место просмотра в редакторе

    Отдельное спасибо за это. Столько лет пользуюсь эклипсом и не знал о данной функциональности. А ведь мне этого так не хватало периодически…
    • 0
      Хм. Кстати, если на мыши есть кнопки браузерной навигации (назад/вперёд), то они работают точно так же, намного удобнее, чем на клаве.
      А уж если на мыши хватает допкнопок и на них подвесить ещё и ctrl+c и ctrl+v, то потом без этой мыши вообще жить нельзя, настолько это удобно =)

      ps: logitech g700 =)
  • +7
    Использовал большинство указанных хоткеев. Хотелось использовать больше, а в eclipse много действий по дефолту не выставлены, а свои ставить лень было. Проблема решилась переходом на Intellij IDEA.
    Спасибо за статью
    • 0
      Вот, кстати, бывает же. Года три использовал параллельно эклипс и идею (для разных проектов). Идея вроде и хорошая, для javaEE — даже кое в чём удобнее эклипса, хотя и вызывает противоречивые чувства, но для не-EE — однозначно эклипс рулит. Вот сколько слышал отзывов, народ после эклипса на идею переходит и назад не хочет, а вот мне она не зашла.
  • 0
    В описании хоткея для «Перейти к последнему месту редактирования» (очень удобная вещь, кстати) присутствует ошибка: для Мака комбинация клавиш должна быть Ctrl + Q, а не Cmd + Q, так как в Mac OS Cmd + Q — это системный хоткей для безусловного закрытия приложения.
    При переходе с Windows на Mac OS этот факт стоил мне большого количества нервных клеток, поскольку этот быстрый переход я использовал очень часто и периодически рефлекторно закрывал Eclipse )
    • 0
      Спасибо, проглядел. Про Ctrl+H вспомнил, а про Ctrl+Q забыл. Как доберусь до мака исправлю. Боюсьисправлять из под Windows — вдруг кодировка знаков слетит.
      • 0
        Также ⌘+⇧+/ у меня открывает меню Help -> Search. Настройки хоткеев в системе оригинальные.
  • 0
    ⌘ + Q в Маке — выход. Используется так же ctrl + Q.

    PS. arturphoenix опередил меня…
  • +2
    вместо Ctrl+LeftClick можно использовать F3
  • 0
    Не нашел Ctrl + D (здесь и далее — Win): удаление строки (или нескольких выделенных строк). При редактировании незаменимо.
    А Ctrl + L (показ списка доступных хоткеев и вызов меню настройки хоткеев при повторном нажатии) — вообще самый нужных хоткей для новичков.
    Также для упрощения читабельности части кода в огромных файлах настроил Alt + Shift + F на форматирование выделенного фрагмента. Таким образом, не рушил legacy-код, отформатированный неправильно, но и не терпел по 2 минуты, пока форматируется файл на 15к строк.
    • +3
      Ctrl+Shift+L вы имели в виду.
      Ctrl+L — показать строку по номеру.
      • 0
        Прошу прощения, да, Ctrl + Shift + L. Полгода уже Эклипс почти не открываю (отдалился от девелопмента), подзабыл.
  • 0
    Эхх… Ещё бы в PDT это всё-всё зафигачили :(

    А так тока недавно начал «Open resource» юзать — доволен.

    Но всё перекрывает team-инструменты — diff`ы, ветки, git`ы и особенно — mylyn. То, что ещё пока в любимом некоторыми редакторе ещё и близко нету :)
    • 0
      vim или sublime?
  • 0
  • 0
    Моя старая презентация на эту тему. Пусть полежит здесь.
  • +2
    ⌘+⌥+A (Alt+Ctrl+A) — переключение между обычным выделением и вертикальным блоком
    • 0
      Спасибо, мне не хватало этой фичи!
  • 0
    Также нужно упомянуть про Ctrl+F1..12, среди них много постоянно используемых хоткеев.
  • –4
    Eclipse, наверное, самый неудобный редактор для java, если сравнивать с NetBeans/Idea, самое неприятное это диалог «найти/заменить» в отдельном окне для текущего документа это что-то с чем-то.
    Ну ещё и горячие клавиши работают только в английской раскладки, но это только моя проблема, наверное.
    • 0
      Если Вам нужно только «искать/заменять», то, вероятно, Eclipse не самый лучший для Вас. Лично мне он был слегка противен и сложен в период, когда я пользовался NetBeans. Потом мне нужно было поработать с проектом, изначально созданным в Eclipse и привязанным к его плагинам. Мне очень понравилась его расширяемость и гибкость для разных видов смешанных проектов. Говорят, Idea лучше, но у меня пока не было ни желания, ни потребности устанавливать ее.
      P. S. с проблемой хоткеев и раскладок не сталкивался.
      • 0
        Это проблема только для Eclipse под Linux, впрочем, легко решаемая.
    • 0
      Обычным «Найти/заменить» я пользуюсь редко. Поиск часто подразумевает поиск метода/поля/подкласса. Для этого есть Ctrl+O. Замена по файлу или многим файлам обычно предполагает переименование метода, класса, переменной и т. д. Alt+Shift+R с этим прекрасно справляется без лишних окон. Если у вас в Java-коде что-то часто повторяется, и это не идентификатор, вам следует задуматься, правильно ли вы вообще программируете.
      • 0
        Если вы чего-то не делаете, это свидетельствует скорее о вашей ограниченности, а не о том, что делать это — неправильно. Очень частый пример использования поиска/замены по тексту — это как раз рефакторинг legacy кода. Когда в коде есть куча похожих сущностей и из них надо сделать массив/enum. Или, например, вы пишете какой-то тест и нужно захардкодить какие-то пары expected-actual значений (если их недостаточно много для того, чтобы заводить отдельный файл).
        Это навскидку, а таких примеров очень много.
  • +1
    Из неперечисленного часто использую следующее:
    Alt+Shift+T — контекстное меню рефакторинга, дальше подходящую подчёркнутую кнопку (часто Pull Up или Move type to new file)
    Alt+Shift+Z — контекстное меню шаблонов, дальше подходящую цифру (чаще всего для try-catch блоков)
    Alt+Shift+S — контекстное меню генерации кода, дальше подходящую подчёркнутую кнопку (часто generate constructor; generate setters & getters; override/implement methods).
    Alt+Shift+W — контекстное меню перехода к навигаторам, дальше подходящую подчёркнутую кнопку.
  • 0
    Ребят, а знает кто-нибудь как изменить время, через которое появляется всплывающая подсказка (когда mouse hover)?
    А то на старой версии стояла какая-то задержка, а сейчас мгновенно открывается. В итоге просто по экрану мышкой провести целое приключение)
  • –1
    Eclipse страшно тормозной. И все IDE на нем в моих проектах рано или поздно доходят до такого состояния, когда процессы загрузки и подготовки IDE к работе занимают непомерно много времени, что ощутимо мешает работать.
    Пробовал Zend Studio, Eclipse for pdt, другие сборки eclipse.
    Пришлось уйти на PhpStorm. Он работает значительно быстрее, что, похоже, достигается более высоким приоритетом приложения, т.к. от PhpStorm'a часто начинают подвисать другие приложения, что случается впрочем редко и в среднем PhpStorm работает значительно эффективнее.

    Есть ряд багов при удалённо по sftp — долгое время мы с коллегой перетирали друг друга,
    потому что в PhpStorm косячила проверка изменения контента на сервере. Затем вышел багфикс (пару месяцев как), стало лучше.
    Кстати именно из-за требований к удаленным подключениям у меня лично выбор IDE довольно небольшой — мало кто нормально умеет работать по sftp/ssh/ftp. Netbeans например не умел, когда я последний раз им интересовался. А это довольно важное требование — при более менее серьезной сложности проекта просто нет возможности на локальной машине размещать скрипты, окружение сильно несовместимо с десктопом.
    • +1
      Странно, что у вас IDE загружается/выключается. По-мойму щас уже не надо комп включать/выключать :)

      А про окружение — виртуалки и все такое? Плюс filssync` или обратный маунт. И это не факт, что уровень IDE д.б.
      • 0
        Нет, не виртуалки. Просто огромный многомодульный проект, где у каждого модуля разные ЯП, ОС и прочее. Доходит до того, что версии одного и того же ЯП бывают разные. Свести их все одном компе, к тому же на десктопе, бывает крайне сложно.
        • 0
          Дык как раз виртуалки то для этого и придумали?

          Или с ними никак?
          • 0
            Опять-таки, если на десктопе — тормоза. В любом случае рано или поздно приходим к девелоперскому серверу.
            • 0
              Она подлая в-основном память жрёт. Хотя ось какая у вас? По идее яве пофиг д.б. — ставьте на виртуалку максимально урезанную фрю или дебиан и можно так попробовать.

              А вот девсервер — это самое то, да :)
              • 0
                Ещё если участников много, виртуалки нужно делать каждому.
                И суммарных расход ресурсов от всех виртуалок получается гораздо больший, чем при организации одного дев-сервера на каждый проект. А если одна виртуалка на всех участников — со сути тот же самый дев-сервер.

                ОСы практически любые, т.к. проект — хостинг на разных панелях и осах. Кроме клиентских серверов, есть инфраструктурные, там centos, freebsd, gentoo, ubuntu server.
                • 0
                  Дык сделайте! Дев — контейнер а-ля xen, а уже каждый со своей виртуалкой. Хоть 10. Облако и всё такое.
                  • 0
                    Так и сделано.
    • 0
      Есть ряд багов при удалённо по sftp — долгое время мы с коллегой перетирали друг друга,

      У вас одна директория проекта на двоих? Мои вам соболезнования…
      В Eclipse есть плагин Remote Systems, работающий и по ssh и по ftp. Правда, есть проблема — с ним не работает subversive SVN, поэтому я использую file synchronization в папку. открытую через Samba.
      • 0
        Зачем обижаешь, слушай? (с)

        Конечно папка не одна на двоих, папки разные. Есть проблема у PhpStorm'a, что он не видит изменений на сервере. Например коллега сделал на сервере svn update, открывает PhpStorm и отображает контент предыдущей версии (который был ранее скачан PhpStorm'ом c сервера). И не предлагает скачать новый. А при сохранении просто затирает файл на сервере этим старым кешированным кодом + новыми правками, который коллега сделал после открытия IDE.
        • 0
          Видимо у вас настроен deployment по SSH, поэтому PhpStorm не может увидеть изменения, да и как ему это сделать? Он ведь хранит локальную копию и по Ctrl + S или командой делает синхронизацию с сервером. У вас два варианта: первый — отказаться от серверного svn и использовать плагин для PhpStorm и второй — использовать вместо ssh сетевую шару через samba.
          • 0
            Ну вообще у него есть фичи «warn when uploading newer file» и «notify about remote changes», которые были в шторме с самого моего знакомства с ним, т.е. шторм не должен был переписывать более новые файлы и должен был уведомлять удаленных изменениях, с чем например всегда успешно справлялся Eclipse.

            А в одном из последних обновлений шторма проблема практически исчезла — при открытии файла в IDE PhpStorm проверяет его контент на сервере и, если изменился, предлагает сделать download или merge. «Практически», потому что по каким-то странным критериям он иногда эту проверку всё-таки не делает (довольно редко). Ещё до этого полезного обновления с данной проблемой мы боролись технологией работы: если на сервере сделали svn up, то сначала скачиваем контент, и только потом приступаем к правкам; перед коммитом и просто периодически делаем svn diff и смотрим что там изменилось, на случай какого-либо регресса.
  • +1
    Использовал Eclipse года 4 для Java, Android, C и немного Python. Сейчас перешел на ST2, Eclipse только для отладки. Очень напрягает отсутствие fuzzy-поиска и автодополнения и множество раздражающих панелей/окон, которые норовят отобрать фокус у панели редактирования. Плюс ко всему общая тормознутость и монструозность этой IDE.

    Из полезных хоткеев, в дополнение к упомянутым в статье, могу назвать следующие:
    • Ctrl+F6 / Ctrl+Shift+F6 — следующий/предыдущий редактор в стеке (аналог Alt+Tab для окон).
      Поскольку более неудобных сочетаний для такой часто используемой операции (ИМХО) придумать тяжело, поэтому имеет смысл переназначить их на Ctrl+Tab / Ctrl+Shift+Tab (или на Alt+` / Alt+Shift+` для CDT, чтобы не было конфликтов с переключением между source/header).
    • Ctrl+Shift+Up / Ctrl+Shift+Down — переход к следующей/предыдущей функции (в CDT, думаю, в Java аналогично для методов)
    • Ctrl+J / Ctrl+Shift+J — инкрементальный поиск начиная от курсора (без использования окна поиска, как при Ctrl+F)
    • 0
      Ctrl+Page Up/Page Down — так же следующий/предыдущий редактор.
      Alt+Page Up/Page Down — следующая/предыдущая вкладка в редакторе. Например андроидный манифест или Graphical Layout / Xml editor в редакторе лэйаутов.
  • 0
    Мне не хватает быстрых закладок (bookmarks), раньше ставил какой-то плагин.
    Никто не поднимет эту тему — может они устарели и есть способ удобней?
    • 0
      а чем просто закладки не устраивают? которые на левом поле правой кнопкой ставятся
      • 0
        Это не удобно и медленно, похоже на копирование/вставку текста мышью, когда удобнее это делать клавиатурой.
  • +1
    Недавно начал использовать данные сочетания клавиш. Очень продуктивно.
    Shift + Enter (переназначил на Ctrl + Enter ) — вставить строку ниже
    Shift + Ctrl + Enter — вставить строку выше

    Так же полезный хоткей — Ctrl + F7 — следующий view. Иногда помогает вообще не использовать мышь.

    Еще рекомендую в настройках проставить следующие галочки:
    Java -> Editor -> Typing:
    Automatically insert at correct position: Semicolon, Braces
  • +1
    Больше скорее относящееся просто к эклипсу — crtl + 3 — вызывает меню быстрого доступа ко всем местам эклипса. Начиная печатать например de — эклипс подскажет debug. Использую не часто, но позволяет не бегать по менюшками эклипса.
  • +1
    При повторном нажатии Ctrl+T разворачивает иерархию в обратную сторону и показывает реализованные интерфейсы.
  • 0
    Именно такими должны быть хорошие мануалы.
  • 0
    А где же мега-шорткат Ctrl+3 (Cmd+3) ?!
    • 0
      Тремя комментариями выше.
  • +1
    А если в виде картинки?
  • +1
    Я обнаружил немного раздражающие проблемы с эклипсом:
    1) Невозможно назначить разные хоткеи для «Закомментировать строку» и «Раскомментировать строку». При попытке применить назначеный хоткей (любой) — строка удаляется.
    2) Кривое выравнивание кода при копипасте — вне зависимости от настроек.

    Может, кто-нибудь вкурсе решения?

    По сабжу — переполз на Эклипс с Keil uVision (правда на CDT Indigo Eclipse — но это не так важно) — просто небо и земля. Большую часть хоткеев обнаружил сам довольно быстро.

    Фильтры для ошибок и ворнингов тоже очень удобная штука.
    • 0
      Ctrl + Shift + F помойму — форматирование. Плюс настроить свои правила можно.

      А вот с хоткеями жёппа бывает — бывает, что «слетают» непонятно почему — особенно когда много плагинов в одном эклипсе.

      Именно по этому я отдельно держу сборку для пхп, явы, руби (папета).
      • 0
        Спасибо.
        А нельзя ли сделать нормальное форматирование сразу при вставке?
        • 0
          Можно сделать автоматическое форматирование всего документа или измененных строк при сохранения файла.
          • 0
            Имхо это самый лучший вариант. У нас при сохранении происходит автоформатирование, организация импортов и т.д… Эти настройки, как и настройки autoformatter'а являються project specifiс, включены в систему контроля версий и у всех участников проекта одинаковые.
  • 0
    Раз уж описано окно Open Type, имеет смысл добавить, что туда можно ввести только заглавные буквы класса. Например, для поиска класса AbstractDogFactory достаточно ввести ADF.
    Также можно использовать *
    • 0
      То же работает почти везде где идет поиск по java-элементам (методы, переменные). Например при автокомплите и Ctrl+O.
  • 0
    Хотелось бы добавить от себя пару полезных штук, которыми сам часто пользуюсь. Сразу извиняюсь, хоткеи для винды:
    1. Чтобы почитать документацию о каком-нибудь используемом методе, поставьте курсор на его имя и нажмите Shift+F2.
    2. Ctrl+D — удалить текущую строку.
    3. Shift+Enter — вставить пустую строку под текущей строкой.
    4. Ctrl+Shift+Enter — вставить пустую строку над текущей строкой.
    5. Ctrl+I — исправить отступ в текущей строке или в выделенных строках.
  • 0
    Ctrl+M — развернуть текущее окно. Очень удобно на маленьком экране ноутбука
    • 0
      Ctrl+Shift+E — продвинутое окно открытых файлов. Здесь можно закрывать файлы сразу пачками
  • 0
    Спасибо — Ctrl+Q особенно порадовал — не знал

    Жить стало лучше, жить стало веселей (с)
    • 0
      Еще из интересного:

      Windows->Preferences->Java->Editor->Saver actions-> галка format source code — включаем автоформатирование при сохранении класса.

      Windows->Preferences->General->Editors->Close editors automatically — выставляем максимальное количество открытых окно редакторов (у меня пример 12)

  • 0
    Спасибо за статью!

    Добавтье Ctrl+Alt+H — иерархия вызовов метода или иерархия обращний к полю. Крайне полезная вещь. Также «понимает», что для Runnable надо показывать кто вызывает конструктор, а не то, кто вызывает run().

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.