0

0

如何利用VSCode的多光标编辑同时修改多处【教程】

狼影

狼影

发布时间:2026-01-23 16:39:32

|

672人浏览过

|

来源于php中文网

原创

VSCode多光标编辑最常用方法是Ctrl+D逐次选中相同词,或Ctrl+Shift+L一键在全文所有匹配处添加光标(需先选中文本且注意大小写敏感);手动布点可用Alt+Click跨位置插光标,Ctrl+Alt+↑/↓按列追加光标;操作时需用Esc退出防误改,正则配合多光标需先查找定位再手动重写以避免反向引用失效。

如何利用vscode的多光标编辑同时修改多处【教程】

多光标怎么一次性加在相同文字上

最常用也最容易卡住的,是想批量改一堆重复变量名或字符串,但光标没对齐。VSCode 默认不自动选中所有匹配项,得手动触发:Ctrl+D(Windows/Linux)或 Cmd+DmacOS)逐个扩展选中——按一次选中当前词,再按一次选中下一个相同词,依此类推。

如果目标文本分布散、数量多,直接用 Ctrl+Shift+L(Linux/macOS 是 Cmd+Shift+L)更高效:它会把当前选中文本在全文所有匹配位置都变成独立光标,无需反复按 Ctrl+D

注意:这个操作要求你**先选中一段文本**(哪怕只选一个字母),否则会全选当前行或报错;另外,大小写敏感默认开启,若想忽略大小写,得先打开查找面板(Ctrl+F),勾选 Match Case 右边的 Aa 图标关闭它,再执行 Ctrl+Shift+L

如何跨行、跨段落手动插光标

不是所有要改的地方都长得一样,有时只是想在每行末尾加个分号,或在特定缩进位置插入注释。这时候靠搜索匹配就不灵了,得手动布点:

  • Alt+Click(Windows/Linux)或 Option+Click(macOS):在任意位置点一下,就加一个光标,支持跨文件、跨折叠区域
  • Ctrl+Alt+↑/↓(Windows/Linux)或 Cmd+Option+↑/↓(macOS):在当前列向上或向下追加光标,适合对齐修改(比如批量改 JSON 的 value 部分)
  • Ctrl+Shift+Alt+↑/↓(Windows/Linux)或 Cmd+Shift+Option+↑/↓(macOS):在当前列插入新行并加光标,适合补空行或批量写结构体

容易踩的坑:按住 Alt 后鼠标移动太慢,容易点歪;建议先松开 Alt,把鼠标挪到目标位置再按下去点——VSCode 不吃“拖拽”,只认点击瞬间的位置。

多光标编辑时怎么避免误删或错位输入

光标一多,敲键盘就像开盲盒:可能只改了一半,剩下几个光标还停在老地方;也可能回车后发现有的光标跳到了下一行开头,有的却卡在中间。

蚂蚁PPT
蚂蚁PPT

AI在线智能生成PPT

下载

关键控制点:

  • Esc 立刻退出多光标模式,所有光标收束为单光标,安全止损
  • 输入内容前,先确认所有光标是否都在“可编辑位置”——比如不要让某个光标落在字符串引号内而另一个落在括号外,否则输入 ; 会导致语法错乱
  • 删除操作风险最高:BackspaceDelete 会同步删所有光标前/后的字符,但若某处光标在行首,Backspace 就会吞掉上一行末尾,引发缩进错乱
  • 粘贴内容时,VSCode 默认把剪贴板内容分别粘到每个光标位置;但如果剪贴板是多行文本,且光标数 ≠ 行数,就会循环填充或截断——建议先用 Ctrl+Shift+P 调出命令面板,搜 “Paste and Indent” 来智能对齐

正则 + 多光标实现动态替换

纯文本匹配太死板,比如要把 user_id: 123 改成 userId: "123",既要改键名又要加引号。这时候得结合查找面板的正则能力:

打开 Ctrl+F → 点击 .* 图标启用正则 → 输入 user_id:\s*(\d+) → 按 Enter 确保高亮正确 → 再按 Ctrl+Shift+L 把所有匹配位置转为多光标 → 此时每个光标都落在 user_id: 开头处,可以统一输入 userId: "$1"(注意双引号和捕获组写法)。

注意:$1 这类反向引用只在查找面板的「替换」框里生效;在多光标模式下直接输入 $1 就是字面量,不会展开。所以必须先用查找面板定位,再转多光标,最后手动重写——这是 VSCode 多光标和正则之间最常被绕晕的断点。

复杂点在于:正则匹配结果长度不一(比如 \d+ 匹配到 1 位或 5 位数字),导致光标列位置不齐,后续编辑容易偏移。这种情况下,宁可分两步:先用正则批量替换 key 部分,再用 Ctrl+Shift+L 单独选中所有 value 区域(比如用 : 定位后右移)再加引号。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

417

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

311

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

278

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

212

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1492

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

622

2023.11.24

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.6万人学习

Git 教程
Git 教程

共21课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号