Подтвердить что ты не робот

Автозаполнение IntelliJ

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

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

перед:

var x = func1(func2(|))

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

var x = func1(func2());|

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

ИЗМЕНИТЬ

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

перед:

if(a == b|)

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

if(a == b) {
    |
}

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

Ответ 3

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

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

Ответ 4

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