VSCode多光标编辑可大幅提升重构效率,含十种核心技巧:Cmd+D逐词选中、Cmd+Click手动添加、Cmd+Shift+L分行拆分、Option+Shift+I行尾插入、Cmd+Option+↑/↓垂直列对齐、Cmd+Shift+Option+方向键矩形选择、Cmd+F2全引用选中、Cmd+Shift+Option+右键拖动自定义光标、Cmd+U撤销多光标、Cmd+Shift+P调用命令面板启用行尾光标。

如果您在VSCode中频繁进行代码重构,但每次只能逐行修改变量名或重复结构,效率低下,则可能是尚未掌握多光标编辑的核心操作逻辑。以下是提升重构效率的十种实用技巧:
本文运行环境:MacBook Air,macOS Sequoia。
一、使用Ctrl+D(Windows/Linux)或Cmd+D(macOS)逐词选中相同内容
该操作基于当前光标所在单词,自动高亮并选中下一个匹配项,便于批量重命名或统一替换。
1、将光标置于目标变量名(如userList)任意位置。
2、连续按Cmd+D,每次按下即扩展一个匹配项为独立光标。
3、当所有需修改的userList均被选中后,直接输入新名称(如users),所有光标同步更新。
二、使用Ctrl+Click(Windows/Linux)或Cmd+Click(macOS)手动添加光标
适用于非连续、非完全一致的文本位置,例如修改多个不同函数中的返回值位置或参数占位符。
1、按住Cmd键不放。
2、在第一处目标位置单击左键,生成首个光标。
3、保持Cmd键按下,在第二处目标位置单击,添加第二个光标;依此类推。
4、所有光标就位后,键入内容或执行删除/剪切操作,各光标同步响应。
三、使用Ctrl+Shift+L(Windows/Linux)或Cmd+Shift+L(macOS)将选中文本拆分为多光标
该命令将当前选中的多行文本,按行分割并在每行末尾插入独立光标,适合对齐修改或批量补全结尾符号。
1、用鼠标或Shift+方向键选中多行代码(例如5行以return开头的语句)。
2、按下Cmd+Shift+L,每行末尾自动出现一个光标。
3、此时可统一追加分号、逗号或空格等符号。
四、使用Alt+Shift+I(Windows/Linux)或Option+Shift+I(macOS)在每行末尾插入光标
无需预先选中,直接在多行代码上启用该快捷键,即可在每行行尾生成光标,适用于统一补全括号、引号或注释标记。
1、将光标置于某一行首或行中任意位置。
2、按住Option+Shift键,再按I键,VSCode自动识别当前选中块或可视区域内的所有行。
3、若未选中任何内容,则默认作用于从当前行至文档末尾的所有行;若已选中若干行,则仅作用于所选行范围。
4、此时可在所有行尾同时输入;或// TODO等固定后缀。
五、使用Ctrl+Alt+↑/↓(Windows/Linux)或Cmd+Option+↑/↓(macOS)在垂直方向添加光标
该方式通过列对齐方式插入光标,适合修改多行中同一列位置的字符,例如对齐赋值号、修改数组索引或调整JSON字段名。
1、将光标置于第一行目标列位置(如第12列的=符号)。
2、按Cmd+Option+↓,在下方行对应列位置新增光标;重复按键可继续向下延伸。
3、也可按Cmd+Option+↑向上添加光标。
4、所有光标对齐后,可统一替换为:=或删除空格以实现紧凑对齐。
六、使用Ctrl+Shift+Alt+方向键(Windows/Linux)或Cmd+Shift+Option+方向键(macOS)选择矩形区域
该模式启用列选择(也称“框选”),允许拖拽选取垂直矩形块,选中后所有内部字符均可被同时编辑或删除。
1、按住Cmd+Shift+Option键不放。
2、按住鼠标左键并拖动,形成矩形选区(注意:此时光标呈实心方块状)。
3、松开鼠标后,区域内所有字符被选中;此时输入任意字符,将覆盖全部选中内容。
4、若仅需清空该区域,直接按Delete键即可抹除所有对应列字符。
七、使用Ctrl+F2(Windows/Linux)或Cmd+F2(macOS)选中当前符号所有引用
该功能依赖语言服务器支持,自动识别当前光标所在变量、函数或类的全部引用位置,并为其添加光标,是安全重构的关键步骤。
1、将光标置于函数名(如calculateTotal)内部任意位置。
2、按下Cmd+F2,所有调用该函数的位置、定义位置及导出声明处均被选中并置入光标。
3、此时输入新函数名(如computeTotal),所有引用同步更新,且类型检查与跳转链接保持有效。
八、使用Ctrl+Shift+Alt+Right Click(Windows/Linux)或Cmd+Shift+Option+Right Click(macOS)快速创建自定义光标组
该操作允许用户在任意位置右键点击并拖动,生成沿拖动路径分布的多个光标点,适用于不规则间隔的编辑场景。
1、按住Cmd+Shift+Option键不放。
2、按住鼠标右键并拖动,拖动轨迹上每隔约10像素自动生成一个光标点。
3、松开鼠标后,所有光标点就位,可同步输入或删除。
4、此方式特别适合在日志输出语句中批量插入时间戳前缀或调试标识。
九、使用Ctrl+U(Windows/Linux)或Cmd+U(macOS)撤销上一次多光标操作
当多光标叠加过深或误触导致光标数量失控时,该快捷键可逆向回退一步,恢复至上一状态,避免手动逐个退出编辑模式。
1、在多光标编辑过程中,若发现光标数量超出预期或位置错乱。
2、立即按下Cmd+U,所有新增光标将按添加顺序倒序撤回一个层级。
3、可连续多次按下,直至恢复到所需状态;再次执行编辑操作将重新开始计步。
十、使用Ctrl+Shift+P打开命令面板后输入“Add Cursor At Line Ends”快速触发行尾光标
该命令提供图形化入口,绕过快捷键记忆负担,尤其适合临时启用或教学演示场景,功能等效于Option+Shift+I但更易发现。
1、按下Cmd+Shift+P打开命令面板。
2、输入Add Cursor At Line Ends,从下拉列表中选择该项。
3、确认执行后,VSCode将在当前选中行或可视范围内所有行的行尾插入光标。
4、此时可统一追加换行符、缩进或注释结束标记等结构化内容。










