在IntelliJ代码完成后,我怎样才能使光标最终在parens里面,而不是在他们之后
当在IntelliJ中为初学者教程使用代码补全时,它将光标放在parens后面,迫使我每次点击左键和每一次。使用管道表示游标:“printl”完成到“println()|”当我需要的是“的println(|)”在IntelliJ代码完成后,我怎样才能使光标最终在parens里面,而不是在他们之后
随着第二,如果你键入“完成后,你会得到的println(”“),但在)此刻我得到的是调用println(””
我知道这似乎是一件简单的事情,但是当你不得不继续将右手从钥匙上移开以击中< - 约75%的线条箭头时,它会变成减慢速度并且变得非常快速的东西。
感谢, 斯科特
在引号之间使用带有$ END $的实时模板正是我所需要的。
现在,如果我只想知道如何编辑股票println()以包含$ END $或使我的实时模板显示在列表的顶部而不是底部。
必须达到选择正确的模板种类的目的,使得一个,所以我不需要达到移动光标笑lol
在列表中,你可以“的println”超载选择具有一定paramete RS。
如果您打印到标准输出,您可以使用实时模板:输入“sout”并按Tab键。
IntelliJ的代码完成是上下文敏感的w.r.t它放置光标的位置。
考虑以下方法:
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$
指令,将光标置于内的括号。