現已釋出!閱讀關於 11 月新增功能和修復的內容。

Visual Studio Code 中的 PowerShell

PowerShell 是一個基於任務的命令列 shell 和指令碼語言,構建於 .NET 之上,為任何平臺上的管理員提供了一套強大的工具集。

Microsoft 適用於 Visual Studio Code (VS Code) 的 PowerShell 擴充套件 提供了豐富的語言支援和功能,例如語法補全、定義跟蹤和 PowerShell 的 linting。該擴充套件應能在 VS Code 支援的任何地方使用,目前支援 PowerShell 7+ 的已支援版本。

Windows PowerShell 5.1 的支援基於盡力而為的原則。需要 .NET Framework 4.8 或更高版本。

支援 VS Code 遠端開發環境,包括 GitHub Codespaces 和 VS Code Server。

重要

Visual Studio Code for the Web 僅支援有限的功能,例如基本的語法高亮,因為 PowerShell 引擎無法在此環境中執行。

我們積極測試以下配置

  • Windows Server 2022 搭配 Windows PowerShell 5.1 和 PowerShell 7+
  • macOS 14.7 搭配 PowerShell 7+
  • Ubuntu 24.04 搭配 PowerShell 7+

在 Windows 上,我們也測試了啟用和停用約束語言模式的情況。

安裝 PowerShell 擴充套件

可以透過點選“安裝按鈕”從 Visual Studio Code Marketplace 安裝 PowerShell 擴充套件。您也可以在 VS Code 中透過開啟 **擴充套件** 檢視(快捷鍵 ⇧⌘X (Windows、Linux Ctrl+Shift+X)),輸入 *PowerShell*,然後選擇 PowerShell 擴充套件來安裝它。

PowerShell extension

主要功能

  • 語法高亮
  • 高階內建程式碼片段
  • Cmdlet 等的 IntelliSense
  • PowerShell Script Analyzer 報告的“問題”
  • Cmdlet、變數、類等的“轉到定義”
  • Cmdlet、變數、類等的“查詢引用”
  • 文件和工作區符號導航
  • 基於符號的結構檢視
  • 使用 F8 在當前終端執行選定的 PowerShell 程式碼
  • 使用 Ctrl + F1 啟動當前游標所在符號的線上幫助
  • PowerShell 偵錯程式整合
  • 可與偵錯程式互動的擴充套件終端(嘗試 Set-PSBreakpoint!)
  • ISE 主題可在主題選擇器中獲得
  • 還可以嘗試 ISE 模式,透過 ⇧⌘P (Windows、Linux Ctrl+Shift+P) 開啟命令面板,然後搜尋“啟用 ISE 模式”。

除錯

PowerShell 擴充套件使用 VS Code 的內建除錯介面來除錯 PowerShell 指令碼和模組。有關除錯 PowerShell 的更多資訊,請參閱“使用 VS Code”。

多版本支援

您可以透過遵循這些說明,將 PowerShell 擴充套件配置為使用您計算機上安裝的任何受支援的 PowerShell 版本。

或者,從命令面板(⇧⌘P (Windows、Linux Ctrl+Shift+P))執行 **PowerShell: 顯示會話選單** 命令。

CodeLens 支援

CodeLenses 是 VS Code 的一項功能,可在原始碼中顯示可操作的上下文資訊。

CodeLens 功能包括

  • Pester **執行測試**和**除錯測試**。

    Pester CodeLens Integration

  • Pester 符號支援

    CodeLens Pester Symbol Support

  • 函式、變數、類和其他符號的引用

    CodeLens 引用支援顯示您的程式碼中引用符號的次數,並允許您跳轉到特定引用。

    CodeLens Function Reference Support

PSScriptAnalyzer 整合

