【问题标题】:Multi-threaded Debugging in Visual Studio CodeVisual Studio Code 中的多线程调试
【发布时间】:2020-03-13 15:54:50
【问题描述】:

我一直在处理一个交给我的 Powershell 脚本。以前从未处理过 powershell 脚本,我有很多东西要学。到目前为止,我一直在使用 Visual Studio Code 来运行/调试它。它一直运行良好,但是,我在处理多个线程的特定领域遇到了问题。我无法在特定断点上暂停 Powershell 脚本。

在过去几天查看之后,似乎可以在 Visual Studio 中处理线程。我下载了 Visual Studio Community 2019 并尝试安装“Powershell Tools for Visual Studio”套件。根据包管理器的说法,它已安装没有问题。但是,我无法创建 Powershell 项目(我应该可以这样做),并且在 Visual Studio 2019 的扩展管理器中看不到它。为了确保这不是我的错误,我尝试过安装几次不同的方法。

我还查看了用于调试的 Windows 内置 Powershell ISE,但遇到了与 Visual Studio Code 相同的问题。这使我无法在需要查看的特定位置正确调试。然而,我在大部分脚本中都使用了Write-Host,因为这是一个交给我的脚本,我宁愿能够暂停并查看给定状态下的所有变量,而不必将它们全部打印出来。

有没有什么方法可以轻松在 Visual Studio Code 中调试多线程应用程序?如果没有,除了添加Write-Host,还有什么建议, Write-Debug 或类似的 cmdlet。

【问题讨论】:

    标签: powershell visual-studio-code visual-studio-2019 vscode-debugger


    【解决方案1】:

    您混淆了工具和用例,这是由于您对 PowerShell 和处理该问题的工具的误解,如果您以前从未这样做过,这是可以预料的。

    如果您没有 PowerShell 经验,最好先上手。跳入一种您从未使用或理解的语言的工具是不谨慎的。在 Youtube 上搜索 'Beginning PowerShell' 并查看其中的一些内容,然后再继续前进。

    这不是 PowerShell 代码问题,这是我们在此提供帮助的原因。

    您的问题是“如何配置 VSCode 和/或 Visual Studio 以进行 Powershell 开发?因此对于 StackOverflow 来说是题外话,而对于 SuperUsers 或 StackExchange 来说更多是一个问题。

    How do I ask a good question? - Help Center - Stack Overflow

    既然你在这里,我使用这个插件,让我提供一些启发。

    1. VSCode 有一个来自 Microsoft 的扩展,用于 PowerShell 开发,但这只是 Microsoft PowerShell 扩展。
    2. 适用于 Visual Studio /VSCode 的 PowerShell Pro Tools 不是免费工具,并非来自 Microsoft。您必须为此付费才能启用所有 它的特点。您只需要一份 PowerShell Pro Tools 的副本/许可证 在 Visual Studio/VSCode 中使用。

    PowerShell 专业工具套件 https://ironmansoftware.com/powershell-pro-tools

    PowerShell Pro Tools

    PowerShell Pro Tools 添加了脚本打包、Windows 窗体设计器、 代码转换和通用仪表板预览器到 VS Code。

    PowerShell Pro Tools provides Visual Studio整合通过 Visual Studio 的 PowerShell 工具。 Visual Studio 集成 提供以下功能。打包为可执行文件,包括 命令行实用程序和服务 Windows 窗体设计器 WPF 设计器集成代码转换

    您可以查看如何使用该工具购买查看产品作者 Ironman 软件或 Youtube 上的文档。只需搜索即可。

    'powershell pro tools for VSCode'

    'powershell pro tools for vscode projects'

    'powershell pro tools for Visual Studio'

    'powershell pro tools for visual studio projects'

    【讨论】:

    【解决方案2】:

    我知道这是比较旧的,但值得注意的是这是否会显示在未来的搜索结果中。 VSCode 能做什么,VSCode 中的 PowerShell 能做什么。

    我在 C# 中使用 VS Code 调试完成了多线程,但我不知道在 PowerShell 中有一个好的过程。我认为这是扩展支持的问题,但也是 PowerShell 避免或隐藏文字线程的各种方式的复杂性。

    PowerShell 抽象出不同于其他语言的异步。

    • 作业可以是线程或进程
    • 事件可能会触发并排队进入主线程
    • 运行空间是另一个线程上的完整环境,它们可以相互交互。

    也许有人可以对这些给出更好的总结,但是“这很复杂”

    【讨论】:

      猜你喜欢
      • 2017-09-20
      • 2017-05-23
      • 2018-11-04
      • 2016-12-29
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多