Select VS Code 中匹配括号之间的所有内容
Select everything between matching brackets in VS Code
VS Code 中是否有一个快捷方式可以选择匹配括号之间的所有代码?例如。在 Atom 中,这个快捷方式是 ctrl+alt+m
.
将光标放在括号内(不是紧挨着括号)并执行 editor.action.smartSelect.grow
直到选中括号内的所有内容。默认快捷键是Shift+Alt+Right(或Ctrl+Shift+Right on Mac).
您可以使用 editor.action.smartSelect.shrink
缩小选择,它具有默认快捷方式 Shift+Alt+左(或Ctrl+Shift+左 on Mac) .
我正在使用这个名为 Quick and Simple Text Selection 的扩展程序 - 是的,就是这个名字 :)
如果您不想使用扩展程序,这是迄今为止我想到的最好的方法:转到 edit keyboard shortcuts
并从那里打开您的 keybindings.json
文件并添加以下行
{
"key": "ctrl+'",
"command": "editor.action.smartSelect.grow",
"when": "editorTextFocus"
}
我建议将这些键重新映射到另一个键,这个组合键很流行,有时会因为与其他应用程序冲突而不起作用。
打开快捷键设置,输入smartselect
找到这个设置,grow就是把选区从光标当前位置扩大到最近的括号,如果要扩大或者缩小到下一个括号。
我仍然认为 the expand region extension 是解决此问题的方法。但是 vscode 1.20 确实添加了 "Select to Bracket" 命令(参见命令面板)。它没有默认的键绑定,但命令是
editor.action.selectToBracket
因此您可以分配自己的绑定。但它不像扩展名那么方便。上面提到的 smartSelect 选项给我 unexpected/unwanted 结果。
------------ 更新 --------------
editor.action.smartSelect.expand
命令是在此处答案后的某个时间点添加的。
绑定到 Shift+Alt+RightArrow。将逐步扩展 selection 包括在括号内,不包括括号,如果你愿意的话。您需要不断触发 RightArrow 才能到达您想要的位置。如果您在括号旁边开始,则不会 select 仅在括号内 - 从其他任何地方开始,它会。
正如 Mark 所回答的那样,editor.action.selectToBracket
有效。我将键绑定分配给
ctrl+shift+m
作为键盘快捷键。这在旧版本的 VS 中曾经是默认设置。
注意:Ctrl+m是"Go to bracket"
的快捷键
editor.action.smartSelect.expand
,分配给ctrl+shift+right会展开你当前的 selection,所以在一个字符串中,将扩展到当前单词,并在再次按下时扩展到整个字符串。我认为这是学习的正确捷径,因为它还可以从字符串扩展到 select 更多的包装器,这是一件非常巧妙的事情。
从 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.
简答 vscode 2021 在 Win10 中:ctrl + shift + space
--
"key": "ctrl+shift+space",
"command": "editor.action.smartSelect.grow",
"when": "editorTextFocus"
扩展 BracketSelect 完美地实现了这一目的!
它选择 所有文本 最近的 匹配引号或括号 一次 。按两次,它会将分隔元素(引号或括号)添加到选择中。再按一次,选区会越来越大。
基本上,它的工作方式类似于 smartSelect
命令,但有一个巧妙的区别,即它会一次选择括号或引号内的所有文本,对我来说,这是一种比 smartSelect
有效。
我发现以上所有答案都有效,但它们还在左括号前 select 一个 space,右括号前 select。而不是实际上 select 仅显示括号之间的文本。您可以通过按 command+[ 来测试它,它会移动整个条件,例如,而不仅仅是括号之间的代码。我在 Coda 中格式化代码时常用的东西。
我找到的一个解决方案是一个名为 Scoper.
的插件
这会突出显示括号内的所有内容,但实际上并未突出显示。您可以设置突出显示颜色。然后我可以在第一个括号内单击,按住 Shift 键,然后在右括号前单击以实际突出显示括号之间的所有内容,并排除括号本身。
很多人可能看不到这方面的用例,但我认为我会 post 以防它对任何人有帮助,因为 none 当前的解决方案对我有用。
VS Code 中是否有一个快捷方式可以选择匹配括号之间的所有代码?例如。在 Atom 中,这个快捷方式是 ctrl+alt+m
.
将光标放在括号内(不是紧挨着括号)并执行 editor.action.smartSelect.grow
直到选中括号内的所有内容。默认快捷键是Shift+Alt+Right(或Ctrl+Shift+Right on Mac).
您可以使用 editor.action.smartSelect.shrink
缩小选择,它具有默认快捷方式 Shift+Alt+左(或Ctrl+Shift+左 on Mac) .
我正在使用这个名为 Quick and Simple Text Selection 的扩展程序 - 是的,就是这个名字 :)
如果您不想使用扩展程序,这是迄今为止我想到的最好的方法:转到 edit keyboard shortcuts
并从那里打开您的 keybindings.json
文件并添加以下行
{
"key": "ctrl+'",
"command": "editor.action.smartSelect.grow",
"when": "editorTextFocus"
}
我建议将这些键重新映射到另一个键,这个组合键很流行,有时会因为与其他应用程序冲突而不起作用。
打开快捷键设置,输入smartselect
找到这个设置,grow就是把选区从光标当前位置扩大到最近的括号,如果要扩大或者缩小到下一个括号。
我仍然认为 the expand region extension 是解决此问题的方法。但是 vscode 1.20 确实添加了 "Select to Bracket" 命令(参见命令面板)。它没有默认的键绑定,但命令是
editor.action.selectToBracket
因此您可以分配自己的绑定。但它不像扩展名那么方便。上面提到的 smartSelect 选项给我 unexpected/unwanted 结果。
------------ 更新 --------------
editor.action.smartSelect.expand
命令是在此处答案后的某个时间点添加的。
绑定到 Shift+Alt+RightArrow。将逐步扩展 selection 包括在括号内,不包括括号,如果你愿意的话。您需要不断触发 RightArrow 才能到达您想要的位置。如果您在括号旁边开始,则不会 select 仅在括号内 - 从其他任何地方开始,它会。
正如 Mark 所回答的那样,editor.action.selectToBracket
有效。我将键绑定分配给
ctrl+shift+m
作为键盘快捷键。这在旧版本的 VS 中曾经是默认设置。
注意:Ctrl+m是"Go to bracket"
的快捷键editor.action.smartSelect.expand
,分配给ctrl+shift+right会展开你当前的 selection,所以在一个字符串中,将扩展到当前单词,并在再次按下时扩展到整个字符串。我认为这是学习的正确捷径,因为它还可以从字符串扩展到 select 更多的包装器,这是一件非常巧妙的事情。
从 v1.44 开始,不再为 editor.action.smartSelect.grow
分配键盘快捷键,如 Wosi 当前接受的答案中所述。
在 MacOS 中:它是 shift + control + right
,您向右点击几次以展开 smartSelect
。
- 要查找与
smartSelect
相关的设置,请转到Keyboard Shortcuts
或使用command + k command + s
。 - 您可以通过输入
command + k command + r
查看 VSCodeKeyboard Shortcuts Reference
。它将带您前往 this page.
简答 vscode 2021 在 Win10 中:ctrl + shift + space
--
"key": "ctrl+shift+space",
"command": "editor.action.smartSelect.grow",
"when": "editorTextFocus"
扩展 BracketSelect 完美地实现了这一目的! 它选择 所有文本 最近的 匹配引号或括号 一次 。按两次,它会将分隔元素(引号或括号)添加到选择中。再按一次,选区会越来越大。
基本上,它的工作方式类似于 smartSelect
命令,但有一个巧妙的区别,即它会一次选择括号或引号内的所有文本,对我来说,这是一种比 smartSelect
有效。
我发现以上所有答案都有效,但它们还在左括号前 select 一个 space,右括号前 select。而不是实际上 select 仅显示括号之间的文本。您可以通过按 command+[ 来测试它,它会移动整个条件,例如,而不仅仅是括号之间的代码。我在 Coda 中格式化代码时常用的东西。
我找到的一个解决方案是一个名为 Scoper.
的插件这会突出显示括号内的所有内容,但实际上并未突出显示。您可以设置突出显示颜色。然后我可以在第一个括号内单击,按住 Shift 键,然后在右括号前单击以实际突出显示括号之间的所有内容,并排除括号本身。
很多人可能看不到这方面的用例,但我认为我会 post 以防它对任何人有帮助,因为 none 当前的解决方案对我有用。