我正在尝试使用IntelliJ并且有一个小麻烦,我无法弄清楚IntelliJ中是否有可能的解决方案.在Eclipse甚至TextMate(以及许多其他具有自动完成功能的编辑器)中,如果您处于自动完成部分(如字符串或括号区域)的中间,则可以按Enter或Tab键以到达该部分的末尾.例如:
if (blah.equals(something.toString()))
插入符号位于toString部分的括号中间.在IntelliJ中,您可以通过这些括号输入没有问题,或者您可以点击"结束"键以结束它.一个是轻微的烦恼,另一个是更烦人,因为我必须把我的手从主排.在eclipse中,我可以点击Enter键,它会让我离开这个... TextMate,Tab.
是否有我可以调整的设置或我能做的事情,以便在IntelliJ中提供类似的功能?
在这种情况下,如果你Ctrl-Shift-Enter像CrazyCoder建议的那样按下,你会得到这种行为.它将添加大括号并将光标放在下一行.您也可以按下Shift-Enter哪个将进入下一行,并对代码做出较少的假设.Ctrl-Shift-Enter根据它正在查看的代码,行为会有所不同,因此不会给您一致的行为.例如,在字符串的中间,它会将您放在行的末尾并添加一个分号.
看起来这里结束是首选的关键来到达终点.您可以在键映射中添加一个额外的键以转到行的末尾,如果不同的键组合对您更有效,但它不会仅仅因为您位于括号中间而改变其行为.
看看IDEA选项,似乎括号行为并不是真正的自动模板,比如自动创建for循环,所以你不要在完成时标记出来,而只是自动为你完成括号,并且智能地识别您可能想要流畅地输入,就好像它没有.
我试过cmd-shift-enter(在Mac上),结果对我来说似乎更有用(在javascript代码中).我正在使用管道('|')在这里可视化光标:
之前:
var x = func1(func2(|))
按下cmd-shift-enter后:
var x = func1(func2());|
所以它甚至在行尾添加了分号(但你仍然需要再次按回车键才能跳到下一行).
编辑
刚发现这个快捷方式更有用:
之前:
if(a == b|)
按下后cmd-shift-enter:
if(a == b) { | }
适用于php和javascript