使用 Visual Studio Code 进行远程编辑和调试Using Visual Studio Code for remote editing and debugging

本文内容

对于您已熟悉 ISE,您可能记得,可以运行psedit file.ps1从打开的文件-本地或远程的集成控制台右键在 ISE 中。

事实证明,此功能也是适用于 VSCode 的 PowerShell 扩展中可用。本指南将演示如何执行此操作。

必备条件Prerequisites

本指南假定你拥有:

  • 远程资源 (例如: 虚拟机,容器) 有权访问
  • 它和主机计算机上运行的 PowerShell
  • VSCode 和适用于 VSCode 的 PowerShell 扩展
    此功能适用于 Windows PowerShell 和 PowerShell Core。

连接到远程计算机通过 WinRM、 PowerShell Direct 或 SSH 时,此功能也适用。如果你想要使用 SSH,但使用的 Windows,请查看Win32 版本的 SSH

开始Let's go

在本部分中,我将逐步远程编辑和调试从我正在 MacBook Pro,到 Ubuntu VM 在 Azure 中运行。我可能没有使用 Windows,但的过程是相同

使用打开 EditorFile 进行编辑的本地文件Local file editing with Open-EditorFile

使用 PowerShell 扩展启动 VSCode 并打开 PowerShell 控制台中集成,我们可以键入Open-EditorFile foo.ps1psedit foo.ps1以在编辑器中打开本地 foo.ps1 文件权限。

打开 EditorFile foo.ps1 可在本地工作

备注

foo.ps1 必须已存在。

在这里,我们可以:

将断点添加到滚动条槽添加断点,以线

并按 F5 调试 PowerShell 脚本。调试 PowerShell 本地脚本

调试时,可以使用调试控制台进行交互,请查看左侧和调试工具的所有其他标准中的作用域中的变量。

使用打开 EditorFile 进行编辑的远程文件Remote file editing with Open-EditorFile

现在让我们将放入远程文件编辑和调试。步骤都几乎相同,只是一件事我们需要先做-我们的 PowerShell 会话输入到远程服务器。

没有为 cmdlet 来执行此操作。它称为Enter-PSSession

该 cmdlet 的已关闭说明是:

  • Enter-PSSession -ComputerName foo 启动 WinRM 通过会话
  • Enter-PSSession -ContainerId fooEnter-PSSession -VmId foo开始通过 PowerShell Direct 会话
  • Enter-PSSession -HostName foo 启动通过 SSH 会话
    有关详细信息Enter-PSSession,签出文档此处

我将使用 SSH 远程处理由于我从 macOS 将在 Azure 中的 Ubuntu VM。

首先,在集成的控制台中,让我们运行我们 Enter-pssession。您将知道由于是在会话中[something]会显示在提示符下的左侧。

Enter-pssession 调用

在这里,我们可以像我们所编辑的本地脚本执行的确切步骤。

  • 运行Open-EditorFile test.ps1psedit test.ps1若要打开远程test.ps1文件打开 EditorFile test.ps1 文件
  • 编辑文件/设置断点编辑并设置断点
  • 启动调试 (F5) 该远程文件
    调试远程文件

这就是一切就这么简单 !我们希望本指南帮助清除了有关远程调试和编辑 PowerShell 在 VSCode 中的任何问题。

如果有任何疑问,欢迎您随时打开问题GitHub 存储库上