当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 Visual Studio Code 进行 PowerShell 开发

作者:精品下载站 日期:2024-12-14 02:57:39 浏览:15 分类:玩电脑

使用 Visual Studio Code 进行 PowerShell 开发


Visual Studio Code(VS Code)是 Microsoft 的跨平台脚本编辑器。与PowerShell扩展一起,它提供了丰富的交互式脚本编辑体验,使编写可靠的PowerShell脚本变得更加容易。带有 PowerShell 扩展的 Visual Studio Code 是用于编写 PowerShell 脚本的推荐编辑器。

它支持以下 PowerShell 版本:

  • PowerShell 7.2 及更高版本(Windows、macOS 和 Linux)
  • Windows PowerShell 5.1(仅限 Windows)和 .NET Framework 4.8

笔记

Visual Studio Code 与 Visual Studio 不同。

入门

开始之前,请确保您的系统上存在 PowerShell。对于 Windows、macOS 和 Linux 上的现代工作负载,请参阅以下链接:

  • 在 Linux 上安装 PowerShell
  • 在 macOS 上安装 PowerShell
  • 在 Windows 上安装 PowerShell

对于传统的 Windows PowerShell 工作负载,请参阅安装 Windows PowerShell。

这很重要

Windows PowerShell ISE 仍然适用于 Windows。但是,它不再处于活跃的功能开发中。 ISE 仅适用于 PowerShell 5.1 及更早版本。作为 Windows 的一个组件,它继续受到安全和高优先级服务修复的官方支持。我们没有计划从 Windows 中删除 ISE。

安装 VS Code 和 PowerShell 扩展

  1. 安装 Visual Studio 代码。有关详细信息,请参阅设置 Visual Studio Code 概述。

    每个平台都有安装说明:

    • 在 Windows 上运行 Visual Studio Code
  2. 在 macOS 上运行 Visual Studio Code
  3. 在 Linux 上运行 Visual Studio Code
  4. 安装 PowerShell 扩展。

    1. 通过在控制台中键入 codecode-insiders(如果安装了 Visual Studio Code Insiders)来启动 VS Code 应用。
  5. 在 Windows 或 Linux 上按 Ctrl+P 启动快速打开。在 macOS 上,按 Cmd+P。
  6. 在“快速打开”中,输入 ext install powershell 并按 Enter
  7. 扩展视图在侧栏上打开。选择 Microsoft 的 PowerShell 扩展。
  8. 单击 Microsoft PowerShell 扩展上的安装按钮。
  9. 安装完成后,如果您看到安装按钮变为重新加载,请单击重新加载
  10. VS Code 重新加载后,您就可以进行编辑了。

例如,要创建新文件,请单击文件 > 新建。要保存它,请单击文件 > 保存,然后提供文件名,例如 HelloWorld.ps1。要关闭文件,请单击文件名旁边的X。要退出 VS Code,请文件 > 退出

在受限系统上安装 PowerShell 扩展

某些系统设置为要求验证所有代码签名。您可能会收到以下错误:

Language server startup failed.

当 PowerShell 的执行策略由 Windows 组策略设置时,可能会出现此问题。要手动批准 PowerShell 编辑器服务和 VS Code 的 PowerShell 扩展,请打开 PowerShell 提示符并运行以下命令:

Import-Module $HOME\.vscode\extensions\ms-vscode.powershell*\modules\PowerShellEditorServices\PowerShellEditorServices.psd1

系统会提示您是否要运行来自该不受信任的发布者的软件?,请键入 A 来运行该文件。然后,打开 VS Code 并验证 PowerShell 扩展是否正常运行。如果您在入门时仍然遇到问题,请在 GitHub 问题中告知我们。

选择与扩展一起使用的 PowerShell 版本

通过将 PowerShell 与 Windows PowerShell 并行安装,现在可以将特定版本的 PowerShell 与 PowerShell 扩展一起使用。此功能会查看不同操作系统上的一些众所周知的路径,以发现 PowerShell 的安装。

