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