Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 如何将用户设置传递给调试适配器?_Visual Studio Code_Vscode Extensions - Fatal编程技术网

Visual studio code 如何将用户设置传递给调试适配器?

Visual studio code 如何将用户设置传递给调试适配器?,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我正在为我的编程语言编写一个vscode调试适配器,但还不知道如何将配置选项传递给调试适配器 来帮我。你能解释一下如何做下面这个荒谬的例子吗?我只是想明确我想要达到的目标 我应该如何传递变量,例如“css.lint.zeroUnits”、“explorer.openEditors.visible”、“workbench.editor.showtab” 安装到调试适配器,以便它可以在启动时读取它们,调试适配器,例如: 我想传递少量配置变量,它们都是由我的扩展包沿着调试适配器定义的。如果实现,可以将

我正在为我的编程语言编写一个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)) {