Приховані особливості затемнення [закрито]


97

Гаразд, це може бути кульгавим питанням, але кожен використовує ці речі по-різному. Які найкращі заощадження часу для цього IDE.

Том

Відповіді:


139

Не забувайте Ctrl+ Shift+ L, який відображає список усіх комбінацій комбінацій клавіш (про всяк випадок, якщо ви забудете будь-яку з перерахованих тут).


1
Для початківців, які використовують mac, використовуйте кнопку COMMAND замість CTRL для всіх перерахованих тут команд. Я знадобився час, щоб розібратися в цьому. Це може комусь допомогти.
500865

119

Ctrl-2 щось

Здається, що ніхто не згадав 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-що-небудь додаткові швидкі виправлення. Наприклад, я зараз натискаю 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/ . Я не перелічу їх тут, тому що їх багато і тому, що часто додаю нові.

Завершення

Кілька прийомів доповнення коду:

  • підтримка справи верблюда, згадана в іншій відповіді: введіть cTM, get currentTimeMillis
  • конструктор за замовчуванням: у декларації класу без конструктора за замовчуванням натисніть Ctrl-Space, першим вибором буде його створити
  • перевантаження: в декларації класу почніть вводити ім'я методу, яким можна перевантажувати, Ctrl-Space, виберіть його
  • створення getter / setter: введіть “get”, Ctrl-Space, виберіть геттер для створення; те саме з "є" і "встановити"

Призначити до нового поля

Так я додаю поля.

  1. Якщо у вас ще немає конструкторів, додайте його. (Ctrl-Space будь-де в декларації класу, виберіть першу пропозицію.)

  2. Додати аргумент (| є позиція курсору):

    public class MyClass {
        public MyClass(int something|) {
        }
    }
  3. Натисніть Ctrl-1, виберіть "призначити новому полі". Ви отримуєте:

    public class MyClass {
        private final Object something;
        public MyClass(Object something) {
            this.something = something;
        }
    }
  4. Додайте прапорець із нульовим покажчиком, якщо це доречно (див. Шаблон "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;
        }
    }

Прекрасна економія часу!


2
CTRL + 2, F і CTRL + 2, L тепер розгойдують мій світ. Спасибі
Джошуа МакКіннон

14
тепер, якщо тільки у вашому шаблоні використовувались дужки ...
rsp

3
@rsp Вибачте, я ненавиджу вставляти непотрібні брекети. Btw, Eclipse має функцію очищення коду, яка може змусити ваш код використовувати будь-який стиль дужок (завжди або лише в разі потреби), і він може застосувати його до збереження.
Андрій Таранцов

81

ctrl-shift-r та його приятель, ctrl-shift-t, щоб відкрити ресурс або тип відповідно. Ресурси включають усі файли у ваших відкритих проектах (включаючи не-java-файли), а типи включають типи java або у ваші проекти, або в бібліотеку, включену до проектів.


6
ctrl + shift + r добре також для типів відкриття, коли ви тільки що відкрили проект, оскільки він не потребує індексації.
бутта

Гарна думка. ctrl-shift-r, однак, не працюватиме для відкриття типів, що знаходяться у посилаються на бібліотеки jar; він працюватиме лише для окремих файлів (ресурсів) у вашому проекті.
pkaeding

Це, безумовно, найкорисніша функція в Eclipse і одна, яка не так добре реалізована (тобто повільна) в Netbeans.
Рахул

60

Crtl+ 1мій улюблений. Швидкі виправлення для червоногубців.

Він також розташований у меню «Правка» -> Швидке виправлення.


2
Ctrl +. (період) переведе вас до наступної помилки (червоний / жовтий неквапливо) .... З цими двома ви перебуваєте в режимі виправлення помилок. : D
st0le

59

Ctrl+ Shift+ Oорганізувати імпорт, який буде добре їх форматувати, видалити непотрібний імпорт та додати відсутні імпорт.


6
Днями я помітив, що це можна використовувати для організації всього проекту чи його частин, а не лише одного файлу, як я очікував. Надзвичайно корисний.
Антті Кіссаніємі

Я спробую це, але чи змінює це імпорт java.util. * У імпорт, який вам насправді потрібен?
Томас Оуенс

Він може змінитися. * Імпортувати, якщо хочете - я вважаю, що це налаштовується (встановлення кількості класів, які потрібно імпортувати до того, як він перейде. *).
Даррен Грівз

Ця маленька комбінація клавіш була однією з головних причин, що я спочатку почав використовувати Eclipse. Так корисно!
Багатий Адамс

11
@boncey так, це налаштовується. Зауважте, що оскільки Eclipse3.3 ви можете попросити Eclipse автоматично організувати імпорт під час збереження (Java> Редактор> Зберегти дії)
Romain Linsolas