使用以下步骤选择版本:

  1. 在 Windows 或 Linux 上使用 Ctrl+Shift+P 打开命令面板。在 macOS 上,使用 Cmd+Shift+P。
  2. 搜索会话
  3. 单击PowerShell:显示会话菜单
  4. 从列表中选择您要使用的 PowerShell 版本。

如果您将 PowerShell 安装到非典型位置,它最初可能不会显示在会话菜单中。您可以通过添加自己的自定义路径来扩展会话菜单,如下所述。

还可以通过状态栏右下角的 {} 图标访问 PowerShell 会话菜单。将鼠标悬停在该图标上或选择该图标会显示会话菜单的快捷方式和一个小图钉图标。如果选择图钉图标,版本号将添加到状态栏。版本号是会话菜单的快捷方式,需要更少的点击。

笔记

固定版本号会复制 1.65 之前的 VS Code 版本中的扩展行为。 VS Code 1.65 版本更改了 PowerShell 扩展使用的 API,并对语言扩展的状态栏进行了标准化。

Visual Studio Code 的配置设置

首先,如果您不熟悉如何更改 VS Code 中的设置,我们建议您阅读 Visual Studio Code 的设置文档。

阅读文档后,您可以在 settings.json 中添加配置设置。

{
    "editor.renderWhitespace": "all",
    "editor.renderControlCharacters": true,
    "files.trimTrailingWhitespace": true,
    "files.encoding": "utf8bom",
    "files.autoGuessEncoding": true
}

如果您不希望这些设置影响所有文件类型,VS Code 还允许按语言进行配置。通过将设置放入 [] 字段来创建特定于语言的设置。例如:

{
    "[powershell]": {
        "files.encoding": "utf8bom",
        "files.autoGuessEncoding": true
    }
}

有用的提示

有关 VS Code 中文件编码的详细信息,请参阅了解文件编码。另外,请查看如何在 VS Code 中复制 ISE 体验,了解有关如何配置 VS Code 进行 PowerShell 编辑的其他提示。

将您自己的 PowerShell 路径添加到会话菜单

您可以通过 Visual Studio Code 设置将其他 PowerShell 可执行路径添加到会话菜单:powershell.powerShellAdditionalExePaths

您可以使用 GUI 来执行此操作:

  1. 命令面板中搜索并选择打开用户设置。或者在 Windows 或 Linux 上使用键盘快捷键 Ctrl+,。在 macOS 上,使用 Cmd+,。
  2. 设置编辑器中,搜索PowerShell 其他 Exe 路径
  3. 单击添加项目
  4. 对于(在项目下),提供您为此附加 PowerShell 安装选择的名称。
  5. 对于(在下),提供可执行文件本身的绝对路径。

您可以根据需要添加任意数量的其他路径。添加的项目显示在会话菜单中,并以给定的键作为名称。

或者,您可以将键值对添加到 settings.json 中的对象 powershell.powerShellAdditionalExePaths

{
    "powershell.powerShellAdditionalExePaths": {
        "Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
        "Built PowerShell": "C:/Users/username/src/PowerShell/src/powershell-win-core/bin/Debug/net6.0/win7-x64/publish/pwsh.exe"
    },
}

笔记

在扩展程序版本 2022.5.0 之前,此设置是具有所需键 exePathversionName 的对象列表。引入了重大更改以支持通过 GUI 进行配置。如果您之前配置过此设置,请将其转换为新格式。为versionName 指定的值现在为Key,为exePath 指定的值现在为Value。您可以通过重置值并使用“设置”界面更轻松地完成此操作。

要设置默认 PowerShell 版本,请将值 powershell.powerShellDefaultVersion 设置为会话菜单中显示的文本(用于密钥的文本):

{
    "powershell.powerShellAdditionalExePaths": {
        "Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
    },
    "powershell.powerShellDefaultVersion": "Downloaded PowerShell",
}

配置此设置后,重新启动 VS Code,或者要从命令面板重新加载当前 VS Code 窗口,请键入 开发人员:重新加载窗口

如果打开会话菜单,您现在会看到其他 PowerShell 安装。

有用的提示

如果您从源代码构建 PowerShell,这是测试本地 PowerShell 构建的好方法。

使用 Visual Studio Code 进行调试

