【发布时间】:2016-10-16 13:02:49
【问题描述】:
在 VS Code 中是否有可用的快捷方式来选择匹配括号之间的所有代码?例如。在 Atom 中,这个快捷方式是ctrl+alt+m。
【问题讨论】:
标签: visual-studio-code keyboard-shortcuts
在 VS Code 中是否有可用的快捷方式来选择匹配括号之间的所有代码?例如。在 Atom 中,这个快捷方式是ctrl+alt+m。
【问题讨论】:
标签: visual-studio-code keyboard-shortcuts
将光标放在括号内(不是紧挨着括号)并执行editor.action.smartSelect.grow,直到括号内的所有内容都被选中。默认快捷键是 Shift+Alt+Right(或 Ctrl+Shift+ Right 在 Mac 上)。
您可以使用 editor.action.smartSelect.shrink 缩小选择范围,它具有默认快捷键 Shift+Alt+Left(或 Ctrl+Shift+Left 在 Mac 上)。
【讨论】:
shift + alt + right(最后一个键必须按 3 次)来工作。
ctrl+shift+cmd+right 增长和 ...-left 收缩。只需在键盘快捷键菜单中搜索“smartselect”,这两个命令及其当前设置就会突出显示。
我正在使用这个扩展程序,名为 Quick and Simple Text Selection - 是的,就是这个名称 :)
如果您不想使用扩展程序,这是我目前最好的方法:转到 edit keyboard shortcuts 并从那里打开您的 keybindings.json 文件并添加以下行
{
"key": "ctrl+'",
"command": "editor.action.smartSelect.grow",
"when": "editorTextFocus"
}
【讨论】:
我仍然认为the expand region extension 是这样做的方式。但是 vscode 1.20 确实添加了“选择到括号”命令(参见命令面板)。它没有默认键绑定,但命令是
editor.action.selectToBracket
这样您就可以分配自己的绑定。但它不如扩展方便。上面提到的 smartSelect 选项给了我意想不到/不想要的结果。
--------- 更新 ---------------
editor.action.smartSelect.expand 命令是在此处的答案之后的某个时间点添加的。
绑定到 Shift+Alt+RightArrow。如果您愿意,将逐步扩大选择范围,包括不包括括号、括号。您需要不断触发 RightArrow 才能到达您想要的位置。如果您从括号旁边开始,则不会仅在括号内选择 - 从其他任何地方开始,它会。
【讨论】:
正如 Mark 所回答的,editor.action.selectToBracket 有效。我将键绑定分配给
ctrl+shift+m
作为键盘快捷键。这曾经是旧版本 VS 中的默认设置。
注意:Ctrl+m 是“转到括号”的快捷键
【讨论】:
editor.action.smartSelect.expand,分配给 ctrl+shift+right 将扩展您当前的选择,因此在字符串中,将扩展为当前单词,并在再次按下时到整个字符串。我认为这是学习的正确捷径,因为它还可以扩展到字符串之外以选择更多包装器,这是一件非常巧妙的事情。
从 v1.44 开始,不再为 editor.action.smartSelect.grow 分配键盘快捷键,正如 Wosi 当前接受的答案中所述。
【讨论】:
在 MacOS 中:它是 shift + control + right,您点击几次即可展开 smartSelect。
smartSelect 相关的您自己的设置,请转至Keyboard Shortcuts 或使用command + k command + s。command + k command + r 来查看VSCode Keyboard Shortcuts Reference。它将引导您到this page。【讨论】:
扩展名BracketSelect 完美解决了这个问题! 它在最近的匹配引号或括号 一次之间选择所有文本。按两次,它将分隔元素(引号或括号)添加到选择中。再次按下它,选择就会向上增长。
基本上,它的工作方式类似于smartSelect 命令,但有一个巧妙的区别,它一次选择括号或引号内的所有文本,对我来说,这是一种比smartSelect 工作方式更常见的用例。
【讨论】: