Visual studio code 如何将用户设置传递给调试适配器?
我正在为我的编程语言编写一个vscode调试适配器,但还不知道如何将配置选项传递给调试适配器 来帮我。你能解释一下如何做下面这个荒谬的例子吗?我只是想明确我想要达到的目标 我应该如何传递变量,例如“css.lint.zeroUnits”、“explorer.openEditors.visible”、“workbench.editor.showtab” 安装到调试适配器,以便它可以在启动时读取它们,调试适配器,例如: 我想传递少量配置变量,它们都是由我的扩展包沿着调试适配器定义的。如果实现,可以将附加字段附加到Visual studio code 如何将用户设置传递给调试适配器?,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我正在为我的编程语言编写一个vscode调试适配器,但还不知道如何将配置选项传递给调试适配器 来帮我。你能解释一下如何做下面这个荒谬的例子吗?我只是想明确我想要达到的目标 我应该如何传递变量,例如“css.lint.zeroUnits”、“explorer.openEditors.visible”、“workbench.editor.showtab” 安装到调试适配器,以便它可以在启动时读取它们,调试适配器,例如: 我想传递少量配置变量,它们都是由我的扩展包沿着调试适配器定义的。如果实现,可以将
args
字段,该字段被传递到launchRequest
/attachRequest
。我们在很多情况下都使用它来传递设置和内容:
debugConfig.type = debugConfig.type || "dart";
debugConfig.request = debugConfig.request || "launch";
debugConfig.cwd = debugConfig.cwd || (folder && fsPath(folder.uri));
debugConfig.args = debugConfig.args || [];
debugConfig.vmAdditionalArgs = debugConfig.vmAdditionalArgs || conf.vmAdditionalArgs;
debugConfig.vmServicePort = debugConfig.vmServicePort || (isChromeOS && config.useKnownChromeOSPorts ? CHROME_OS_VM_SERVICE_PORT : 0);
debugConfig.dartPath = debugConfig.dartPath || path.join(this.sdks.dart!, dartVMPath);
这些字段来自args
字段(您可以使用接口确保字段在两侧匹配):
我想您已经知道了如何将简单类型传递给调试适配器(通过一个自定义的
DebugConfigurationProvider
实例),它出现在调试适配器中launchRequest
或attachRequest
的args
参数中。不幸的是,这不适用于对象或函数。
protected launchRequest(response: DebugProtocol.LaunchResponse, args: DartLaunchRequestArguments): void {
if (!args || !args.dartPath || (this.requiresProgram && !args.program)) {