ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

VS Code效率翻倍:Superpowers扩展如何用每日一条技巧改变编码习惯

VS Code效率翻倍:Superpowers扩展如何用每日一条技巧改变编码习惯 先问一个问题你每天打开VS Code写代码但有多少功能是你从头到尾没碰过的我身边不少用VS Code两年以上的同事每天实际用到的功能可能不到整个编辑器的5%。文件切换靠鼠标点侧边栏重命名变量手动一个个改多行操作就用传统办法重复复制粘贴。这不是他们不努力而是根本不知道自己错过了什么。这个问题的解法我一直觉得不是去装更多插件而是想办法把编辑器自带的能力用起来。后来我装了Superpowers这个扩展它解决的就是这件事。Superpowers不会给你增加什么炫酷的新功能它做的事情很纯粹每次你启动VS Code的时候随机弹出一条编辑器技巧提示可能是快捷键可能是一个你从没注意过的内置功能看完就关不打扰你写代码。这篇文章我不会只讲怎么装它而是把它的设计思路、实际效果、适合什么人、有什么局限以及我用了三周之后对编辑器效率这件事的真实感受一次性说清楚。无论你是刚入行的新手还是用了很久VS Code的老用户这篇内容应该都能给你一些不一样的启发。1. Superpowers到底是个什么东西给编辑器开窍的扩展1.1 它不是功能插件而是编辑器使用习惯改造器我第一次在扩展市场看到Superpowers的时候简介很短大概就是说每次打开VS Code都会给你展示一条编辑器的技巧提示。我当时心想这有什么好装的VS Code的快捷键文档我看过命令面板我也知道还需要一个扩展来教但后来真正用上才发现它和你自己看文档完全是两回事。Superpowers的作者是John Lindquist如果你看过Vue相关的视频教程很可能见过这个名字。他做这个扩展的思路非常特别他研究了大量VS Code的隐藏功能把它们整理成一条条简短的小提示然后通过扩展的形式随机展示给用户。用的全部是VS Code自带的能力没有修改编辑器行为也没有注入什么复杂的逻辑。这个扩展的分类很清晰它提示的内容涵盖了几大类快捷键类的比如多光标操作、快速重命名命令面板类的比如快速切换文件、全局搜索编辑器UI类的比如分屏、折叠代码、面包屑导航编辑技巧类的比如块选择、上下移动行、复制粘贴历史说白了它把你以为自己已经会了的VS Code重新挖掘了一遍。1.2 为什么你需要一个教你用编辑器的东西这里有个反直觉的现象越是老手越容易忽略基础功能。因为日常工作一旦形成习惯你就会沿着自己熟悉的路走。比如你想在三个地方同时输入同样的内容如果你只会一个个改你就永远不会主动去查多光标这个功能因为你不知道它存在。这就是信息死角。大多数人的学习路径是这样的第一天开始用VS Code会了打开文件、保存、运行代码就开始写项目了。快捷键不懂。命令面板是什么能用鼠标完成的事为什么要用键盘然后在接下来几年里你一直用这一小部分功能效率长期稳定在比较低的水平。Superpowers做的就是打破这个信息死角。它利用的窗口是你每天启动编辑器的那个瞬间——那时候你可能正在倒水、等编译结果、或者跟同事闲聊眼睛扫到右下角弹出来的一条提示顺手就看了。这比专门抽时间背快捷键文档轻松得多而且更贴近真实使用场景。1.3 一个正确的心态扩展不是越多越好很多人觉得自己编辑器不好用第一反应是缺个插件于是装了一堆可能永远用不到的扩展。这其实是把问题外包给了第三方而忽略了编辑器本身的能力。VS Code本身的能力已经非常强了。多光标、全局搜索替换、Git集成、终端集成、调试器、任务系统……这些原生功能任何一个用透了都能让你的效率提升一大截。Superpowers的理念在这个意义上非常先进它不增加任何新功能而是让你把已有的东西真正用起来。与其说它是个工具不如说它像个教练——教练不是替你跑而是教你跑步姿势。真正跑起来的人还是你自己。2. 安装与首次体验从搜索插件到第一条提示弹出来2.1 两种安装方式三分钟搞定安装Superpowers非常简单。如果你习惯用图形界面打开VS Code左侧的扩展市场图标在搜索框输入superpowers找到那个发布者是John Lindquist的扩展点Install就行。注意看发布者名字因为市场里可能有同名或名字相近的扩展认准作者比较稳妥。如果你和我一样喜欢用命令行的快感也可以直接执行这条命令code --install-extension johnlindquist.superpowers装完之后VS Code会自动加载扩展不需要重启。你可以打开命令面板CtrlShiftP输入superpowers会看到和这个扩展相关的命令入口。看到命令就说明扩展已经注册成功了。通常你不需要手动触发什么直接关闭VS Code再重新打开一次第一条提示就应该会出现。2.2 装完之后你马上会看到什么当你重新打开VS Code右下角会弹出一个系统通知样式的提示框。内容可能是一条快捷键比如CtrlD 选中下一个相同的词配合CtrlShiftL可以全面选中所有相同词也可能是一个技巧比如选中一段代码后按ShiftAlt方向键可以实现列选择。通知很短一两句话看完点掉就行。这里有个设计细节很用心提示的位置在右下角不打断你正常的编辑操作。你不需要切换窗口也不需要点确定几秒钟就能读完。哪怕你在专心写代码余光扫到也就扫到了不想看就直接忽略完全无打扰。我第一次看到提示的时候弹出来的是F2重命名符号功能。说实话我以前重命名变量都是用查找替换一个个确认偶尔会漏掉。F2这个功能我当时知道但一直没有认真用起来。看到那条提示之后我当场试了一下光标放在函数名上按F2输入新名字回车整个文件里所有引用全部同步更新。那一瞬间我就在想原来我用了三年VS Code一直都在用最笨的办法。2.3 用什么姿势看提示效果差别很大我建议你收到提示后不要只是看一眼就划过而是当场操作一遍。凡是快捷键类的提示立刻在编辑器里试一次凡是功能介绍类的提示打开一个临时文件试一下效果。哪怕只是花十秒钟也比你背十次管用。肌肉记忆这个东西必须靠动作来建立看是学不会的。如果想回看之前的提示或者某条提示想再看一遍可以在命令面板里执行superpowers相关的命令。具体的命令入口每个版本可能会有些差异你可以输入superpowers后在命令列表里翻一下通常会有查看历史提示或者随机看一条新提示的入口。我习惯每天上午打开编辑器时先主动调出一条新提示看一下然后再开始工作。2.4 装完之后容易踩的两个坑第一个坑是系统通知权限被屏蔽。在某些操作系统环境下VS Code弹出的通知会被系统拦掉你装完扩展感觉什么都没发生。这种情况可以去系统设置里检查VS Code的通知权限是否允许允许后重启VS Code再试一次。第二个坑是把扩展装错了。市场上有好几个名字带superpowers的扩展有的是给Chrome做联动的有的是其他语言开发的工具还有的压根不相关。装之前先看一下发布者、下载量和简介确认是johnlindquist那个版本再动手。装错了虽然没危害但你等半天等不到提示白白浪费时间排错。3. 核心机制拆解为什么随机提示一条技巧比看快捷键文档有效3.1 一次只给一条信息多了就记不住你可以做一个简单的实验打开VS Code的官方快捷键文档随便哪一页从头到尾读一遍然后合上页面回忆。你大概率记不住几条。这不是你记性差而是信息量太大大脑根本来不及编码。注意力是有限的资源。一份快捷键列表一百多条你不可能全部记住更不可能在需要的时候准确提取出来。而Superpowers的策略恰恰相反每次只给你一条。一条信息几秒钟就能看完情境也很明确——你正在用VS Code。下次你遇到类似场景大脑更容易想起来咦这个操作好像有个快捷键上次右下角提示过。这种学习方式在心理学上叫间隔重复。与其一次性塞给你一百条不如每天给一条持续一百天。你记住的不是列表而是一条条用过的操作。3.2 随机策略反而更有效原因在于意外感有人可能会问如果我每天打开的编辑器都弹出提示难道不是设计一个学习路径更好吗比如先学光标移动再学选择文本再学多光标循序渐进设计学习路径听起来合理但实际使用中效果很差。因为你每天打开VS Code要处理的任务是随机的不会按照先学光标移动的节奏来。你正在重构代码的时候弹出的是一个折叠代码的技巧你很可能不关心直接关掉。而随机弹出反而带来了一个好处意外感。你压根不知道今天会看到什么好奇心就被勾起来了。而且随机不等于乱来。它每次弹出的都是一条真实有用的技巧只是顺序随机。这意味着你迟早会遇到一条正好能解决当下痛点的提示。比如你刚在烦着怎么同时改十个地方的同一段文字结果下午打开编辑器的时候提示就弹了一条多光标操作。那一刻你会觉得这个扩展真神了。3.3 提示的内容分类比想象中丰富我用了一段时间后大致把它的提示内容整理成了四类类型作用场景例子快捷键类日常编辑操作提速CtrlD选中下一个相同词、Alt上下移动行命令面板类不记得快捷键时的兜底方案CtrlShiftP输入命令名执行功能编辑器功能类发现从未注意过的内置能力面包屑导航、时间线视图、自动保存设置编辑技巧类特定场景的高效姿势列选择模式、右键出现的快捷选项、格式化代码这四类内容覆盖了大多数人使用VS Code的方方面面。快捷键类是主力也是提升效率最直接的一部分命令面板类适合记不住快捷键的人编辑器功能类和编辑技巧类则是扩展的亮点能帮你发现一些隐藏很深但非常实用的能力。3.4 一次多光标操作直接改变我的工作方式这里我想分享一个具体的例子。大概用Superpowers半个月的时候有一天弹了一条提示CtrlD可以选中下一个相同的词配合CtrlShiftL可以一次选中所有相同的词然后同时编辑。当时我正好在对一个配置文件里的四个字段做调整。四个字段名字不同但有共同的参数结构。以前我的做法是先改第一个复制滚动到第二个位置粘贴再改第三个……如此往复大概要花五六分钟。看到那条提示之后我直接在第一个字段上双击选中内容按CtrlShiftL把后面三处相同的代码块也选中了然后一次性输入新内容。整个过程不到十秒。这件事给我的冲击挺大的。那个功能就明明白白躺在编辑器里从来没有藏起来过。我只要看过一次文档就能知道但我就是不知道。更可怕的是如果我没有装这个扩展我可能永远不会知道然后继续用五到十分钟做本该十秒钟完成的事。3.5 和其他快捷键学习工具的区别市面上类似的插件其实还有一些比如有的扩展会把快捷键做成一个常驻面板有的提供快捷键练习小游戏还有的会在状态栏轮播显示快捷键。它们各有各的思路但我个人认为Superpowers的启动时随机弹一条是最聪明的设计。原因很简单常驻面板被你拖到一边之后就会变成视觉噪音看多了你就不看了快捷键小游戏很酷但需要刻意花时间很多人坚持不了几天轮播提示在你专注干活的时候太干扰。而启动时弹一条的时机选择非常克制——打开编辑器的那一刻你还没有进入深度工作状态这时候看一条提示成本很低。它不打扰你工作又保证了每天至少一次的接触频率。4. 用了三周之后的真实体感与适用人群判断4.1 三周实测体会从新鲜感变成肌肉记忆我用这个扩展到现在大概三周多。前三天说实话没什么感觉就是每天早上弹一条看了偶尔试一下也没觉得效率有什么明显变化。但一周之后开始不一样了。有些提示里的操作开始在我写代码的时候自动冒出来。比如我想同时删掉三行代码手会下意识去按CtrlShiftK而不是先鼠标选中再按Delete。又比如我想把一段代码整体往上移一行右手拇指已经压在Alt键上了。这些动作发生得很快快到我没有经过大脑思考是手自己过去的。三周之后我统计了一下我真正开始高频使用的操作多光标、行移动、快速修复、全局搜索、终端切换、格式化文档、F2重命名、折叠代码。这些功能以前要么知道不用要么完全不知道现在都成了我每天工作流的一部分。我说不清哪一个具体给我省了多少时间但整体体感就是改文件的速度明显快了烦琐操作的比例下降了注意力更集中在写代码本身。4.2 哪些人装上会直呼真香我梳理了一下下面三类人应该是最适合Superpowers的第一类是刚入行或者刚开始用VS Code的新手。他们对编辑器的理解还在摸索阶段这个扩展能帮他们快速建立起对VS Code的整体认知。与其花时间去翻文档找教程不如每天被喂一条一个月下来积累三十条实用技巧基本功就扎实很多。第二类是从其他编辑器转过来的人。比如从Sublime、Atom或者WebStorm转过来的他们的操作习惯已经定型脑子里有一套快捷键映射。Superpowers提示的是VS Code的标准操作相当于帮你在旧习惯和新工具之间搭一座桥让转换过程不那么痛苦。第三类是用了很多年但感觉效率有些瓶颈的老用户。这些人最危险因为他们觉得自己已经会了。而Superpowers最擅长打破这种错觉——它每次弹出来的提示都在提醒你兄弟这里还有一个你没用过的功能。我自己就属于这一类也是受益最明显的。4.3 哪些人装了也基本是个装饰反过来说有一种人装了Superpowers大概率没什么用完全依赖鼠标、对键盘操作非常抗拒的人。不是说这些人不好而是他们的工作方式决定了快捷键提示对他来说就是噪音。如果你打开编辑器就只用鼠标点来点去看到提示也懒得试那这个扩展确实帮不了你什么。还有一种情况是需求极度单一的人。如果你的工作就是把一堆文件从A复制到B偶尔打开改几个字那编辑器的进阶功能对你来说确实没太大意义。这类人更适合那种开箱即用的极简工具而不是一个功能强大的编辑器加一个教你用它的扩展。4.4 我的使用建议把它当成每日一个编辑器技巧如果你决定装了它我给你一个建议把它当初一个每日小任务不要追求速成。每次弹出提示后如果手头不忙就当场操作一遍如果正在忙就关掉等忙完再主动从命令面板里调一条出来练。不要一口气贪多。有人装完这个扩展发现命令面板里能查看历史提示就想一次性把几十条都过一遍。这不是好的学习方法过完就忘跟看文档没区别。真正有效的是每天一条、持续积累。我自己会在一个小本子上记录那些让我觉得原来还可以这样的技巧每周只挑一条最有用的在这周的代码里强制自己使用。等一条彻底变成习惯再换下一条。三个月下来我常用的操作数量翻了一倍都不止。5. 扩展的局限、配置细节与进阶搭配方案5.1 局限盘点它教的是通用技巧不是你的工作流Superpowers也不是完美的。最明显的局限是它提示的内容是通用的不会根据你的场景定制。比如你是做前端开发的它不会优先弹出Vue或React相关的调试快捷键你是写Go的它也不会专门提示Go工具链的操作。它只是把VS Code自带的通用能力随机展示给你适不适合你的工作流需要你自己判断。此外它的提示内容整体偏基础。如果你已经是一个VS Code重度用户把所有快捷键都摸透了那这个扩展能给你的新东西会越来越少。它更适合作为新手期到中等期的提升工具对真正的专家级用户来说价值会边际递减。还有一点它只负责告诉你有这样的功能不会告诉你什么时候该用。实际怎么把它融入工作流还是需要自己思考和练习。它是个教练不是管家。5.2 配置调整与常见问题排查如果你觉得提示弹得太频繁或者太少可以去设置面板里调整。打开设置Ctrl,在搜索框输入superpowers就能看到它暴露出来的配置项。不同版本可能配置项不太一样但通常会有一个控制提示显示频率的选项。我个人的习惯是保持默认因为默认频率差不多正好一天一次不算烦人。如果遇到装完不弹提示的情况优先检查三件事系统通知权限是否允许VS Code发送通知扩展是否真的启用了在扩展面板里看一下Superpowers有没有被禁用VS Code版本是否过旧部分旧版本和扩展的兼容性会有问题如果想重新体验某条提示或者查看之前弹过哪些打开命令面板搜索superpowers相关命令就行。卸载就更简单了扩展面板里点掉就行不会残留什么配置。5.3 进阶搭配方案让它发挥更大价值如果你用了Superpowers一段时间开始觉得提示不够用了有几个进阶方向可以试试。第一个方向是结合keymap扩展。如果你从别的编辑器转过来的可以装对应的keymap扩展来保留旧习惯同时再通过Superpowers逐步学习VS Code的原生操作两条腿走路过渡期会更顺畅。第二个方向是自己整理快捷键清单。不要用官方那一百多条大而全的文档而是从Superpowers的提示里挑出跟自己日常开发相关的二三十条整理成一张Markdown表格放到项目的docs目录里或者自己的博客上。这份清单才是属于你自己的效率手册。第三个方向是把提示变成团队资产。如果你带团队或者写技术博客可以每天在团队群里分享一条你从Superpowers里学到的技巧。既促进了大家的技术成长也逼着你自己去实践——因为分享出去的东西得是自己先验证过的。5.4 如果你想要的不是编辑器技巧而是别的superpowers最后说一个小插曲。我身边有人听到superpowers这个词第一反应是某个科幻设定里的超能力甚至有人问是不是要装一个什么变身的游戏Mod。我后来专门去搜索了一下发现superpowers这个词在软件领域其实有几个不同的指向。有一类是浏览器扩展方向的主打新标签页的生产力增强也有一类是个人成长内容里的概念泛指某项能力。如果你想要安装的不是VS Code扩展而是其他叫superpowers的软件那打开你对应的软件商店搜索一下结果会非常直观。但如果你是一个开发者想提升日常编码效率我说的这个编辑器扩展应该是最值得先试的一个。它没什么门槛不占资源也不会干扰你写代码。唯一需要注意的是装完之后别把它当成收藏夹里的吃灰扩展——每天花十秒看一条当场试一下坚持三周你会回来感谢它的。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进