在我的 VS Code Node.js 项目的 launch.json 配置中,我尝试将 shell 设置为 cmd.exe 而不是默认值。这可能吗?
我知道我可以通过首选项中的
terminal.integrated.defaultProfile.windows
全局设置它,但在这种情况下,我想仅在单个调试启动任务中更改它。
如果您的启动配置使用内部终端,请尝试使用
terminal.integrated.automationProfile.<platform>
设置(这是一个设置 - 不是启动配置属性,因此一般来说,它将影响该设置适用范围内的所有启动配置) 。您可以在用户或工作区settings.json 文件中设置它。您可以通过选择启动配置、开始运行/调试,然后打开 VS Code 的内置进程资源管理器并查找您的程序(使用 命令选项板中的
Developer: Open Process Explorer
)来验证您指定的 shell 是否正在使用。
如果没有使用内部终端,那么我想你可能会不走运。检查您正在使用的特定启动配置架构是否具有用于选择包装 shell 的属性。也许根本没有使用包装壳。您还可以使用内置的流程资源管理器进行检查。
例如,我在 Ubuntu 系统上,我将
"terminal.integrated.automationProfile.linux": { "path": "/usr/bin/dash" }
放入工作区 .vscode/settings.json 文件中,然后创建 NodeJS 启动配置。如果我不更改 console
属性,它默认为 "internalConsole"
,并且我可以在进程资源管理器中看到它根本不(直接)在 shell 下运行。如果我将 "console": "internalConsole",
放入启动配置中,它将遵循我放入 terminal.integrated.automationProfile.<platform>
中的内容(在流程资源管理器中,我看到 ptyHost
-> /.../dash
-> /.../node test.js
)。