答案是通过 launch.json 文件配置调试器行为,结合扩展实现多语言调试。首先创建 launch.json 并设置 type、request、program 等字段匹配目标语言,如 Python 或 Node.js;若无官方支持可使用 shell 类型调用外部命令;最后验证路径与扩展并利用 preLaunchTask 编译,F5 启动调试即可完成自定义语言调试配置。

在 VS Code 中为任意编程语言创建自定义调试配置,核心是通过 launch.json 文件定义调试器的行为。VS Code 本身不直接运行代码,而是依赖调试扩展(如 Python、Node.js、C++ 等)与底层解释器或编译器通信。
1. 创建 launch.json 配置文件
打开项目根目录下的 .vscode/launch.json 文件,若不存在则手动创建:
- 点击左侧活动栏的“运行和调试”图标(虫子形状)
- 点击“创建一个 launch.json 文件”
- 选择环境时,可先选“Node.js”占位,后续修改
{
"version": "0.2.0",
"configurations": [
{
"name": "Run Custom Script",
"type": "python", // 根据语言填写:python, node, cppdbg, php, etc.
"request": "launch",
"program": "${workspaceFolder}/main.py",
"console": "integratedTerminal"
}
]
}
2. 配置关键字段说明
每个配置项需根据实际语言和运行方式设置:
- name:配置名称,出现在调试下拉菜单中
-
type:调试器类型,必须匹配已安装的扩展,例如:
- Python →
python - Node.js →
node - C++(使用 GDB)→
cppdbg - Go →
go
- Python →
-
request:通常为
launch(启动程序)或attach(附加到进程) -
program:入口脚本路径,常用变量如
${workspaceFolder}指向项目根目录 - args:传递给程序的命令行参数数组
- cwd:程序运行时的工作目录
-
env:设置环境变量,如
"ENV": "dev" -
console:指定输出方式,推荐
integratedTerminal便于交互
3. 自定义语言或脚本运行(无官方扩展时)
若语言无官方支持,可通过 type: "shell" + runtimeExecutable 实现通用调试:
- 安装 CodeLLDB 或 Shell Script Pseudoterminal 扩展增强兼容性
- 使用外部工具启动并监听端口,再用 attach 模式连接
{
"name": "Debug Ruby",
"type": "Ruby", // 需安装 Ruby 扩展
"request": "launch",
"program": "${workspaceFolder}/app.rb"
}
通用 Shell 方案(适用于任何可执行命令):
{
"name": "Run Bash Script",
"type": "shell",
"request": "launch",
"program": "bash",
"args": ["${workspaceFolder}/script.sh"],
"console": "integratedTerminal"
}
4. 验证与调试技巧
- 确保对应语言的调试扩展已安装
- 检查路径是否正确,建议使用自动补全避免拼写错误
- 在终端中能运行的命令,基本都能封装进 launch.json
- 利用
preLaunchTask添加编译步骤,如先执行 tsc 编译 TypeScript - 按 F5 启动调试,观察“调试控制台”输出定位问题











