双击鼠标可直接选中完整单词(含紧邻标点),是vs code原生功能;ctrl+d逐个追加选中相同词;ctrl+shift+l一键全选当前文件所有匹配词;f2重命名更安全精准。

双击鼠标选中单词最直接
VS Code 默认双击单词就能完整选中它,包括前后紧邻的标点(比如 console.log 会整个被选中)。这不是插件功能,是编辑器原生行为,不用配置。
常见错误现象:单击后拖动、或按住 Ctrl 多次点击——这容易误选、漏选,也破坏光标定位逻辑。
- 双击时确保鼠标在词内,不要靠近空格或符号边缘
- 如果双击没反应,检查是否启用了 Vim 插件且处于 Normal 模式(此时双击无效,得先按
i进入 Insert 模式) - Mac 用户注意:触控板双击需轻点两次,不是用力按压,否则可能触发系统手势
Ctrl+D(Windows/Linux)或 Cmd+D(Mac)连续选中相同词
光标停在某个词上,按一次 Ctrl+D 选中当前词;再按一次,自动跳到下一个相同词并追加选中——适合批量修改变量名、函数调用等场景。
性能影响小,但对大文件里高频词(如 data、item)要小心:一口气按太多次可能卡顿,或选中非预期位置。
- 按
Ctrl+K Ctrl+D可跳过当前匹配,继续找下一个(避免误选) - 选中后输入新内容,所有选区同步改写;按
Esc可退出多选模式 - 如果词被引号/括号包裹(如
"name"),默认只选引号内部分;想连引号一起选,得先手动扩选或用其他方式
用 Ctrl+Shift+L 把所有匹配词一次性全选
比反复按 Ctrl+D 更快,尤其当你要改满屏的同一个变量。光标放词上,敲 Ctrl+Shift+L,编辑器立刻高亮并选中全部同词实例(当前文件内)。
兼容性没问题,但要注意作用域:它只搜当前打开的文件,不跨文件,也不管是否在字符串或注释里——// const name = "name" 中两个 name 都会被选中。
- 如果只想选代码中的标识符(排除字符串和注释),先按
Ctrl+F打开搜索框,输入词,勾选Match Case和Whole Word,再点右上角Find All按钮(或按Alt+Enter) - 选完别急着输,先看一眼有没有误选——比如
className和name在开启Whole Word后不会混,但关了就会
正则或语义选中?别硬上,先看需求边界
有人想“只选函数名不选调用”,或“跳过注释里的同名字符串”,这时 Ctrl+D 和 Ctrl+Shift+L 就不够用了。VS Code 原生不支持语法树级选中,得靠搜索 + 正则临时补位。
例如想选所有未被引号包裹的 api:用 Ctrl+F → 输入 \bapi\b → 开启正则(.* 图标)→ 再加 ^((?!").)*$ 这类负向断言太重,实际几乎不可靠,反而容易漏或崩。
- 真有复杂需求,优先考虑重命名功能:
F2改变量名,VS Code 会自动识别作用域并安全替换 - 正则选中适合一次性清理,不适合日常编辑;每次写错一个符号,整行高亮就失效
- 插件如
Highlight Matching Tag或Auto Rename Tag解决的是另一类问题,别和词选中混淆
最常被忽略的一点:双击选词的行为受 editor.wordSeparators 设置影响。如果你发现下划线或短横线(如 user_name、http-status)被切成两半,去设置里搜这个词,把 _ 或 - 从值里删掉就行——但改了会影响其他操作,比如按 Ctrl+← 跳词。改之前先想清楚代价。










