VSCode多光标编辑是原生功能,支持Alt/Option点击、Ctrl+D逐选、Ctrl+Shift+L全选匹配项等快捷操作,配合列选择、多行编辑与智能粘贴,大幅提升批量修改效率。
vscode 的多光标编辑不是靠插件,而是原生支持的高效能力——只要掌握几个核心快捷键组合,就能跳过重复操作,直接批量改代码。
如何快速添加多个光标
最常用的是按住 Alt(Windows/Linux)或 Option(macOS),再点击目标位置。适合光标数量少、位置不规则的场景。
更高效的是批量选中相同内容:Ctrl+D(Windows/Linux)或 Cmd+D(macOS)逐个选中当前词的下一个匹配项;Ctrl+Shift+L(Windows/Linux)或 Cmd+Shift+L(macOS)则一键为文档中所有匹配项添加光标。
- 用
Ctrl+D时,如果误选了不想改的地方,按Ctrl+U可撤销上一次选中 -
Ctrl+Shift+L对当前选中文本生效,没选中时默认作用于光标所在词 - 多光标状态下按
Esc会退出多光标模式,但不会取消已做的编辑
多光标下怎么输入和删除
所有光标共享一次输入:打字、删字符(Backspace)、删单词(Ctrl+Backspace)都会同步发生。但粘贴行为略有差异——如果只复制了一段文本,所有光标会粘贴同一内容;如果复制的是多行且行数匹配光标数,VSCode 会做“逐行粘贴”(需开启 editor.multiCursorPaste 设为 "spread")。
- 想让每个光标输入不同内容?用
Ctrl+Alt+↑/↓(Windows/Linux)或Cmd+Option+↑/↓(macOS)插入新行光标,再分别编辑 - 删除整行光标?选中后按
Ctrl+Shift+K,它会删除每行光标所在行,而不是只删光标前内容 - 按
Delete键只影响光标右侧字符;Backspace影响左侧——这点和单光标一致,但容易因视觉错觉误删
列选择(框选)与多光标的关系
列选择是多光标的前置形态之一。按住 Shift+Alt(Windows/Linux)或 Shift+Option(macOS),再拖动鼠标,就能拉出一个矩形选区。松手后,每行对应位置都会生成一个光标。
- 列选择对齐缩进、修改表格数据、补全日志前缀特别快
- 列选择后若想扩展为全文匹配光标,可先按
Ctrl+Shift+L,VSCode 会基于你刚选中的列内容去全局找匹配项 - 列选择不支持跨空行自动延续——遇到空行就断开,得手动补光标
真正难的不是加光标,而是判断什么时候该用多光标、什么时候该用正则替换或宏录制。比如要重命名变量,F2 重命名语义更安全;而批量修 JSON 字段名、补引号、加前缀这类机械操作,多光标才是第一选择。










