VSCode默认不执行PowerShell脚本,需依次完成五步:一、安装启用Microsoft官方PowerShell扩展并重载;二、通过命令面板设置PowerShell为默认终端;三、配置launch.json启用调试;四、在集成终端运行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser;五、用test.ps1验证断点与变量。

VSCode 默认不运行 PowerShell 脚本,它只是打开一个文本编辑器——除非你明确告诉它用 PowerShell 执行,否则 .ps1 文件点播放按钮或按 F5 都不会真正“运行”,而只是在终端里回显路径或报错。
PowerShell 扩展没启用,脚本根本不会执行
VSCode 自身不带 PowerShell 运行时,所有执行、语法高亮、断点都依赖 ms-vscode.powershell 扩展。非官方插件(比如叫 “PowerShell Tools” 或带 “Lite” 的)无法触发 pwsh.exe 或 powershell.exe 启动。
- 打开扩展面板(
Ctrl+Shift+X),搜PowerShell,只保留发布者为Microsoft的那一项 - 安装后必须点击右下角的 “重新加载” 按钮,否则扩展处于“已安装但未激活”状态
- 重载后打开任意
.ps1文件,右下角状态栏应显示PowerShell 7.x或Windows PowerShell 5.1;若显示Loading…或空白,说明扩展未就绪
终端默认不是 PowerShell,.ps1 文件被丢进 cmd/bash 里执行
即使扩展装好了,VSCode 新建终端默认可能调用 cmd、bash 或 zsh,导致你输入 .\test.ps1 时直接报错:The term '.\test.ps1' is not recognized。
- 按
Ctrl+Shift+P输入Terminal: Select Default Profile - 从列表中选
PowerShell(Windows)或pwsh(macOS/Linux) - 新建终端(
Ctrl+Shift+`)后,提示符应为PS C:\...或pwsh /Users/... - 若列表里没有 PowerShell 选项,说明系统没装 PowerShell Core:Windows 用户可去 GitHub 下载
pwsh-x64.msi,macOS 用户执行brew install --cask powershell
执行策略阻止脚本加载,报错 “cannot be loaded because running scripts is disabled”
这不是 VSCode 的问题,是 PowerShell 安全机制拦截了你的 .ps1 文件。即使你在终端里手动运行 .\test.ps1,也会被拦;F5 调试时同样触发该策略。
- 在 VSCode 集成终端中执行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - 不要用
-Scope LocalMachine(需管理员权限,且影响全系统) - 不要用
Bypass或Unrestricted(绕过安全检查,企业环境通常被组策略覆盖) - 该命令只需运行一次,作用域仅限当前用户,不影响他人
点了播放按钮或 F5 却没反应,其实是没走调试流程
VSCode 默认把 .ps1 当普通文本文件处理。点右上角播放图标,本质是往终端里 echo 一遍路径;按 F5 若没配 launch.json,也只会弹出“请配置 launch.json”提示,而不是启动调试会话。
- 确保项目根目录有
.vscode/launch.json(注意开头是英文点) -
launch.json中configurations项里:type必须是"PowerShell",request必须是"launch",script推荐设为"${file}"(当前打开文件) - 别写相对路径如
"./test.ps1"—— Windows 下因工作目录错乱常静默失败 - 断点灰色、变量看不到?先确认你是在
.ps1文件里按F5,而不是在.txt或未保存的空文件里操作
最易被忽略的是:PowerShell 扩展装了但没重载,或者终端选了 bash 却以为自己在跑 PowerShell;还有人把 Set-ExecutionPolicy 命令复制粘贴到错误的终端(比如 cmd 窗口)里执行,结果毫无效果。这些都不是“环境没配好”,而是三处关键节点没对齐:扩展状态、终端类型、执行策略。


















