使用Intellij用键盘或鼠标选择括号()、方括号[]或花括号{}之间的块

40

我开始使用IntelliJ,非常喜欢它,但是与Eclipse相比,我错过了一些功能。其中之一是选择{},()或[]之间的块或跳转到块的开头/结尾。例如,在Eclipse中,如果您在打开括号后双击鼠标,它会选择直到匹配的关闭括号的所有内容:

method(item1, method2(itemA), item3,
  item4, item5);

如果在打开括号后双击 method(|,那么它会选择一直到item5之后的闭合括号。我发现在IntelliJ中双击可以选择方法体,但不包括括号内和类体。

此外,在Eclipse中,您可以按Ctrl + Shift + P在块的开头/结尾之后跳转到块的开头/结尾。在IntelliJ中(使用Eclipse键映射),Ctrl+Shift+P只会选择到方法的闭合花括号'}'。我发现Ctrl+Shift+}可以按照我的预期工作,但仅适用于花括号{},并且它还会选择整个块,无论是方法还是类,而不仅仅是移动光标。

我知道IntelliJ非常复杂且可定制化,但我无法弄清楚如何从Eclipse中复制此功能。希望能够获得帮助,并使此功能正常工作。

提前感谢! Craig


你可以使用 ctrl + shift + 箭头键 - user3145373 ツ
这只是将光标移动到下一个单词,而不是跳到块的末尾。虽然Ctrl+Shift+上/下很有趣。 - Craig
是的,没错。但我只是知道这个技巧,否则我们就得使用 shift + end / home - user3145373 ツ
1
刚刚发现了这个问题,讨论了Alt+Shift+上下箭头,与我所寻找的接近。虽然与Eclipse相比仍然不及。 - Craig
1
使用Idea的键盘映射,将敏感选择块锁定,快捷键为Ctrl+W。多次使用将增加其范围。 - gorefest
5个回答

48

其中之一是选择 {}、() 或 [] 中的块,或者跳转到块的开头 / 结尾。

假设你的光标在 itemA 上。

Ctrl+W -> 已选中:

itemA

按下Ctrl+W -> 已选中:

method2(itemA)

Ctrl+W -> 选定:

item1, method2(itemA), item3,
                item4, item5

按下Ctrl+W -> 选中:

method(item1, method2(itemA), item3,
                item4, item5)

之后它会选择整个方法、类等等。 说实话这是我最常用的快捷方式。不幸的是,有时我试图在其他应用程序中使用它 - 按Ctrl + W关闭每个Web浏览器选项卡 :)

还有一件事:

  • Ctrl + {
  • Ctrl + }

它可以跳转到开/闭括号。


2
Ctrl+W 对我无效。不确定原因。我想你可能有不同于我的按键绑定?我认为你将该按键绑定映射到“选择插入符号处的单词”操作,这正是我将 Alt+Shift+Up/Down 映射到的操作。 - Craig
非常有用的快捷键 - Truong Ha
在Mac OSX上使用cmd+w。 - Yiling
7
@Craig:在键盘映射中,它被称为"扩展选择"。 - g-t
4
在 Mac OS Sierra 上,使用 Intellij 2017.1.5 版本时,默认的选择扩展键是 ALT+UP,缩小选择键是 ALT+DOWN。 - MyrionSC2
在Linux上,扩展|选择的组合键为:Alt + MAJ + =或Ctrl + Super,其中Super键= Windows键。 - Florian Rival

29

在 Mac 中,移动到块的开头并执行以下操作:

Command + Shift + Alt + }

或者到块的末尾执行:

Command + Shift + Alt + {

在 Windows 中执行如下操作:

Ctrl + Shift + }

Ctrl + Shift + {

9

如果您使用的是 Mac OS X 10.5+ 键盘映射,选择括号内的范围可使用 option(alt) + up arrow 快捷键。重复按下该快捷键会逐步扩大所选内容的范围。

如果您使用的是 Mac OS X 键盘映射,则此操作映射到 command+W 快捷键。


最佳解决方案 - ximmyxiao

5
我一直使用Ctrl+W,但这很烦人,因为它首先选择一个单词,然后选择一个封闭语句,然后选择另一个封闭语句,以此类推。你必须按下Ctrl+W太多次。
我发现任何块选择最好的方法是:
  1. 按下Ctrl+{ - 这将带您到该块的开头
  2. 按下Ctrl+Shift+} - 这将选择从开头到结尾的整个块。
这样,您就能够用少量操作选择任何大小和任意嵌套块的块。

是的,我之前就注意到了(请看我的问题),你说得对,但它只适用于花括号 {} 而不适用于圆括号 () 或方括号 [] - Craig
是的,这很遗憾。对于这两个人来说,我想只需要按 Ctrl+W 就可以了。 - JeB
这正是我在 @meltedspark 所寻找的。在 Eclipse 中,只需双击起始括号即可选择整个代码块。感谢! - ACV

3

我正在使用一种很好的解决方法。 在代码块旁边,您会看到缩小/最大化按钮(用于代码折叠,您在行号旁边看到减号和加号标记)。您会在减号上找到它,因为代码未被折叠。 只需按减号,整个代码块将被最小化,并且变成了一行。选择该行,复制它,粘贴它,删除它或以任何您想要的方式处理它:)


哈哈哈哈,这也很有用 :D - TuralAsgar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接