48

Ctrl-J починає знахідку.

Натисніть Ctrl-J, а потім почніть вводити текст. Використовуйте вгору / вниз, щоб знайти попередні / наступні екземпляри того, що ви ввели.

Ctrl-Shift-J здійснює пошук назад.


9
у цьому ж ключі виберіть слово та натисніть ctrl-k або ctrl-shift-k, і воно перейде через вибрані рядкові
випадки

@Newtopian - ctrl-k - це один із найкорисніших ярликів для швидкого пошуку посилань у файлі.
RodeoClown

37

Наберіть 'syso', потім натисніть Ctrl+, Spaceщоб розгорнути його до System.out.println ().

Трес зручний.


1
Відповідно до цього: syse буде розширено до System.err.println ();
guerda

Будь-яку комбінацію клавіш можна налаштувати, перевірте мою відповідь нижче
Равіша,

31

CTRL+ 3відображає список попереднього типу будь-якої команди меню.


+1 Я люблю мене деякий контроль 3!
chickinabiscuit

29
  • CTRL-SHIFT-g: знаходить використання методу чи поля під курсором, абсолютно необхідні для розуміння коду
  • CTRL-F6: перейдіть між списком відкритих вікон редактора, якщо ви просто введете його один раз і відпустите вас, щоб переключитися назад до попереднього вікна редактора, це робити послідовно - це хороший спосіб стрибати туди-назад.
  • CTRL-t: клас або метод покаже вам ієрархію типів, дуже корисну для пошуку реалізацій методу інтерфейсу, наприклад

1
Для швидкої навігації я використовую мишу з 5 кнопок і позначаю F6 на одну з кнопок.
s_t_e_v_e

Таким чином миші з багатьма кнопками використовуються таким чином. Це хороша ідея. Я просто хвилююся, що я б не навчився звичці, і якби у мене виникли б проблеми перемикатися між машинами (робочий стіл, робочий ноутбук, домашній робочий стіл тощо)
Борис Терзич

1
Я знаю, що можу це змінити, але я б хотів, щоб CTRL-F6 був замовчуванням чимось іншим. Я не можу вдарити його однією рукою.
Альберт

1
F4 також відкриє ієрархію типів за замовчуванням. Приємно і зручно розміщений поруч з F3, який переходить до визначення того, що знаходиться під курсором.
Майк Даніельс

5
Перехід Ctrl-F6 до Ctrl-Tab є важливим. Це дуже природно для розуміння, оскільки це як зміна вкладок у вашому браузері.
espinchi

28

При натисканні на тип повернення в декларації методу виділяються всі точки виходу методу.

наприклад:

1: public void foo()
2: {
3:   somecode();
4:    if ( blah ) return;
5:
6:    bar();
7: }

натискання на пустоту підкреслить повернення на рядку 4 та закриття } на рядку 7.

Оновлення . Це навіть працює для спробу {} блоків. Якщо ви поставите курсор на виняток у блоці лову, а затемнення виділить ймовірні методи, які можуть викинути це виключення.


Тепер він мені каже :) корисно ... особливо під час читання довгих жахливих методів ...
dstibbe

24

Доповнення коду підтримує CamelCase, наприклад, введення тексту CWARпокаже результат для ClassWithAReallyLongName. Почніть користуватися цією функцією, і більше ніколи більше не вводите інше довге ім'я класу.

(частини скопійовані з іншої відповіді, тому що я думаю, що відповіді з / лише одна підказка / підказка найкраща для опитування)


23

Alt-стрілка вгору переміщує поточний вибір вгору по лінії, а Alt-стрілка вниз переміщує її вниз. Я також весь час використовую Alt-Shift-Up / Down Arrow. Ctrl-K і Ctrl-Shift-K досить зручно, знаходячи наступне / попереднє виникнення поточного вибору (або останнього знаходження, якщо нічого не вибрано).


22

