VSCode中如何选中完整函数定义?是否有对应快捷键?
VSCode 无鼠标选中完整函数定义操作方案
针对你常用的Python、JavaScript语言,且已经安装官方对应扩展的场景,有以下两种常用的实现方案:
原生内置方案(无需额外配置)
VSCode自带语义级的智能选择功能,已经适配Python、JS的语法规则,直接用默认快捷键即可操作:
- 先将光标定位到目标函数的任意位置(函数名、参数列表、函数体内代码都可)
- 按扩大选择快捷键:
- Windows/Linux:
Shift + Alt + 右方向键 - Mac:
Ctrl + Shift + Cmd + 右方向键
- Windows/Linux:
- 按1次会选中当前单词,按2次选中当前行,按3-4次就会自动扩大选中范围到完整的函数定义,包含函数头和整个函数体
- 如果选多了可以按缩小选择快捷键回退:
- Windows/Linux:
Shift + Alt + 左方向键 - Mac:
Ctrl + Shift + Cmd + 左方向键
- Windows/Linux:
自定义一键选中方案(高频操作优化)
如果需要一键直达选中完整函数,可以自定义快捷键绑定:
- 按
Ctrl+Shift+P(Mac为Cmd+Shift+P)调出命令面板,输入「打开键盘快捷方式(JSON)」并回车,打开快捷键配置文件 - 在配置数组中加入如下规则,可自定义顺手的快捷键,示例绑定的是
Ctrl+Shift+H:
{ "key": "ctrl+shift+h", "command": "editor.action.smartSelect.expand", "args": { "levels": 3 }, "when": "editorTextFocus && !editorReadonly" }
- 保存配置后,只要光标在函数内按一次绑定的快捷键,就能直接选中完整函数。你可以根据自己常用的函数嵌套情况调整
levels的数值,一般2-4即可覆盖绝大多数场景。
如果你使用Vim键映射扩展,也可以直接在可视模式下按
vaf选中当前完整函数,大部分主流Vim扩展对Python、JS的函数文本对象都做了适配。
内容的提问来源于stack exchange,提问作者Philippe Hebert
相关产品推荐
相关产品推荐

