Visual Studio Code 中的PowerShell
PowerShell 是一种基于任务的命令行 shell 和基于 .NET 的脚本语言,能够实现 为任何平台的管理员提供强大的工具集。
Microsoft PowerShell for Visual Studio Code(VS Code)提供了丰富的语言 支持和功能,如语法补全、定义跟踪和 PowerShell。使用当前支持的PowerShell 7+版本,扩展应能在所有支持 VS Code 的地方运行。
Windows PowerShell 5.1 的支持是基于尽力而为的。.NET Framework 4.8 或 需要更高的。
VS Code 远程开发支持包括 GitHub Codespaces 和 VS Code Server 在内的环境。
Visual Studio Code for the Web 仅支持有限功能,如 Basic 语法高亮,因为PowerShell引擎无法在此环境中运行。
我们积极测试以下配置:
- Windows Server 2022,搭载 Windows PowerShell 5.1 和 PowerShell 7+
- macOS 14.7 with PowerShell 7+
- Ubuntu 24.04 with PowerShell 7+
在Windows上,我们也会测试是否启用受限语言模式。
安装PowerShell扩展
PowerShell 扩展可通过 Visual Studio Code Marketplace 点击安装按钮安装。你也可以在VS Code内打开安装PowerShell扩展 扩展视图,带有键盘快捷键⇧⌘X(Windows,Linux Ctrl+Shift+X),输入PowerShell, 然后选择PowerShell扩展:

主要特色
- 句法高亮
- 高级内置代码片段
- IntelliSense 用于 cmdlet 等
- PowerShell 脚本分析器报告的问题
- 前往“cmdlets、变量、类等定义”
- 查找指令集、变量、类等的引用
- 文档与工作区符号导航
- 基于符号的轮廓视图
- 在当前终端中使用F8运行选定的PowerShell代码
- 通过Ctrl + F1启动光标下方符号的在线帮助
- PowerShell Debugger 集成
- 一个可以与调试器交互的扩展终端(试试
Set-PSBreakpoint!) - PowerShell ISE 主题可在主题选择器中获得
- 也可以尝试用 ⇧⌘P 进行 ISE 模式(Windows,Linux Ctrl+Shift+P),然后搜索“启用 ISE 模式”
调试
PowerShell扩展利用VS Code内置的调试接口,允许 调试PowerShell脚本和模块。关于调试PowerShell的更多信息,请参见“使用VS Code”。
多版本支持
你可以配置PowerShell扩展,使用安装在上的任何支持版本的PowerShell 按照这些说明作你的机器。
或者从命令面板中运行PowerShell:显示会话菜单命令 (⇧⌘P(Windows,Linux Ctrl+Shift+P))。
CodeLens 支持
CodeLenses 是 VS Code 的一个功能,用于提供可作的、有上下文的信息并显示出来 在源代码中。
CodeLens 的功能包括:
-
催促测试和调试测试。

-
烦恼符号支持

-
函数、变量、类及其他符号引用
CodeLens 引用支持显示符号在你内部被引用的次数 代码允许你跳转到具体的引用。

PSScriptAnalyzer 集成
PSScriptAnalyzer 是一个 PowerShell 模块,提供模块的静态源代码检查器 以及剧本。PSScriptAnalyzer 有规则来验证 PowerShell 代码的质量。这些规则 基于PowerShell团队和社区确定的PowerShell最佳实践。PSScriptAnalyzer 生成诊断记录(错误和警告),以告知用户 潜在的代码缺陷并提出改进的可能方案。
PowerShell 扩展默认包含 PSScriptAnalyzer,并自动执行 分析你在VS Code中编辑的PowerShell脚本文件。
PSScriptAnalyzer 内置了一系列规则,用于检查
PowerShell 源代码如未初始化变量的存在、PSCredential 类型的使用
使用调用表达,以及其他。该模块还允许你包含或排除特定内容
规则。
要禁用PSScriptAnalyzer,请打开设置(⌘,(Windows,Linux Ctrl+,)),浏览扩展,选择PowerShell扩展,并取消选择脚本的复选框
分析:启用 (PowerShell.scriptAnalysis.enable).

PSScriptAnalyzer 还提供代码格式化。你可以调用自动文档格式化 使用格式化文档命令或(⇧⌥F,Windows Shift+Alt+F,Linux Ctrl+Shift+I))快捷键。
佩斯特积分
Pester 是一个用于执行单元测试的框架,Windows PowerShell 5.1 预装了 Pester 3.40。要更新Pester或安装最新版本 平台,请按照Pester的安装说明作。
PowerShell 扩展设置
你可以在“文件”>偏好设置>设置菜单中自定义VS Code设置。
你也可以选择活动栏左下角的齿轮图标。

你也可以使用键盘快捷键⌘(Windows,Linux Ctrl+,)打开设置。
你仍然可以打开settings.json使用偏好设置的文件:打开用户设置(JSON)命令,来自
命令调色板(⇧⌘P(Windows,Linux Ctrl+Shift+P))或通过更改默认设置编辑器
其中“workbench.settings.editor”环境。
访问用户和工作区设置,了解更多关于配置 VS Code 设置的信息。
Types.ps1xml 和 Format.ps1xml 文件
PowerShell.ps1xml文件用于扩展类型系统并定义输出格式。更多内容
有关这些文件的信息,请参见官方 PowerShell 文档中的 Types.ps1xml 和 Format.ps1xml。你可以在创作时获得IntelliSense的功能.ps1xml通过安装文件
由 Red Hat 提供的 XML 扩展。安装后,将以下配置添加到用户设置中:
"xml.fileAssociations": [
{
"systemId": "https://raw.githubusercontent.com/PowerShell/PowerShell/master/src/Schemas/Format.xsd",
"pattern": "**/*.Format.ps1xml"
},
{
"systemId": "https://raw.githubusercontent.com/PowerShell/PowerShell/master/src/Schemas/Types.xsd",
"pattern": "**/*.Types.ps1xml"
}
]
该配置告诉XML扩展使用PowerShell中的官方XML模式
所有人的仓库.ps1xml文件。配置这些模式可实现以下功能:PS1XML档案:
- 语法错误报告
- 模式验证
- 标签和属性补全
- 自动关闭标签
- 符号高亮
- 文档折叠
- 文档符号与大纲
- 重命名支持
- 文档格式化
示例脚本
扩展中包含示例脚本,可在以下路径中找到。
~/.vscode/extensions/ms-vscode。PowerShell-<version>/examples
要在 VS Code 中打开或查看示例,请从你的 PowerShell 命令提示符中运行以下作:
code (Get-ChildItem ~\.vscode\extensions\ms-vscode.PowerShell-*\examples)[-1]
你也可以在命令面板(⇧⌘P,Windows,Linux Ctrl+Shift+P))中打开示例,使用 PowerShell: Open Examples Folder 命令。

附加资源
PowerShell文档中有更详细的文章。先从使用VS代码开始。
查看故障排除指南,里面有常见问题的答案。
想了解更多关于调试的信息,可以看看“嘿,脚本家!”两部分博客文章系列 由@keithHill编写,关于使用 PowerShell 扩展进行调试:
测试新功能并提供反馈
我们鼓励你尽可能尝试预发布版本。当预发布版本可用时,可以通过Switch从市场安装到 预发布版本按钮。你可以切回稳定版扩展 通过使用出现的“切换至发布版本”按钮来实现。你也可以降级 通过卸载按钮旁的箭头,切换到其他版本的扩展,以及 选择安装另一个版本......。

如果你发现了bug,请打开问题并恢复到稳定版本,我们会修复它。