VSCode怎么配置复合调试compounds实现多服务联调

冬静同学_8954

冬静同学_8954

2026-10-14

941人浏览

原创

compounds 是唯一合法的多服务启动方式;vscode 原生不支持单 configuration 启动多进程,仅 compounds 可并行启动多个已命名、端口不冲突、console 为 integratedterminal 的调试配置。

vscode怎么配置复合调试compounds实现多服务联调

compounds 是唯一合法的多服务启动方式

VSCode 原生不支持在一个 configuration 里启动多个进程。你在 configurations 数组里写两个 "type": "node" 配置,VSCode 只会执行第一个——这不是 bug,是设计如此。真正能同时拉起多个服务的,只有 compounds 块。

它本质是一个“调度层”:你先定义好若干个独立、可运行的调试配置(每个 name 必须唯一),再用 compounds 把它们的名字列出来,VSCode 才会并行启动全部。

  • 每个被引用的配置必须有明确的 "name": "API Server"、"name": "Worker" 等,不能重复
  • compounds 本身不写 program 或 port,只负责组合名字
  • 如果某个服务依赖另一个先就绪(比如数据库要等 2 秒),VSCode 不会自动等待,得手动点“继续”或加 preLaunchTask 做延时

端口冲突导致第二个服务卡死,9229 不是万能默认值

最常见的“启动了但断点不命中”,其实是第二个 node --inspect 进程因为端口被占而静默失败。VSCode 默认复用 9229,但 compounds 下所有服务必须显式分配不同端口。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • 每个 configuration 里必须加 "port": 9230、"port": 9231 等,不能省略
  • 启动后务必检查终端输出有没有 Debugger listening on ws://127.0.0.1:9230/ —— 没这行,说明调试器根本没起来
  • Windows 用户记得在任务管理器里杀干净残留 node.exe;macOS/Linux 推荐 pkill -f "node --inspect",比只点 VSCode 的停止按钮更彻底

console: "integratedTerminal" 不是可选项,是硬性要求

如果你发现第二个服务启动后终端没反应、调试器连不上,大概率是漏了这一项。VSCode 在 compounds 模式下,对非主控终端的附加行为很敏感。

  • 所有参与 compounds 的配置都必须设 "console": "integratedTerminal"
  • 设成 "externalTerminal" 或不写,默认值,会导致后续服务无法正确 attach,卡在“connecting…”
  • 这个设置和 "request": "launch" 必须共存:"request": "attach" 仅适用于你已手动跑起 node --inspect 的场景,compounds 下基本不用

TS 项目断点不触发?别怪 VSCode,先查 program 路径和 outFiles

TypeScript 编译后的 JS 文件路径和源码路径不一致,是断点失效最隐蔽的原因。VSCode 调试器 attach 的是 Node.js 实际运行的文件,不是你编辑器里打开的 .ts。

  • program 必须指向编译产物,比如 "${workspaceFolder}/dist/api/index.js",而不是 src/ 下的 ts 文件
  • 如果坚持用 ts 源码路径,就得配 "outFiles": ["${workspaceFolder}/dist/**/*.js"],让调试器知道去哪里映射
  • preLaunchTask 如果没成功执行(比如 tsc 编译失败),program 指向的文件就不存在,VSCode 不报错,但断点永远不触发

多服务调试真正的复杂点不在配置语法,而在于每个服务的生命周期是否真正进入调试态——端口、终端类型、路径、构建状态,四个条件缺一不可。少一个,表面看“启动成功”,实际只是进程在黑盒里空转。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode调试配置 vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1315

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2792

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1949

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1727

8

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

2607

12

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1818

14

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1242

10

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1116

8

vscode设置中文界面不生效解决方法
vscode设置中文界面不生效解决方法

vscode设置中文界面不生效解决方法:安装中文语言包、通过命令面板设置语言、检查 locale.json 设置、重新安装中文语言包、检查 VSCode 版本和更新、排除插件冲突、检查系统语言设置、查看 VSCode 日志和错误消息、重置 VSCode 设置、查看官方文档和社区支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

474

5

热门下载

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

精品课程

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