Існує можливість розміщення відкриваючої фігурної дужки та крапки з комою автоматично в "правильному" положенні. Вам потрібно буде це ввімкнути - Оберіть "Вікно" / "Налаштування" та введіть "брекет" у вікні пошуку - має бути легко розбірливим (на цьому комп'ютері немає затемнення). Ефект:

  • Набравши крапку з комою в будь-якій точці лінії, розмістіть її в кінці рядка (як у word / openoffice: Backspace, якщо ви хочете мати його в оригінальному місці)
  • Введення вступного фігурного дужки, коли ви знаходитесь просто в іншій дужці, розмістить його в кінці цього рядка - як у цьому прикладі

("|" - курсор):

if(i==0|)

набравши "{", це призведе до

if(i==0) {|

20

Розширення хіпі / Word Complete, afaik, натхненний Emacs: автоматично заповнить будь-яке слово у будь-якому редакторі на основі інших слів у цьому файлі. Автозаповнення рядкових літералів у коді Java, у XML-файлах скрізь.

Alt + /


2
На німецькій клавіатурі це Alt + Shift + 7, оскільки / знаходиться на 7.
guerda

Ви також можете змінити поведінку Ctrl-Space, щоб включити розширення тексту Alt / / style
Евен Картрайт

17

Alt-Shift-R означає перейменування , а не рефактор. Рефакторинг - більш загальний термін (як визначено у книзі ).

Тим не менш, це одне з моїх улюблених рефактори. До інших належать:

Витяг локальної змінної особливо корисний, коли я не пам’ятаю (або намагаюся вводити) тип результату методу. Якщо припустити, що JdbcTemplate createJdbcTemplate()у вашому класі є метод , напишіть такий код, як цей:

void someQuery() {
    createJdbcTemplate()
}

Виберіть вираз createJdbcTemplate(), натисніть Alt-Shift-L, введіть назву змінної та натисніть клавішу Enter.

void someQuery() {
    JdbcTemplate myTemplate = createJdbcTemplate();
}

5
зауважте, що перейменування Alt-Shift-R виконує "перейменування перейменування", а не "перейменування у файл"
Скотт Стенчфілд,

1
Щоб призначити результат методу змінної, ви можете також використовувати функцію швидкого виправлення (Ctrl-1), навіть не вибираючи виклик методу.
Jorn

17

CTRL+ D- для видалення поточного рядка


Це трохи дивно, що Eclipse влаштувався на цю ярлик, але NetBeans оселився на ctrl-e.
Тім Гілберт

17

Абсолютно, Ctrl+, Qщоб перейти до останнього місця редагування. Це дуже корисно відразу після того, як вас перебивають телефоном, начальником чи іншими людьми.


15

Ctrl+ Shift+ M: змінює статичний метод або посилання статичного атрибута класу на статичний імпорт.

До цього

import X;

...
X.callSomething();

Після

import static X.callSomething;

...
callSomething();

Хороший! Я повинен спробувати це. Чи знаєте ви, чи є ярлик і для навпаки?
Джорн

15

Alt+ Shift+ UpСтрілка збільшує вибір. Alt+ Shift+ Downробить навпаки.



14

Ніхто ще не згадав найкращого. Клацніть назву класу чи методу та натисніть Ctrl+ T.

Ви отримуєте швидку ієрархію введення. Для імені класу ви бачите всю ієрархію класів. Для назви методу ви отримуєте ієрархію, що показує суперкласи та підкласи, причому реалізація цього методу відрізняється від абстрактних згадок або класів, які не згадують метод.

Це величезно, коли ви знаходитесь у оголошенні абстрактного методу і швидко хочете побачити, де воно реалізовано.


Ха, збирався додати той - такий корисний при роботі з базою коду, що використовує інтерфейси для всього!
Даррен Грівз

просто в класовій пресі F4 він перераховує ієрархію на вкладці
Равіша,

13

F3 є моїм улюбленим, відкриває визначення вибраного елемента.

Ctrl+ Shift+ Rмає цікаву особливість, під час пошуку ви можете використовувати лише великі літери верблюда від класу (наприклад, набравши CWAR, ви побачите результат для ClassWithAReallyLongName).

Alt+ Shift+ W> Package Explorer полегшує життя під час перегляду великих проектів.


1
Цей трюк з верблюжим справою також працює при написанні коду. Введіть CWAR в редактор, після чого натисніть CTRL-Space, і він розшириться до ClassWithAReallyLongName. Я збираюся додати це як окрему пораду, якщо її вже немає.
Даррен Грівз

Трюк Camel Case також працює в діалоговому вікні Ctrl + Shift + T, і мені здається настільки корисним, що я більше не нав'язуюсь до класів, якщо знаю їхні імена. Це також один із тих хитрощів, який змушує вашого партнера піти "Вау! Як це ви зробили?" коли ви створюєте пару.
banjollity

Тільки мить тому мені було цікаво, чи є ярлик, який може підняти провідник пакунків без необхідності натискати на мінімізовану піктограму. Дякую за це :-)
guyumu

Альтернатива для F3: Control + клацніть класом, функцією або змінною, щоб перейти до його декларації. Це також працює для тегів Javadoc @link; Елементи, що можна натискати, підкреслюються, коли навести курсор на нього.
cthulhu

10

Неконтрольний клавіатурний трюк - використовувати набори команд у вашій команді-> Синхронізувати перегляд, щоб упорядкувати зміни перед здійсненням.

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


10

CTRL + SPACE - для будь-якого місця та в будь-якому місці.

Генеруйте геттери та сетери.

Створіть конструктори за допомогою полів

Метод вилучення ...

Рефактор-> Перейменувати

CTRL + O для швидкого контуру. CTRL + O + CTRL + O для спадкового контуру.

F4 для відображення ієрархії типів

Відкрийте Ієрархію викликів, щоб відобразити, звідки викликається метод.

CTRL + SHIFT + T, щоб відкрити тип Java

CTRL + SHIFT + R, щоб відкрити будь-який ресурс.

ALT + вліво або вправо, щоб рухатись вперед або назад через місця редагування ваших документів (зручна навігація)

Переозначення / реалізація методів, якщо ви знаєте, що збираєтеся зробити багато методів (інакше CTRL + SPACE краще для кожного вибору за часом.

Рефактор-> Інтерфейс вилучення

Refactor-> Підтягніть вгору

Рефактор-> Натисніть вниз

CTRL + SHIFT + O для організованого імпорту (коли ви вводите загальну назву класу, наприклад Map, натискаючи CTRL + SPACE, а потім вибираєте відповідний клас, імпортуєте його безпосередньо для вас).

CTRL + SHIFT + F для форматування (хоча вбудований формат Eclipse може бути невеликим мозковим шрифтом для довгих рядків коду)

EDIT: О так, деякі налагодження:

F5: Крок (покажи мені деталі!)

F6: Перейдіть (я вважаю, переходите до наступної частини ...)

F7: Вийди (я думав, що я піклуюся про цей метод, але виявляється, що ні, не виводь мене звідси!)

F8: відновлення (перехід до наступної точки перерви)

CTRL + SHIFT + I: перевірити вираз. CTRL + SHIFT + I + CTRL + SHIFT + I: створіть вираз для обстеженого виразу.

Умовні точки перерви: клацніть правою кнопкою миші точку розриву, і ви можете встановити умову, яка виникає, що запускає її порушення виконання програми (контекстна допомога з Ctrl + Space доступна тут!)

F11 - Останнє запущення налагодження (додаток)

CTRL + F11 - запуск останнього запуску (додаток)


10

Точка розриву на винятку

Eclipse дозволяє встановити точки перерви залежно від місця винятку.
Ви отримуєте доступ до опції через "j!" alt текст http://help.eclipse.org/stable/topic/org.eclipse.jdt.doc.user/images/org.eclipse.jdt.debug.ui/elcl16/exc_catch.png значок у вікні налагодження.

alt text http://blogs.bytecode.com.au/glen/2007/04/06/images/2007/AddExceptionWindow.png

В офіційній довідковій темі " Додавання точки виключення Java-винятку " детальніше про це.

  • Варіант Uncaught Exception - призупинення виконання, коли виняток того ж типу, що і точка розриву, перекидається на місце, яке не знайдено.
  • Варіант Caught Exception - призупинення виконання, коли виняток того ж типу, що і точка розриву, перекидається у схоплене місце.
  • не забувайте Призупинити виняток на підкласі цього Винятку :
    призупинити виконання, коли зустрічаються підкласи типу винятків.
    Наприклад, якщо точка виключення для RuntimeExceptionналаштування призупинення на підкласах, вона також буде спровокована символом aNullPointerException .

alt текст http://help.eclipse.org/stable/topic/org.eclipse.jdt.doc.user/reference/breakpoints/images/ref-breakpoint_suspendsubclass.PNG


9

Ctrl+ Alt+ Hна методі отримання ієрархії викликів для нього. Швидкий спосіб побачити, звідки його викликано.



8

Alt+ Shift+ Rдля рефактора та перейменування.


1
Alt + Shift + R - Refactor-> Rename. У програмі Eclipse є кілька інших ярликів рефакторингу.
MetroidFan2002

7

Ось моя колекція найкорисніших комбінацій клавіш для 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

7

Не такий прихований, але ІМО найкращий трюк.

Якщо припустити налаштування за замовчуванням (і ви не додали нові фрагменти)

Виділіть (або виберіть) текст (рядковий або змінний) ... Натисніть Ctrl + Пробіл. Натисніть Кінець + Введіть. запускається фрагмент "sysout", який обертає вибір як його параметр.

напр.

 "hello world!"

becomes
System.out.println("hello world!");

Мені так подобається, що я реалізував аналогічний фрагмент для Android Toast та Log.i () ВЕЛИЧЕЗАГАДА часу під час ручної налагодження ....


Нічого собі, як я про це не знав? Дякую!
MatrixFrog

Гм, коли я натискаю End, він просто переходить до кінця вибраної рядки, а не до кінця списку пропозицій.
серг

Можливо, вам слід натиснути додаткову клавішу "вниз", перш ніж потрапити в кінець ... :(
st0le
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.