PSScriptAnalyzer 是一個 PowerShell 模組,為模組和指令碼提供靜態原始碼檢查器。PSScriptAnalyzer 擁有驗證 PowerShell 程式碼質量的規則。這些規則基於 PowerShell 團隊和社群確定的 PowerShell 最佳實踐。PSScriptAnalyzer 生成診斷記錄(錯誤和警告),通知使用者潛在的程式碼缺陷,並提出可能的改進建議。

PowerShell 擴充套件預設包含 PSScriptAnalyzer,並自動分析您在 VS Code 中編輯的 PowerShell 指令碼檔案。

PSScriptAnalyzer 附帶一組內建規則,用於檢查 PowerShell 原始碼的各個方面,例如未初始化變數的存在、PSCredential 型別的用法、Invoke-Expression 的用法等。該模組還允許您包含或排除特定規則。

要停用 PSScriptAnalyzer,請開啟您的設定(⌘, (Windows、Linux Ctrl+,)),瀏覽 **擴充套件**,選擇 **PowerShell** 擴充套件,然後取消選中 **指令碼分析: 啟用** (powershell.scriptAnalysis.enable) 複選框。

PSScriptAnalyzer Settings

PSScriptAnalyzer 還提供程式碼格式化。您可以使用“格式化文件”命令或鍵盤快捷鍵(⇧⌥F (Windows Shift+Alt+F、Linux Ctrl+Shift+I))來呼叫自動文件格式化。

Pester 整合

Pester 是一個用於執行單元測試的框架。Windows PowerShell 5.1 預裝了 Pester 3.40。要更新 Pester 或在其他平臺上安裝最新版本,請遵循 Pester 安裝說明。

PowerShell 擴充套件設定

您可以從 **檔案** > **首選項** > **設定** 選單項自定義 VS Code 設定。

您也可以選擇位於活動欄左下角的齒輪圖示。

codeGear

您還可以使用鍵盤快捷鍵 ⌘, (Windows、Linux Ctrl+,) 開啟您的設定。您仍然可以透過命令面板(⇧⌘P (Windows、Linux Ctrl+Shift+P))中的 **首選項: 開啟使用者設定 (JSON)** 命令開啟 settings.json 檔案,或者透過設定 "workbench.settings.editor" 來更改預設設定編輯器。

有關配置 VS Code 設定的更多資訊,請參閱使用者和工作區設定。

Types.ps1xml 和 Format.ps1xml 檔案

PowerShell .ps1xml 檔案用於擴充套件型別系統和定義輸出格式。有關這些檔案的更多資訊,請參閱關於 Types.ps1xml 和 Format.ps1xml 的官方 PowerShell 文件。透過安裝 Red Hat 的 XML 擴充套件,您可以在編寫 .ps1xml 檔案時獲得 IntelliSense 功能。安裝後,請將此配置新增到您的使用者設定中。

"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 擴充套件為所有 .ps1xml 檔案使用 PowerShell 倉庫中的官方 XML 架構。配置這些架構將在 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 PowerShell Examples

其他資源

PowerShell 文件中有更詳細的文章。從“使用 VS Code”開始。

檢視疑難解答指南,獲取常見問題的答案。

有關除錯的更多資訊,請檢視 @keithHill 撰寫的關於使用 PowerShell 擴充套件進行除錯的《Hey, Scripting Guy!》系列部落格文章(共兩部分)。

測試新功能和提供反饋

我們鼓勵您儘可能嘗試“預釋出”版本。當有“預釋出”版本可用時,可以使用“切換到預釋出版本”按鈕從 marketplace 安裝。您可以使用出現的“切換到釋出版本”按鈕切換回擴充套件的穩定版本。您還可以透過單擊“解除安裝”按鈕旁邊的箭頭並選擇“安裝其他版本...”來降級到擴充套件的其他版本。

Screenshot showing the button to switch to a pre-release version.

如果您發現 bug,請開啟一個 issue,並在我們修復它之前恢復到穩定版本。

© . This site is unofficial and not affiliated with Microsoft.