繁体   English   中英

C# 源码生成器在 vscode 中调试

[英]C# Source Generators debug in vscode

如何在使用 vscode 的构建过程中调试ISourceGenerator代码? 网络上的示例使用Debugger.Launch()但这仅适用于 Visual Studio。

    [Generator]
    public class HelloWorldGenerator : ISourceGenerator
    {
        public void Execute(GeneratorExecutionContext context)
        {
      
        }

        public void Initialize(GeneratorInitializationContext context)
        {
            if (!Debugger.IsAttached)
            {
                // how to make it break here?
                Debugger.Launch();
            }
        }
    }

如果添加这样的结构:

while (!System.Diagnostics.Debugger.IsAttached)
    System.Threading.Thread.Sleep(500);

在附加任何所需的调试器之前,您将能够停止构建过程。 我使用 Rider IDE,但这也适用于 VS Code。 当它卡在循环中时,它可以作为 .NET 核心进程附加: .NET Core 进程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM