使用VSCode编写和调试PowerShell脚本

13次阅读

PowerShell脚本在vscode中调试失败需依次完成四步:安装启用microsoft官方PowerShell扩展;通过“PowerShell: select PowerShell Runtime”指定PowerShell 7+路径;在.vscode下创建含正确jsON结构的launch.json;最后设断点并按F5启动调试。

使用VSCode编写和调试PowerShell脚本

如果您在VSCode中编写PowerShell脚本时遇到语法高亮失效、断点无法命中或调试会话启动失败等问题,则可能是由于PowerShell扩展未正确配置或运行环境不匹配。以下是解决此问题的步骤:

本文运行环境:macBook Pro,macOS Sequoia。

一、安装并启用PowerShell扩展

VSCode本身不原生支持PowerShell语言特性,需通过官方扩展提供语法识别、智能提示与调试接口。该扩展由Microsoft维护,是调试PowerShell脚本的前提依赖。

1、打开VSCode,点击左侧活动栏的扩展图标(或按快捷键Ctrl+Shift+X)。

2、在搜索框中输入PowerShell,找到名称为“PowerShell”的扩展,发布者为“Microsoft”。

3、点击“安装”,安装完成后点击“重新加载”按钮使扩展生效。

二、配置默认PowerShell解释器路径

VSCode需明确调用本地已安装的PowerShell可执行文件路径,否则调试器将无法启动进程。该路径必须指向PowerShell 7.x或更高版本的pwsh二进制文件,而非系统自带的windows PowerShell 5.1。

1、按下Cmd+Shift+P(macos)打开命令面板。

2、输入并选择PowerShell: Select PowerShell Runtime

3、在弹出列表中选择已安装的PowerShell 7+版本,例如PowerShell 7.4.0;若未列出,请先通过Homebrew安装:brew install –cask powershell

三、创建launch.json调试配置

VSCode使用.launch.json文件定义调试会话参数,包括脚本路径、参数传递方式及是否启用交互式终端。缺少该配置将导致F5调试直接失败。

1、在项目根目录下创建文件夹.vscode(注意开头为英文句点)。

2、在该文件夹内新建文件launch.json,内容如下:

3、粘贴以下JSON结构(确保无语法错误):

{
  “version”: “0.2.0”,
  “configurations”: [
    {
      “type”: “PowerShell”,
      “request”: “launch”,
      “name”: “PowerShell Launch Script”,
      “script”: “${file}”,
      “args”: [],
      “cwd”: “${fileDirname}”
    }
  ]
}

四、设置断点并启动调试会话

PowerShell调试依赖于脚本在解释器中以调试模式运行,断点仅在调试器控制流程时生效,普通F5执行或终端运行均不触发断点。

1、打开一个.ps1文件,在目标行号左侧灰色区域单击,出现红色实心圆点即表示断点已设置。

2、确保当前编辑的.ps1文件处于活动标签页,按下F5键启动调试。

3、若调试控制台显示[Running] pwsh -NoProfile -ExecutionPolicy Bypass -Command …且光标停在断点行,则调试器已成功接管。

text=ZqhQzanResources