示例:扩展代码可以非常简单地确定editor.formatOnSave
的值。但是从我所知道和尝试过的情况来看,现在似乎几乎不可能查询当前文档/编辑器是否有效。对于特定于[language]
的小节,它可以为 Go 启用,但对其他人禁用,例如---反之亦然。而"一些"(即我的(扩展可能"需要"(即想要(知道它!
如果您尝试使用记录的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。