PowerShell 在 Visual Studio Code 中
PowerShell 是一个基于 .NET 的任务型命令行 shell 和脚本语言,它为任何平台上的管理员提供了强大的工具集。
MicrosoftPowerShell扩展为Visual Studio Code (VS Code)提供了丰富的语言支持和功能,例如语法完成、定义跟踪和 linting 用于 PowerShell。该扩展应在 VS Code 支持的任何地方工作,使用 PowerShell 7+ 目前支持的版本。
对 Windows PowerShell 5.1 的支持是尽力而为的支持。.NET Framework 4.8 或更高版本是必需的。
VS Code 远程开发 包括 GitHub Codespaces 和 VS Code Server 的环境。
网页版Visual Studio Code仅支持有限的功能,例如基本的语法高亮,因为PowerShell引擎无法在此环境中运行。
我们积极测试以下配置:
- Windows Server 2022 与 Windows PowerShell 5.1 和 PowerShell 7+
- macOS 14.7 与 PowerShell 7+
- Ubuntu 24.04 附带 PowerShell 7+
在 Windows 上,我们还测试了启用和禁用受限语言模式的情况。
安装 PowerShell 扩展
PowerShell 扩展可以点击 安装按钮从 Visual Studio Code 市场上安装。你也可以在 VS Code 内部通过按键盘快捷键 Extensions视图,使用⇧⌘X(Windows, LinuxCtrl+Shift+X),输入PowerShell,并选择 PowerShell 扩展:

主要特点
- 语法高亮
- 高级内置代码片段
- IntelliSense 用于 cmdlets 等
- 问题 报告由 PowerShell 脚本分析器
- 转到定义 的 cmdlets、变量、类等
- 查找引用 命令、变量、类等
- 文档和工作区符号导航
- 基于符号的大纲视图
- 在当前终端中使用F8运行选定的PowerShell代码
- 使用Ctrl + F1在光标下的符号启动在线帮助
- PowerShell调试器集成
- 一个可以与调试器互动的扩展终端(尝试
设置PS断点! - PowerShell ISE 主题可在 主题选择器 中找到
- 也可以尝试使用ISE模式 ⇧⌘P (Windows, Linux Ctrl+Shift+P) 然后搜索“启用ISE模式”
调试
PowerShell 扩展使用 VS Code 内置的调试界面来允许调试 PowerShell 脚本和模块。有关调试 PowerShell 的更多信息,请参阅 使用 VS Code。
多版本支持
您可以通过按照这些说明来配置PowerShell扩展,以使用您机器上安装的任何受支持版本的PowerShell。
或者在PowerShell: 显示会话菜单命令从命令面板中运行 (⇧⌘P (Windows, Linux Ctrl+Shift+P)).
代码审查支持
CodeLenses 是 VS Code 的一个功能,用于提供可在源代码内显示的可操作的、上下文相关的信息。
CodeLens 功能包括:
-
烦扰运行测试和调试测试.

-
支持Pester符号

-
函数、变量、类及其他符号引用
CodeLens 参考支持显示符号在你的代码中被引用的次数,并允许你跳转到特定的引用。

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

PSScriptAnalyzer 还提供了代码格式化功能。您可以使用 格式化文档 命令或 (⇧⌥F (Windows Shift+Alt+F, Linux Ctrl+Shift+I)) 键盘快捷键来自动格式化文档。
Pester集成
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)) 或通过更改默认设置编辑器
与 "工作台设置编辑器"设置。
前往用户和工作区设置获取更多关于配置 VS Code 设置的信息。
Types.ps1xml 和 Format.ps1xml 文件
PowerShell.ps1xml 文件用于扩展类型系统和定义输出格式。有关这些文件的更多信息,请参阅官方 PowerShell 文档中的 Types.ps1xml 和
Format.ps1xml。在编写 .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-<版本>/示例
要打开或查看 VS Code 中的示例,请在你的 PowerShell 命令提示符下运行以下命令:
代码 (Get-ChildItem ~\.vscode\extensions\ms-vscode.PowerShell-*\examples)[-1]
你也可以通过命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 打开示例文件夹,使用 PowerShell: 打开示例文件夹 命令。

附加资源
在 PowerShell 文档中有更详细的文章。从 使用 VS Code 开始。
查看故障排除指南以获取常见问题的答案。
有关调试的更多信息,请查看 Hey, Scripting Guy! 两部分博客系列 由 @keithHill 撰写的关于使用 PowerShell 扩展进行调试:
测试新功能并提供反馈
我们鼓励您在可能的情况下尝试预发布版本。当有 预发布版本可用时,可以使用切换到预发布版本按钮从市场中安装。您可以通过使用切换到发布版本按钮切换回扩展的稳定版本。您还可以使用卸载按钮旁边的箭头选择安装另一个版本...将扩展降级到其他版本。

如果你发现一个错误,打开一个议题,在我们修复它的同时,恢复到稳定版本。