编写VSCode扩展以开始调试

时间:2016-04-14 15:11:14

标签: c# visual-studio-code omnisharp vscode-extensions

我会解释。

我安装了带有Omnisharp C#扩展的VSCode,并且我正在尝试调试控制台应用程序(使用Microsoft.NETCore.App编译为dll)。

因此,当我启动应用程序(F5)时,调试器无法附加到它,我猜它是因为在我的 launch.json 文件中我有这个:< / p>

{
    "name": ".NET Core Launch (console)",
    "type": "coreclr",
    "request": "launch",
    "preLaunchTask": "build",
    "program": "dotnet.exe",
    "args": ["run"],
    "cwd": "${workspaceRoot}",
    "stopAtEntry": true
}

在这种情况下,据我所知,dotnet.exe承载了要执行的dll。因此,为了开始调试,我必须在Attach模式下再次运行VSCode,并提供进程名称以便工作:

{
    "name": ".NET Core Attach",
    "type": "coreclr",
    "request": "attach",
    "processName": "dotnet"
}

我在这里尝试完成的是编写一个扩展程序,它将使用omnisharp的调试适配器执行并附加到进程。这相当于&#34;发布&#34; +&#34; .NET Core Attach&#34; (一次性调用,无需停止VSCode挂钩到目标进程)。

到目前为止,扩展名(typescript)正在执行此操作:

vscode.commands.executeCommand("workbench.action.debug.start").then((s)=>{               
           vscode.window.showInformationMessage("Trying to attach...");
           //attach to dotnet.exe process
        },(err)=>{                
           vscode.window.showErrorMessage(err); 
        });   

我错过了那里对进程部分的附加:/所以除了启动进程之外,还有一种方法可以将扩展附加到它吗?

感谢。

0 个答案:

没有答案