【问题标题】:(How) can a VS Code extension access [language]-specific `settings.json` sub-section values?(如何)VS Code 扩展可以访问 [language]-specific `settings.json` 子部分的值吗?
【发布时间】:2017-04-01 16:47:56
【问题描述】:

示例:扩展代码可以非常简单地确定editor.formatOnSave 的值。但据我所知并尝试过,似乎几乎不可能查询当前文档/编辑器该设置是否有效现在。对于 [language]-specific 子部分,它可以为 Go 启用,但对其他人禁用,例如 --- 反之亦然。而“一些”(即我的)扩展可能“需要”(即想要)知道它!

【问题讨论】:

    标签: visual-studio-code vscode-extensions vscode-settings


    【解决方案1】:

    如果您尝试使用记录在案的getConfiguration("language").get("setting"),它将无法正常工作。但是有一个 解决方法 可以访问您想要的内容。

    假设您要为markdown 文件加载editor.formatOnSave。如果你查看User Settings,你会看到它是这样存储的:

    ["markdown"]: {
        "editor.wordWrap": "wordWrapColumn",
        "editor.formatOnSave": true
    }
    

    您只需加载配置对象并访问所需的属性,如下所示:

    let markdownObject = vscode.workspace.getConfiguration("[markdown]");
    if (markdownObject["editor.formatOnSave"]) {
        console.log("[markdown].editor.formatOnSave is TRUE");
    }
    

    请务必注意,您必须使用[markdown](在括号之间),因为它在JSON 文件中是这样表示的。

    另请注意,此解决方法不会让您访问未被覆盖的语言设置。在这种情况下,您必须使用/组合记录在案的 API。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-06
      • 2018-10-21
      • 2021-04-30
      • 1970-01-01
      • 1970-01-01
      • 2021-03-23
      • 2019-08-21
      相关资源
      最近更新 更多