VSCode中的宏(Macros)插件:录制和回放操作序列
发布时间 - 2025-12-25 00:00:00 点击率:次VSCode 本身不内置宏功能,但可通过 geddski 开发的 Macros 插件实现操作录制与回放;安装后在 settings.json 的 "macros" 字段定义命令序列,再通过快捷键绑定触发,如 trimAndSave、formatAndSave 等实用宏可大幅提升编辑效率。
VSCode 本身不内置宏功能,但通过插件可以轻松实现操作录制与回放,最常用、稳定且更新活跃的是 Macros 插件(作者:geddski)。
安装与基础配置

在扩展市场搜索 “Macros”(注意认准作者为 geddski,图标是两个交错的齿轮),点击安装并重启 VSCode。安装后无需额外配置即可使用,所有宏都通过 settings.json 定义。
- 打开命令面板(Ctrl+Shift+P / Cmd+Shift+P),输入 Preferences: Open Settings (JSON) 编辑配置文件
- 在
"macros"字段下添加自定义宏,例如:
"trimAndSave": ["editor.action.trimTrailingWhitespace", "workbench.action.files.save"]
}
这样就定义了一个名为 trimAndSave 的宏,执行时会先删末尾空格,再保存文件。
录制真实操作(需配合其他插件)
原生 Macros 插件不支持“自动录制”,它只负责按顺序触发已有命令。如需录制鼠标/键盘行为(比如连按多次 Ctrl+Left 跳词、输入固定模板),可搭配 Command Logger 或 Auto Hotkey(外部) 辅助分析操作对应命令,再手动写入宏。
- 推荐流程:先用 Command Logger 记录一次完整操作 → 查看输出的命令 ID → 挑出关键命令 → 整理进
settings.json的宏数组中 - 常见可录制命令包括:
editor.action.addCommentLine、editor.action.insertLineAfter、editor.action.replaceAll等编辑类指令 - 注意:不能录制“输入文字”这类无命令ID的操作;需用
type命令模拟,例如:{"command": "type", "args": {"text": "// TODO:"}}
绑定快捷键快速触发
宏定义好后,默认无法直接调用,必须绑定快捷键或通过命令面板启动。
- 打开快捷键设置(Ctrl+K Ctrl+S),点击右上角“打开键盘快捷方式(JSON)”图标
- 添加快捷键条目,例如:
"key": "ctrl+alt+t",
"command": "macros.trimAndSave"
}
保存后,按下 Ctrl+Alt+T 就会自动执行删空格+保存两步操作。
实用宏示例(可直接复制使用)
以下是一些高频场景的宏定义,贴进 settings.json 的 "macros" 区域即可生效:
-
格式化+保存:
"formatAndSave": ["editor.action.formatDocument", "workbench.action.files.save"] -
注释+跳行+继续写:
"commentThenNewLine": ["editor.action.commentLine", "editor.action.insertLineAfter", "cursorMove", {"args": {"to": "lineEnd"}}] -
切换终端并清屏:
"clearTerminal": ["workbench.action.terminal.toggleTerminal", "workbench.action.terminal.clear"]
基本上就这些。宏不是万能的,但对重复性编辑动作来说,几行配置就能省掉大量机械操作。
# vscode
# js
# json
# mac
# ai
# 配置文件
# auto
# 绑定
# 的是
# 就会
# 鼠标
# 就能
# 已有
# 这类
# 自定义
# 不支持
# 按下
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
什么是javascript作用域_全局和局部作用域有什么区别?
如何在IIS管理器中快速创建并配置网站?
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
魔方云NAT建站如何实现端口转发?
详解jQuery停止动画——stop()方法的使用
详解jQuery中的事件
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
北京专业网站制作设计师招聘,北京白云观官方网站?
网站图片在线制作软件,怎么在图片上做链接?
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
Laravel怎么在Blade中安全地输出原始HTML内容
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
如何基于云服务器快速搭建个人网站?
新三国志曹操传主线渭水交兵攻略
如何快速搭建高效简练网站?
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
Laravel如何使用Collections进行数据处理?(实用方法示例)
如何在自有机房高效搭建专业网站?
js实现点击每个li节点,都弹出其文本值及修改
如何确保西部建站助手FTP传输的安全性?
如何快速搭建高效WAP手机网站?
制作电商网页,电商供应链怎么做?
简单实现Android验证码
香港服务器网站推广:SEO优化与外贸独立站搭建策略
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
html5的keygen标签为什么废弃_替代方案说明【解答】
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
Python自动化办公教程_ExcelWordPDF批量处理案例
北京网站制作公司哪家好一点,北京租房网站有哪些?
如何用PHP快速搭建CMS系统?
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
如何在IIS7上新建站点并设置安全权限?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
大连 网站制作,大连天途有线官网?
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
Android实现代码画虚线边框背景效果
JavaScript实现Fly Bird小游戏
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
如何用5美元大硬盘VPS安全高效搭建个人网站?
Laravel如何实现数据库事务?(DB Facade示例)
如何在万网开始建站?分步指南解析
如何在阿里云完成域名注册与建站?
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
*服务器网站为何频现安全漏洞?
Bootstrap整体框架之JavaScript插件架构

