В коде IntelliJ, как я могу сделать так, чтобы курсор оказался внутри паренов, а не после них?
При использовании дополнения кода для обучающих программ для начинающих в IntelliJ, он продолжает помещать курсор после скобок, заставляя меня нажимать левую клавишу каждый раз.
Использование канала для представления курсора: "printl" завершается до "println()|" когда мне нужно "println(|)"
Во втором случае, если вы введете "после завершения, вы получите println(""), но в данный момент я получаю println()""
Я знаю, что это кажется простым делом, но когда вам нужно продолжать двигать правой рукой от клавиш, чтобы нажать стрелку <на 75% ваших строк, это становится тем, что замедляет вас и очень быстро стареет.
Спасибо Скотт
3 ответа
Использование Live Template с $END$ между кавычками было именно тем, что мне было нужно.
Теперь, если бы я мог просто выяснить, как отредактировать функцию println(), чтобы она включала $END$, или сделать так, чтобы мой живой шаблон показывался вверху списка вместо нижнего.
Необходимость протянуть руку, чтобы выбрать правильный тип шаблона, побеждает цель его создания, поэтому мне не нужно тянуться, чтобы переместить курсор.
В списке вы можете выбрать перегрузку "println", которая имеет некоторые параметры.
Если вы печатаете на стандартный вывод, вы также можете использовать живой шаблон: наберите "sout" и нажмите Tab.
Завершение кода IntelliJ зависит от контекста, где он помещает курсор.
Даны следующие методы:
private void foo() {}
private void bar(String s) {}
Если я наберу fo
и пусть IntelliJ автоматически завершит foo()
он поместит курсор после скобок, потому что IntelliJ знает, что foo()
не имеет параметров, поэтому предполагается, что вы захотите перейти к чему-то еще.
Если я наберу ba
и пусть IntelliJ автоматически завершит bar()
он поместит курсор в скобки, потому что IntelliJ знает, что bar()
ожидает параметр, поэтому он предполагает, что следующая вещь, которую вы хотите ввести, это параметр для bar()
,
Конечно, это может немного сбить с толку, когда метод перегружен, и допускает ноль или более параметров.
Если вы обнаружите, что IntelliJ ошибся, вы можете создать Live Template. Вот пример sout
живой шаблон:
System.out.println($END$);
Это превращается sout + TAB
в System.out.println();
и, в соответствии с $END$
инструкция, курсор помещается внутри паратезов.