VSCode多光标迎来重大更新

我先来还原一个让所有程序员血压升高的真实场景。

这是我曾经遇到过的

你正在写一个配置文件,或者一个测试用例,或者一段初始化数据。你从某个文档、某个表格、某个日志文件里,复制了一列值------十个用户名,十个 ID,十个环境变量,随便什么都行。

然后你回到代码里,面前是十行需要填这些值的空位。你盯着它们,手指悬在键盘上,脑子里已经开始计算了:复制第一个,Ctrl+V,下移一行,复制第二个,Ctrl+V,下移一行......重复十次。中间要是手抖粘错了一行,还得退回去重来。

想到要复制如此多次,就头痛的不得了

还好当时我想到了vscode的多光标的技能,但这又是一个痛苦的起点

你当然知道多光标。你按住 Alt,一列一列点出十个光标,然后一次性粘贴。但 VS Code 的多光标粘贴默认是把整块内容原封不动地塞进每一个光标位置。于是你在十个空位里得到了十份一模一样的十行数据。恭喜,代码成功变成了复读机。

这很蠢。真的。 当时我是这样吐槽vscode的

知道vscode新版发布,让我彻底闭口了

VS Code 最近更新了一个叫 Spreading block pasting(分散块粘贴) 的功能,专门治这种病。

它的逻辑简单到令人感动:你复制一个多行块,把它粘贴到单个光标位置,VS Code 会自动把每一行分配到后续的目标行上去。

什么意思?你复制了十行数据,光标停在第一行,按下 Ctrl+V。VS Code 不会把十行全塞进这一行,而是把第一行放这里,第二行放下面的行,第三行再往下...... 一行一行,自动铺开。

就像你把一叠扑克牌放在桌边一推------它们不是叠在一起,而是一张一张排开。

怎么开启这个"散弹枪"

这个行为由一个设置控制:editor.multiCursorPaste。

  • 设为 spread(默认):粘贴时分散到多行。
  • 设为 full:粘贴时把完整块塞进每个光标位置(旧行为)。

默认就是 spread,所以你什么都不用做,它已经生效了。

下面看看怎么操作

首先我们先使用多光标的方式来准备复制的内容

选中之后,按ctrl c

然后把多光标的位置法昂在需要复制地方

最后一步就是ctrl v

很多人第一眼可鞥觉得这个功能应该很少用吧,但是其实如果真的遇到了这种情况,如果没有这样的功能,那真的是遭老罪了,虽然现在有了AI,但不是每次AI都会给你满意的方法,最后还得是靠自己

以前你得手动在多行之间切换光标、逐个粘贴,现在只需要复制一次、粘贴一次。你省下的不是几秒钟,是注意力。

如果你确实需要把同一块内容复制到多个光标位置(比如批量插入相同的 import 语句),把设置改成 full 就行。它给了你选择,而不是替你决定。

没有人会在技术论坛上发帖问"怎么把一列数据快速填到十行里",因为这个问题太基础了,基础到大家默认"手动搞一下就行"。但手动搞一下,乘以每天几十次,就是巨大的浪费。

VS Code 这个更新没有加什么惊天动地的大功能,它只是把一个你每天都在做、但从来没觉得"这是个问题"的动作,从手动变成了自动。

你依然可以用老办法一行一行粘。但试过 spread 之后,你大概会想:我以前到底在干什么?

相关推荐
2501_9160074711 小时前
Windows OpenSSL 生成 iOS 证书,制作 p12 与描述文件,KXBuild 签名实操
windows·vscode·ios·objective-c·个人开发·swift·敏捷流程
我要见SA姐114 小时前
Chrome 内存泄漏诊断指南:从现象定位到根因排查
ide·vscode·python·自动化·编辑器
00后程序员张14 小时前
Windows 开发 iOS App 入门,用 SwiftUI 写第一个 iOS App 装到 iPhone
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
瓶 盖14 小时前
你的 IDE 插件改了 authorized_keys:Claude Code 扩展投毒链路拆解
ide·ssh·vs code·安全分析·供应链安全·claude code
香芋芋圆1 天前
iD-editor 详解|OSM官方在线编辑器,基于D3.js的轻量地图编辑器
开发语言·javascript·编辑器
qinglongcn1 天前
Agent 可能出什么事——五类异常与应对
人工智能·编辑器·ai编程
QianhangQianping2 天前
撤销重做不是「存快照」:一个可视化编辑器的Operation 设计
java·前端·数据库·typescript·编辑器·前端架构·撤销重做
Eiceblue2 天前
用 Python 给 Word 文档加水印:文字、图片与批量处理
开发语言·vscode·python·word
2501_915921432 天前
KXBuild CI 实操,Windows/Linux 服务器接入 Jenkins 打包 iOS IPA
服务器·windows·vscode·ios·ci/cd·个人开发·敏捷流程
Lhan.zzZ2 天前
用 Qt 构建线程安全的通讯静态库:从线程亲和性到完整工程
c++·vscode·qt·tcp/ip·udp