使用 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.ps1
或psedit foo.ps1
以在编辑器中打开本地 foo.ps1 文件权限。
备注
foo.ps1 必须已存在。
在这里,我们可以:
将断点添加到滚动条槽
并按 F5 调试 PowerShell 脚本。
调试时,可以使用调试控制台进行交互,请查看左侧和调试工具的所有其他标准中的作用域中的变量。
使用打开 EditorFile 进行编辑的远程文件Remote file editing with Open-EditorFile
现在让我们将放入远程文件编辑和调试。步骤都几乎相同,只是一件事我们需要先做-我们的 PowerShell 会话输入到远程服务器。
没有为 cmdlet 来执行此操作。它称为Enter-PSSession
。
该 cmdlet 的已关闭说明是:
Enter-PSSession -ComputerName foo
启动 WinRM 通过会话Enter-PSSession -ContainerId foo
和Enter-PSSession -VmId foo
开始通过 PowerShell Direct 会话Enter-PSSession -HostName foo
启动通过 SSH 会话
有关详细信息Enter-PSSession
,签出文档此处。
我将使用 SSH 远程处理由于我从 macOS 将在 Azure 中的 Ubuntu VM。
首先,在集成的控制台中,让我们运行我们 Enter-pssession。您将知道由于是在会话中[something]
会显示在提示符下的左侧。
在这里,我们可以像我们所编辑的本地脚本执行的确切步骤。
- 运行
Open-EditorFile test.ps1
或psedit test.ps1
若要打开远程test.ps1
文件 - 编辑文件/设置断点
- 启动调试 (F5) 该远程文件
这就是一切就这么简单 !我们希望本指南帮助清除了有关远程调试和编辑 PowerShell 在 VSCode 中的任何问题。
如果有任何疑问,欢迎您随时打开问题GitHub 存储库上。