我正在为我的编程语言编写一个vscode调试适配器,但是还没有弄清楚如何将配置选项传递给调试适配器。
为了帮助我。您能解释以下荒谬的例子吗?我只是在阐明我要实现的目标。
如何传递变量,例如“ css.lint.zeroUnits”,“ explorer.openEditors.visible”,“ workbench.editor.showTabs”
对于调试适配器,以便它在启动时可以读取它们,请使用如下所示的调试适配器:https://github.com/Microsoft/vscode-mock-debug/blob/master/src/mockDebug.ts
我想传递的配置变量很少,它们都是由我的扩展包以及调试适配器定义的。
如果实现resolveDebugConfiguration
,则可以将附加字段附加到resolveDebugConfiguration
字段,该字段将传递给args
/ launchRequest
。我们将它用于很多事情attachRequest
,以通过以下方式传递设置和事情:
in the Dart extension
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);
字段中的这些can be read(您可以使用该接口来确保字段在两侧匹配):
args