Этот сочетает в себе как оригинальный ответ Роба, так и обновление Pilau за 2016 год
var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)
var isFirefox = typeof InstallTrigger !== 'undefined'; // Firefox 1.0+
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
// At least Safari 3+: "[object HTMLElementConstructor]"
var isChrome = !!window.chrome && !isOpera; // Chrome 1+
var isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;
// Chrome 1+
var output = 'Detecting browsers by ducktyping:
';
output += 'isFirefox: ' + isFirefox + '
';
output += 'isChrome: ' + isChrome + '
';
output += 'isSafari: ' + isSafari + '
';
output += 'isOpera: ' + isOpera + '
';
output += 'isIE: ' + isIE + '
';
output += 'isIE Edge: ' + isEdge + '
';
document.body.innerHTML = output;
Не забывайте Ctrl + Сдвиг + L , который отображает список всех комбинаций сочетания клавиш (на всякий случай, Вы забываете любой из перечисленных здесь).
Абсолютно, Ctrl + Q для движения для длительности местоположения редактирования. Это очень полезно, будучи прерванным по телефону, босс или другие.
CTRL + D - для удаления текущей строки
Alt-Shift-R обозначает , переименовывают , не осуществляют рефакторинг. Рефакторинг более общий термин (как определено книга ).
, Тем не менее, это - один из моих любимых рефакторингов. Другие включают:
Alt-Shift-M: Метод Извлечения (когда блок кода или выражение выбраны)
Alt-Shift-L: Локальная переменная Извлечения (когда выражение выбрано)
Локальная переменная Извлечения особенно полезна, когда я не помню (или потрудился вводить), тип результата метода. Принятие Вас имеет метод JdbcTemplate createJdbcTemplate()
в Вашем классе, пишет некоторый код, такой как это:
void someQuery() {
createJdbcTemplate()
}
Выбор выражение createJdbcTemplate()
, нажмите Alt-Shift-L, введите имя переменной и нажмите Enter.
void someQuery() {
JdbcTemplate myTemplate = createJdbcTemplate();
}
Хиппи расширяется/Word Завершенный, afaik вдохновленный Emacs: автоматически заполнит любое слово в любом редакторе на основе других слов в том файле. Автоматическое заполнение в Строковых литералах в коде Java, в xml файлах, везде.
Высокий звук + /
Существует опция поместить вводную изогнутую фигурную скобку и точку с запятой автоволшебно в "корректном" положении. Необходимо будет включить, это - Выбирает Window/Preferences и вводит "фигурную скобку" в поле поиска - должно быть легко findable (никакое затмение на этом компьютере). Эффект:
(" |" курсор):
if(i==0|)
ввод "{" теперь приведет к
if(i==0) {|
Стрелка Alt-Up перемещает текущий выбор строка, Стрелка Alt-Down спускает его. Я также использую Стрелку Alt-Shift-Up/Down все время. Ctrl-K и Ctrl-Shift-K довольно удобны, находя следующее/предыдущее возникновение текущего выбора (или последняя Находка, если ничто не выбрано).
Завершение кода поддерживает CamelCase, например, введение CWAR
покажет результат для ClassWithAReallyLongName
. Начните использовать эту функцию, и Вы никогда не будете вводить другое долгое имя класса снова.
(части скопировали с другого ответа, потому что я думаю ответы w/всего, одна подсказка/подсказка является лучшей для опроса)
CTRL + 3 поднимает список ввода с опережением любой команды меню.
Введите 'syso', тогда нажимают Ctrl + Пространство для расширения его до System.out.println ().
удобный Tres.
Ctrl-J запускает возрастающую находку.
Ctrl-J Хита, затем начните вводить. Использование/до находит предыдущие/следующие экземпляры того, что Вы ввели.
Ctrl-Shift-J ищет назад.
Ctrl + Сдвиг + O для организации импорта, который отформатирует их приятно, удаляют ненужный импорт и добавляют недостающий импорт.
Crtl + 1 является моим фаворитом. Быстрые исправления для красных загогулин.
Это также расположено в Меню Редактирования-> Быстрое исправление.
Высокий звук + Сдвиг + Стрелка делает возрастающий выбор. Высокий звук + Сдвиг + Вниз делает противоположное.
Высокий звук + или Высокий звук + Вниз для перемещения строк
Никто еще не упомянул лучший. Нажмите на имя класса или имя метода и нажатие Ctrl + T .
Вы получаете быструю иерархию типа. Для имени класса Вы видите всю иерархию классов. Для имени метода Вы получаете суперклассы показа иерархии и подклассы с реализациями того метода, который отличают от абстрактных упоминаний или классов, которые не упоминают метод.
Это огромно, когда Вы в объявлении абстрактного метода и быстро хотите видеть, где оно реализовано.
Высокий звук + Сдвиг + R , чтобы осуществить рефакторинг и переименовать.
Ctrl + Высокий звук + или Ctrl + Высокий звук + ВНИЗ для копирования строк
Ctrl + Высокий звук + H на методе для получения иерархии вызовов для него. Быстрый способ видеть, откуда это называют.
Eclipse позволил Вам установить точки останова на основе того, где Исключение происходит.
Вы получаете доступ к опции через "j!" значок http://help.eclipse.org/stable/topic/org.eclipse.jdt.doc.user/images/org.eclipse.jdt.debug.ui/elcl16/exc_catch.png сопроводительного текста в окне отладки.
официальная тема справки" Добавляет, что Точка прерывания исключительной ситуации Java " имеет больше на этом.
RuntimeException
настроена для приостановки на подклассах, она будет также инициирована NullPointerException
. Прием несочетания клавиш должен использовать наборы фиксации в Вашем представлении Team-> Synchronise для организации изменений перед фиксацией.
Набор массив изменений, чтобы быть значением по умолчанию и всеми изменениями, которые Вы вносите на файлах, будет вставлен в тот набор, облегчая видеть то, что Вы изменили при работе над определенным дефектом/функцией и другими изменениями, которые Вы имели при тестировании и т.д.
CTRL+SPACE, для чего-либо, где угодно.
Генерируют методов get и методы set.
Создают Поля использования Конструкторов
Метод Извлечения...
Осуществляют рефакторинг->, Переименовывают
CTRL+O для быстрой схемы. CTRL+O+CTRL+O для наследованной схемы.
F4 для отображения иерархии типа
Иерархия Прослушивания для отображения, откуда метод называют.
CTRL+SHIFT+T для открытия Java Type
CTRL+SHIFT+R для открытия любого ресурса.
ALT + левый или правый для продвижения или назад посредством редактирования помещает в документах (простая навигация)
методы Переопределения/Реализации, если Вы знаете, что собираетесь сделать много методов (иначе, CTRL+SPACE лучше для по одному выбора.
Осуществляют рефакторинг->, Интерфейс Извлечения
Осуществляет рефакторинг->, Останавливаются
, Осуществляют рефакторинг->, Снижают
, CTRL+SHIFT+O для организуют импорт (когда ввод общего имени класса, такой как Карта, нажатие CTRL+SPACE и затем выбор соответствующего класса импортируют его непосредственно для Вас).
CTRL+SHIFT+F для форматирования (хотя Eclipse создал в средстве форматирования, может быть немного braindead для длинных линий кода)
РЕДАКТИРОВАНИЕ: О, да, некоторая отладка:
F5: Шаг в (показывают мне детали!)
F6: Переступите (я верю Вам на следующей части...)
F7: Выйдите (я думал, что заботился об этом методе, но оказывается, что я не делаю, забираю меня отсюда!)
F8: Резюме (идут до следующей точки останова, достигнуто)
CTRL+SHIFT+I: осмотрите выражение. CTRL+SHIFT+I+CTRL+SHIFT+I: создайте отслеживаемое выражение по осмотренному выражению.
Условные точки прерывания: Щелкните правой кнопкой по точке останова, и можно установить условие, которое происходит, который инициировал его повреждение осуществления программы (контекст помогают, с Ctrl+Space, доступно здесь!)
F11 - Отладка длятся запущенный (приложение)
CTRL+F11 - Выполнение, в последний раз запущенное (приложение)
ctrl-shift-r и его приятель, ctrl-shift-t, для открытия ресурса или типа, соответственно. Ресурсы включают все файлы в Ваши открытые проекты (включая файлы не-Java), и типы включают типы Java или в Ваши проекты, или в библиотеку, включенную в проекты.
F3 был моим фаворитом, открывает определение для выбранного пункта.
Ctrl + Сдвиг + R имеет интересную функцию, можно использовать просто прописные буквы верблюда от класса при поиске (такие как ввод CWAR, покажет результат для ClassWithAReallyLongName).
Высокий звук + Сдвиг + W > Проводник пакетов делает жизнь легче при просмотре крупных проектов.
Кажется, что никто не упомянул Ctrl-2 L (присваивают новой локальной переменной) и Ctrl-2 F (присваивают новому полю), эти изменились, как я пишу код.
Ранее, я вводил, говорят (|, позиция курсора):
Display display = new |
и затем я продвинул Ctrl-Space завершать вызов конструктора. Теперь я ввожу:
new Display()|
и нажимают Ctrl-2 L, который приводит к:
Display display = new Display()|
Это действительно ускоряет вещи. (Ctrl-2 F делает то же, но присваивает новому полю, а не новой переменной.)
Другой хороший ярлык является Ctrl-2 R: переименуйте в файле. Это намного быстрее, чем переименовывают рефакторинг (Alt-Shift-R) при переименовании вещей как локальные переменные.
На самом деле я перешел к предпочтительной странице настройки Ключей и присвоил все виды дополнительных быстрых исправлений к Ctrl-2-something. Например, я теперь нажимаю Ctrl-2 J для разделения/присоединений объявления переменной, Ctrl-2 C для извлечения внутреннего класса на верхний уровень, Ctrl-2 T для добавления объявления вызовов к функции, и т.д. существуют тонны присваиваемых быстрых исправлений, пойдите, выбирают любимые и присваивают их ярлыкам Ctrl-2.
Другой мой фаворит в моем шаблоне “npe”, определенном как:
if (${arg:localVar} == null)
throw new ${exception:link(NullPointerException,IllegalArgumentException)}("${arg:localVar} is null");
Это позволяет мне быстро добавлять проверки нулевого аргумента в начале каждой функции (особенно, которые просто сохраняют аргумент в поле или добавляют его в набор, особенно конструкторы), который является большим для обнаружения ошибок рано.
Посмотрите более полезные шаблоны в www.tarantsov.com/eclipse/templates/ . Я не перечислю их всех здесь, потому что существуют многие, и потому что я часто добавляю новые.
Несколько приемов завершения кода:
, которое Это - то, как я добавляю поля.
, Если у Вас еще нет конструкторов, добавьте тот. (Ctrl-Space где угодно в объявлении класса, выберите первое предложение.)
Добавляют, аргумент (| позиция курсора):
public class MyClass {
public MyClass(int something|) {
}
}
Нажимают Ctrl-1, выбирают “assign к новому field”. Вы добираетесь:
public class MyClass {
private final Object something;
public MyClass(Object something) {
this.something = something;
}
}
Добавляют проверку нулевого указателя если соответствующий (см. шаблон “npe” выше):
public class MyClass {
private final Object something;
public MyClass(Object something) {
npe|
this.something = something;
}
}
Ctrl-Space Хита, доберитесь:
public class MyClass {
private final Object something;
public MyClass(Object something) {
if (something == null)
throw new NullPointerException("something is null");
this.something = something;
}
}
средство сохранения прекрасного времени А!
Вот мой набор самых полезных сочетаний клавиш для Eclipse 3:
Eclipse 3 Favorite Keyboard Shortcuts.
by -=MaGGuS=-
Navigate:
• Ctrl + Shift + L – Shows useful keyboard shortcuts in popup window
• Ctrl + H – Search.
• Ctrl + K – Goes to next search match in a single file. Shift + Ctrl + K – goes to previous match.
• F3 - Goes to ‘declaration’ of something. Same as Ctrl + Click.
• Ctrl + Shift + G - Use this on a method name or variable. It will search for references in the code (all the code) to that item.
• Ctrl + O – Shows outline view of the current class or interface.
• Ctrl + T – Shows class hierarchy of the current class or interface. F4 – shows the same in separate tab.
• Ctrl + Shift + T - Open Type. Search for any type globally in the workspace.
• Ctrl + Shift + R – Open Resource. Search for any file inside workspace.
• Ctrl + J – Incremental search. Similar to the search in firefox. It shows you results as you type. Shift + Ctrl +J - Reverse incremental search.
• Ctrl + Q – Goes to the last edit location.
• Ctrl + Left|Right – Go Back/Forward in history.
• Ctrl + L – Go to line number.
• Ctrl + E – This will give you a list of all the source code windows that are currently open. You can arrow up or down on the items to go to a tab.
• Ctrl +PgUp|PgDown – Cycles through editor tabs.
• Ctrl + Shift + Up|Down - Bounces you up and down through the methods in the source code.
• Ctrl + F7 – Switches between panes (views).
• Ctrl + ,|. – Go to the previous/next error. Great in combination with Ctrl + 1.
• Ctrl + 1 on an error – Brings up suggestions for fixing the error. The suggestions can be clicked.
• Ctrl + F4 – Close one source window.
Edit:
• Ctrl + Space – Auto-completion.
• Ctrl + / – Toggle comment selected lines.
• Ctrl + Shift + /|\ – Block comment/uncomment selected lines.
• Ctrl + Shift + F – Quickly ‘formats’ your java code based on your preferences set up under Window –> Preferences.
• Ctrl + I – Correct indentations.
• Alt + Up|Down – move the highlighted code up/down one line. If nothing is selected, selects the current line.
• Ctrl + D – Delete row.
• Alt + Shift + Up|Down|Left|Right – select increasing semantic units.
• Ctrl + Shift + O – Organize Imports.
• Alt + Shift + S – Brings up “Source” menu.
o Shift + Alt + S, R – Generate getter/setter.
o Shift + Alt + S, O – Generate constructor using fields.
o Shift + Alt + S, C – Generate constructor from superclass.
• Alt + Shift + T – Brings up “Refactor” menu.
• Alt + Shift + J – Insert javadoc comment.
• F2 – Display javadoc popup for current item. Shift + F2 – Display javadoc in external browser.
Run/Debug:
• F11 / Ctrl + F11 – Execute/debug.
• Ctrl + Shift +B – Toggle breakpoint.
• When paused: F5 – Step into, F6 – Step over, F7 – Step out, F8 – Resume.
• Ctrl + F2 – Terminate.
EOF
Если щелкнуть тип возвращаемого значения в объявлении метода, будут выделены все точки выхода метода.
например:
1: public void foo()
2: {
3: somecode();
4: if ( blah ) return;
5:
6: bar();
7: }
нажатие на void выделит ] return в строке 4 и закрытие } в строке 7.
Обновление : работает даже для блоков catch try {}. Если вы поместите курсор на исключение в блоке catch, и eclipse выделит возможные методы, которые могут вызвать это исключение.
Ctrl + Shift + M: изменяет ссылку статического метода или статического атрибута класса на статический импорт.
До
import X;
...
X.callSomething();
После
import static X.callSomething;
...
callSomething();
Не такой скрытый, но, на мой взгляд, лучший трюк.
Предполагая настройки по умолчанию (и вы не добавили новые сниппеты)
Выделите (или выделите) текст (строку или переменную)... Нажмите Ctrl+Пробел. Нажмите End+Enter. срабатывает сниппет "sysout", который обводит выделение как параметр.
например.
"hello world!"
becomes
System.out.println("hello world!");
Мне это так понравилось, что я реализовал аналогичный сниппет для Toast и Log.i() в Android. Огромная экономия времени при ручной отладке....