如何在VSCode中获取PowerShell脚本的完整逐行跟踪输出?
VS Code中实现PowerShell脚本逐行跟踪输出的方法
VS Code的PowerShell扩展使用和原生控制台一致的PowerShell运行环境,完全支持Set-PSDebug跟踪能力,不需要额外安装第三方插件,具体操作方式如下:
方法1:调试会话中手动开启
- 按F5启动目标PowerShell脚本的调试,待调试器启动(命中预设断点或进入运行状态)后,切换到调试控制台面板
- 在控制台输入框直接执行命令
Set-PSDebug -Trace 1,点击继续执行脚本,逐行跟踪的DEBUG日志就会直接输出在控制台中,和原生PowerShell主机的输出格式完全一致 - 若需要更详细的变量赋值、函数调用细节跟踪,可执行
Set-PSDebug -Trace 2;调试结束后执行Set-PSDebug -Trace 0即可关闭跟踪,避免影响后续终端操作
注:你之前提到的命令存在笔误,正确的cmdlet名称是Set-PSDebug,而非Set-SpDebug
方法2:配置调试规则自动开启跟踪
如果不想每次调试都手动输入命令,可以修改调试配置实现启动自动开启跟踪:
- 打开左侧「运行和调试」面板,点击「创建launch.json文件」,选择PowerShell调试环境
- 在生成的配置项中添加
startupCommands参数,指定调试启动时自动执行跟踪开启命令,参考配置如下:
{ "version": "0.2.0", "configurations": [ { "name": "PowerShell: 启动脚本(自动开启跟踪)", "type": "PowerShell", "request": "launch", "script": "${file}", "cwd": "${fileDirname}", // 调试启动时自动执行的命令 "startupCommands": [ "Set-PSDebug -Trace 1" ] } ] }
- 保存配置后,后续选择该配置启动调试,会自动开启逐行跟踪,不需要手动输入命令
输出位置调整
如果习惯在终端面板查看输出,而非调试控制台,可以在上述launch配置中添加"internalConsoleOptions": "neverOpen"配置项,跟踪日志和脚本输出都会直接打印在PowerShell集成终端中,和原生控制台的使用体验完全一致。
内容的提问来源于stack exchange,提问作者Dennis
相关产品推荐
相关产品推荐