无工作区调试

在 VS Code 版本 1.9(或更高版本)中,您可以调试 PowerShell 脚本,而无需打开包含 PowerShell 脚本的文件夹。

  1. 使用文件 > 打开文件... 打开 PowerShell 脚本文件
  2. 设置断点 - 选择一行然后按 F9
  3. 按F5开始调试

您应该会看到出现“调试操作”窗格,允许您中断调试器、单步执行、恢复和停止调试。

工作区调试

工作区调试是指在使用打开文件夹...文件菜单打开的文件夹上下文中进行调试。您打开的文件夹通常是 PowerShell 项目文件夹或 Git 存储库的根目录。工作区调试允许您定义多个调试配置,而不仅仅是调试当前打开的文件。

请按照以下步骤创建调试配置文件:

  1. 在 Windows 或 Linux 上按 Ctrl+Shift+D 打开调试视图。在 macOS 上,按 Cmd+Shift+D。

  2. 单击创建 launch.json 文件链接。

  3. 选择环境提示中,选择PowerShell

  4. 选择您想要使用的调试类型:

    • 启动当前文件 - 在当前活动的编辑器窗口中启动并调试文件
  5. 启动脚本 - 启动并调试指定的文件或命令
  6. 交互式会话 - 从集成控制台执行的调试命令
  7. 附加 - 将调试器附加到正在运行的 PowerShell 主机进程

VS Code 在工作区文件夹的根目录中创建一个目录和一个文件 .vscode\launch.json 来存储调试配置。如果您的文件位于 Git 存储库中,您通常需要提交 launch.json 文件。 launch.json 文件的内容是:

{
  "version": "0.2.0",
  "configurations": [
      {
          "type": "PowerShell",
          "request": "launch",
          "name": "PowerShell Launch (current file)",
          "script": "${file}",
          "args": [],
          "cwd": "${file}"
      },
      {
          "type": "PowerShell",
          "request": "attach",
          "name": "PowerShell Attach to Host Process",
          "processId": "${command.PickPSHostProcess}",
          "runspaceId": 1
      },
      {
          "type": "PowerShell",
          "request": "launch",
          "name": "PowerShell Interactive Session",
          "cwd": "${workspaceRoot}"
      }
  ]
}

该文件代表常见的调试场景。当您在编辑器中打开此文件时,您会看到一个添加配置...按钮。您可以单击此按钮添加更多 PowerShell 调试配置。要添加的一项有用配置是PowerShell:启动脚本。通过此配置,您可以指定一个包含可选参数的文件,无论编辑器中哪个文件处于活动状态,只要按 F5 都会使用这些参数。

建立调试配置后,您可以选择要在调试会话期间使用的配置。从调试视图工具栏中的调试配置下拉列表中选择一个配置。

PowerShell 扩展故障排除

如果您在使用 VS Code 进行 PowerShell 脚本开发时遇到任何问题,请参阅 GitHub 上的故障排除指南。

有用的资源

有一些视频和博客文章可能有助于您开始使用 VS Code 的 PowerShell 扩展:

视频

  • 使用 Visual Studio Code 作为默认 PowerShell 编辑器
  • Visual Studio Code:深入调试 PowerShell 脚本

博客文章

  • PowerShell 扩展
  • 在 Visual Studio Code 中编写和调试 PowerShell 脚本
  • 调试 Visual Studio 代码指南
  • 在 Visual Studio Code 中调试 PowerShell
  • 开始在 Visual Studio Code 中进行 PowerShell 开发
  • 用于 PowerShell 开发的 Visual Studio Code 编辑功能 - 第 1 部分
  • 用于 PowerShell 开发的 Visual Studio Code 编辑功能 - 第 2 部分
  • 在 Visual Studio Code 中调试 PowerShell 脚本 - 第 1 部分
  • 在 Visual Studio Code 中调试 PowerShell 脚本 - 第 2 部分

PowerShell扩展项目源代码

PowerShell 扩展的源代码可以在 GitHub 上找到。

如果您有兴趣做出贡献,我们将非常感谢 Pull Request。按照 GitHub 上的开发人员文档开始操作。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