VSCode与PowerShell脚本开发和调试
发布时间 - 2025-12-22 00:00:00 点击率:次VSCode调试PowerShell脚本失败需依次完成五步:一、安装启用Microsoft官方PowerShell扩展;二、通过命令面板选择正确PowerShell运行时(如pwsh 7.4.2);三、在.vscode下创建标准launch.json配置;四、Windows需设Set-ExecutionPolicy RemoteSigned;五、用test.ps1验证断点命中与变量查看。
如果您在使用 vscode 编辑和调试 powershell 脚本时遇到断点不触发、终端无响应或脚本执行结果异常等问题,则可能是由于扩展配置、运行环境或调试设置不匹配所致。以下是解决此问题的步骤:
本文运行环境:MacBook Air,macOS Sequoia。
一、安装并启用 PowerShell 扩展
VSCode 本身不内置 PowerShell 支持,需通过官方扩展提供语法高亮、智能提示与调试能力。该扩展由 Microsoft 维护,是 PowerShell 脚本开发的基础依赖。
1、打开 VSCode,点击左侧活动栏的扩展图标(或按 ⇧⌘X)。
2、在搜索框中输入 PowerShell,找到名称为 PowerShell、发布者为 Microsoft 的扩展。
3、点击“安装”,安装完成后点击“重新加载”按钮使扩展生效。
二、配置默认 PowerShell 解释器路径
VSCode 需明确调用哪个 PowerShell 可执行文件(如 pwsh 或 powershell),尤其在 macOS 或 Linux 上存在多个版本时,错误路径会导致调试启动失败或命令无法识别。
1、按下 ⇧⌘P 打开命令面板,输入并选择 PowerShell: Select PowerShell Runtime。
2、从下拉列表中选择已安装的 PowerShell 版本,例如 PowerShell 7.4.2 (pwsh)。
3、确认状态栏右下角显示所选运行时名称,且无红色警告图标。
三、创建 launch.json 调试配置
launch.json 定义了 VSCode 如何启动和附加到 PowerShell 进程,缺失或配置错误将导致 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}"
}
]
}
四、启用脚本执行策略(Windows 环境专属)
PowerShell 默认阻止本地脚本执行,即使在 VSCode
中调试也会被策略拦截,报错信息通常包含 execution policy 或 cannot be loaded because running scripts is disabled。
1、以管理员身份启动 Windows Terminal 或 PowerShell。
2、运行命令:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser。
3、输入 Y 确认更改,确保当前用户策略已更新。
五、验证调试断点行为
断点未命中常因脚本未被正确加载、解释器未挂载调试器或代码位于非执行路径。需通过最小可复现脚本确认基础调试链路是否通畅。
1、新建文件 test.ps1,内容为:
$a = 42
Write-Host "Value is $a"
$a += 1
Write-Host "Now it's $a"
2、在第二行左侧空白处点击设置断点(出现红点)。
3、按 F5 启动调试,确认控制台输出暂停在断点处,且变量窗口可查看 $a 值为 42。
# linux
# vscode
# js
# json
# windows
# macbook
# mac
# ai
# macos
# win
# select
# microsoft
# 运行环境
# 加载
# 也会
# 多个
# 您在
# 按下
# 报错
# 而非
# 则可
# 若不
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
详解jQuery停止动画——stop()方法的使用
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
微信小程序 闭包写法详细介绍
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
网站制作软件有哪些,制图软件有哪些?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
详解Android——蓝牙技术 带你实现终端间数据传输
如何用景安虚拟主机手机版绑定域名建站?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
晋江文学城电脑版官网 晋江文学城网页版直接进入
微信小程序 canvas开发实例及注意事项
Laravel怎么上传文件_Laravel图片上传及存储配置
如何快速生成ASP一键建站模板并优化安全性?
详解Android中Activity的四大启动模式实验简述
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
Laravel如何集成Inertia.js与Vue/React?(安装配置)
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
如何用花生壳三步快速搭建专属网站?
SQL查询语句优化的实用方法总结
*服务器网站为何频现安全漏洞?
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
MySQL查询结果复制到新表的方法(更新、插入)
lovemo网页版地址 lovemo官网手机登录
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
C++时间戳转换成日期时间的步骤和示例代码
网站建设要注意的标准 促进网站用户好感度!
深圳网站制作的公司有哪些,dido官方网站?
如何为不同团队 ID 动态生成多个独立按钮
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
Laravel Fortify是什么,和Jetstream有什么关系
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
如何有效防御Web建站篡改攻击?
Laravel Docker环境搭建教程_Laravel Sail使用指南
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
如何注册花生壳免费域名并搭建个人网站?
C语言设计一个闪闪的圣诞树
制作电商网页,电商供应链怎么做?
如何快速搭建安全的FTP站点?
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
Linux系统命令中tree命令详解
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
如何在腾讯云免费申请建站?

