【问题标题】:Using Intellij to select block between parentheses () or brackets [] or curly brackets {} either with keyboard or mouse使用 Intellij 使用键盘或鼠标选择括号 () 或括号 [] 或大括号 {} 之间的块
【发布时间】:2014-08-07 07:39:25
【问题描述】:

我已经开始使用 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 复制此功能。为使此功能正常工作,我们将不胜感激。

提前致谢! 克雷格

【问题讨论】:

  • 你可以使用ctrl + shift + arrow key.
  • 这只会将光标移动到下一个单词,它不会跳转到块的末尾。虽然 Ctrl+Shift+up/down 很有趣。
  • 是的,这是真的。但我只知道这个技巧,否则我们将不得不使用shift + end / home
  • 刚刚发现了这个question,它讨论了Alt+Shift+up/down,这与我正在寻找的内容很接近。虽然还是比eclipse差。
  • 带有idea键映射的块敏感选择是ctrl+w。多次使用会扩大范围。

标签: java intellij-idea editor


【解决方案1】:

其中之一是在 {}、() 或 [] 之间选择块或在块的打开/关闭之间跳转。

假设您的光标位于 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)

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

还有一点是:

  • Ctrl + {
  • Ctrl + }

它跳转到左/右括号

【讨论】:

  • Ctrl+W 对我不起作用。不知道为什么。我想你和我有不同的键绑定?我认为您已将该键绑定映射到 Select word at Caret 操作,这就是我将 Alt+Shift+Up/Down 映射到的操作。
  • 真正有用的快捷方式
  • 在 Mac OSX 上使用 cmd+w。
  • @Craig:在键盘映射中称为扩展选择
  • 在带有 Intellij 2017.1.5 的 Mac OS Sierra 中,默认键是 ALT+UP 用于扩展选择,ALT+DOWN 用于收缩选择。
【解决方案2】:

在 Mac 中,转到块的开头并执行:

Command + Shift + Alt + }

或者到一个块的末尾做:

Command + Shift + Alt + {

在 Windows 中这样做:

Ctrl + Shift + }

Ctrl + Shift + {

【讨论】:

    【解决方案3】:

    我一直在使用Ctrl+W,但这很烦人,因为它首先选择一个单词,然后是一个封闭语句,然后是另一个封闭语句等等。您必须按太多次Ctrl+W

    我认为任何块选择的最佳方法是:

    1. Ctrl+{ - 这将带您到块的开头
    2. Ctrl+Shift+} - 这将选择从头到尾的整个块。

    通过这种方式,您可以选择任意大小的块,其中包含任意数量的嵌套块,只需很少的操作。

    【讨论】:

    • 是的,我之前注意到(见我的问题),你是对的,但它只适用于大括号{},不适用于括号()或方括号[]。跨度>
    • 是的,很遗憾。对于这两个家伙,我猜只是Ctrl+W
    • 这就是我要找的@meltedspark "按 Ctrl+Shift+} - "这将选择从头到尾的整个块。" 在 Eclipse 中,您只需双击开始括号。谢谢
    【解决方案4】:

    如果您使用Mac OS X 10.5+ 键映射,则选择封闭范围为alt+up。反复按下它会扩大下一个封闭范围的选择。

    如果您使用Mac OS X 键盘映射,则此操作将映射到command+W

    【讨论】:

    • 最佳解决方案
    【解决方案5】:

    我正在使用一种效果很好的解决方法。就在代码块旁边,您将看到最小化/最大化按钮(用于代码折叠,您在行号旁边看到的减号和加号)。随着代码的展开,您会在减号处找到它。 只需按减号,整个代码块将被最小化,并在一行中。选择那一行,复制它,粘贴它,删除它或者你想用它做什么:)

    【讨论】:

    • 哈哈哈这也很有用:D
    猜你喜欢
    • 2011-01-12
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    • 2010-11-06
    • 2014-11-10
    • 2013-04-20
    • 1970-01-01
    相关资源
    最近更新 更多