IntelliJ автозаполнение побега - PullRequest
11 голосов
/ 27 октября 2009

Я пробую IntelliJ, и у меня есть одно небольшое раздражение, которое я не могу понять, есть ли возможное решение для IntelliJ. В Eclipse и даже TextMate (а также во многих других редакторах с автозаполнением), если вы находитесь в середине раздела автозаполнения, такого как строка или область скобок, вы можете нажать Enter или Tab, чтобы добраться до конца этого раздела. Например:

if (blah.equals(something.toString()))

Символ каретки должен находиться в середине скобки части toString. В IntelliJ вы можете вводить эти круглые скобки без проблем, или вы можете нажать клавишу «Конец», чтобы добраться до конца. Один из них немного раздражает, другой раздражает больше, так как мне приходится убирать руки с домашнего ряда. В затмении я мог нажать клавишу Enter, и это вытащило бы меня из этого ... TextMate, Tab.

Есть ли настройка, которую я могу настроить, или что-то, что я могу сделать, чтобы дать мне аналогичную функциональность в IntelliJ?

Ответы [ 4 ]

6 голосов
/ 27 октября 2009

В этом контексте, если вы нажмете Ctrl-Shift-Enter , как предлагает CrazyCoder, вы как бы получите это поведение. Это добавит фигурные скобки и поместит курсор на следующую строку. Вы также можете нажать Shift-Enter , что приведет вас к следующей строке и сделает меньше предположений относительно кода. Ctrl-Shift-Enter ведет себя по-разному в зависимости от кода, который просматривает, поэтому это не даст вам согласованного поведения. Например, в середине строки он помещает вас в конец строки и добавляет точку с запятой.

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

Глядя на параметры IDEA, кажется, что поведение скобок на самом деле не является живым шаблоном, как автоматическое создание цикла for, поэтому вы не выводите вкладку по завершении, а просто автоматически заполняете скобки для вы и разумно понимаете, что можете печатать плавно, как если бы это было не так.

5 голосов
/ 03 августа 2012

я попробовал cmd-shift-enter (на mac), и результат кажется мне более полезным (в коде javascript). я использую трубу ('|'), чтобы визуализировать курсор здесь:

перед:

var x = func1(func2(|))

после нажатия cmd-shift-enter:

var x = func1(func2());|

, поэтому он даже добавляет точку с запятой в конце строки (но вам все равно придется снова нажать клавишу ввода, чтобы перейти к следующей строке).

EDIT

только что нашел этот ярлык еще более полезным:

перед:

if(a == b|)

после нажатия cmd-shift-enter :

if(a == b) {
    |
}

работает как в php, так и в javascript

1 голос
/ 14 мая 2015

Поскольку эти ответы довольно старые, я не знаю, знает ли кто-нибудь, что вы можете выйти из приложенного автоматически заполненного поля, набрав Shift + KEY

В Java, если вы сделали System.out.println («Hello World!»); Если курсор находится в пределах "", Shift + " выведет вас за пределы" "и Shift + ) получит Вы вне ()

0 голосов
/ 31 октября 2013

В настоящее время не поддерживается Intellij. По этому запросу есть открытый запрос на номер http://youtrack.jetbrains.com/issue/IDEA-74666. Дополнительные голоса были бы хорошими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...