从调试适配器调用VSCode附加到自身

时间:2018-08-17 20:15:44

标签: debugging visual-studio-code vscode-extensions vscode-debugger

长版: 我正在一个C#项目中,该项目虚拟化/仿真另一种语言的代码(我们将其称为语言B)。我想将VSCode调试适配器服务器构建到C#框架中,以便每当我们虚拟化语言B的执行时,我都可以暂停线程,并为其处理所有调试适配器的通信/任务。

因为C#是切入点,所以我需要我的VSCode扩展来“附加”到正在运行的C#进程,而不是“启动”一个新的C#进程。 (特别是因为我仍然希望能够单独调试C#)。理想情况下,我希望C#项目在第一个虚拟调用上启动一个新的VSCode实例,并初始化与其自身的连接(C#项目),以便它可以为VSCode提供针对虚拟化代码的调试适配器服务(语言B) )。

此问题是:我看到我可以在package.json中使用“ debugServer”属性来指定服务器端口以处理调试适配器命令。但是因为我可以同时运行多个程序实例,所以它们必须具有不同的端口。我可以通过VSCode的启动参数使用户定义端口吗?还是我该如何做才能使C#项目启动在这种情况下附加到自身的VSCode实例?

如果由于某种原因我的方法不能从根本上解决问题,请告诉我原因,以及下一个最佳选择。我希望避免让用户手动启动VSCode,打开适当的文件夹,附加到适当的端口等。

简短版本:我可以让程序调试启动VSCode实例并尝试附加到该程序,而不是启动VSCode或附加到要调试的程序(VSCode调用调试适配器)。本身(调用VSCode的调试适配器)?这样,我可以将调试适配器直接构建到要调试的程序中,而当我运行它时,我不需要停止并等待用户手动附加VSCode实例吗?

0 个答案:

没有答案