如何在VS Code中创建快捷键以运行工作区所有服务的首个启动配置?
一键运行所有服务首个启动配置的实现方案
当然可以实现,下面是几种实用的方法,你可以根据自己的场景选择:
方法1:复合启动配置(原生支持,无需额外扩展)
这是最直接的原生方案,适合服务数量固定的场景:
- 打开工作根目录下的
.vscode/launch.json(如果没有就新建),添加一个复合配置,把所有服务的首个启动配置名称列进去:
{ "version": "0.2.0", "configurations": [ // 这里保留你已有的各个服务启动配置,比如: { "name": "用户服务", "type": "node", "request": "launch", "program": "${workspaceFolder:user-service}/src/index.js" }, { "name": "订单服务", "type": "node", "request": "launch", "program": "${workspaceFolder:order-service}/src/index.js" } ], "compounds": [ { "name": "启动所有服务", "configurations": ["用户服务", "订单服务"], "stopAll": true // 停止时会一起停掉所有服务 } ] }
- 配置快捷键:按下
Ctrl+K Ctrl+S打开快捷键面板,点击右上角的打开键盘快捷方式(JSON),添加以下配置:
{ "key": "ctrl+shift+r", // 可以换成你喜欢的组合键 "command": "debug.run", "args": "启动所有服务" // 这里要和上面compounds里的name一致 }
之后按下快捷键就能一键启动所有配置好的服务了。
方法2:自定义宏(适合服务较多,不想手动维护复合配置的场景)
如果你的服务数量多且经常变动,可以用multi-command扩展来批量执行命令:
- 在VS Code扩展市场搜索安装
multi-command - 打开
settings.json(按下Ctrl+,后点击右上角打开JSON),添加宏配置:
{ "multiCommand.commands": [ { "command": "multiCommand.runAllFirstServices", "sequence": [ // 每个服务对应一条命令,#0表示取该服务launch.json里的第一个配置 { "command": "debug.run", "args": "${workspaceFolder:user-service}/.vscode/launch.json#0" }, { "command": "debug.run", "args": "${workspaceFolder:order-service}/.vscode/launch.json#0" } // 继续添加其他服务的配置 ] } ] }
- 同样在
keybindings.json里为这个宏配置快捷键:
{ "key": "ctrl+shift+r", "command": "multiCommand.runAllFirstServices" }
注意事项
- 如果使用复合配置,每次新增服务都需要手动把配置名称加到
compounds列表里 - 宏方法里的
${workspaceFolder:xxx}是工作区文件夹的名称,要和你的.code-workspace里的文件夹名称对应
内容的提问来源于stack exchange,提问作者comonadd
相关产品推荐
相关产品推荐

