本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

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 CodespacesVS 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 扩展:

PowerShell 扩展

主要特点

调试

PowerShell 扩展使用 VS Code 内置的调试界面来允许调试 PowerShell 脚本和模块。有关调试 PowerShell 的更多信息,请参阅 使用 VS Code

多版本支持

您可以通过按照这些说明来配置PowerShell扩展,以使用您机器上安装的任何受支持版本的PowerShell。

或者在PowerShell: 显示会话菜单命令从命令面板中运行 (⇧⌘P (Windows, Linux Ctrl+Shift+P)).

代码审查支持

CodeLenses 是 VS Code 的一个功能,用于提供可在源代码内显示的可操作的、上下文相关的信息。

CodeLens 功能包括:

  • 烦扰运行测试调试测试.

    Pester CodeLens 集成

  • 支持Pester符号

    代码审查 问题符号支持

  • 函数、变量、类及其他符号引用

    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.启用)。

PSScriptAnalyzer 设置

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.ps1xmlFormat.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 示例

附加资源

在 PowerShell 文档中有更详细的文章。从 使用 VS Code 开始。

查看故障排除指南以获取常见问题的答案。

有关调试的更多信息,请查看 Hey, Scripting Guy! 两部分博客系列 由 @keithHill 撰写的关于使用 PowerShell 扩展进行调试:

测试新功能并提供反馈

我们鼓励您在可能的情况下尝试预发布版本。当有 预发布版本可用时,可以使用切换到预发布版本按钮从市场中安装。您可以通过使用切换到发布版本按钮切换回扩展的稳定版本。您还可以使用卸载按钮旁边的箭头选择安装另一个版本...将扩展降级到其他版本。

截图显示了切换到预发布版本的按钮。

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