示例:扩展代码可以非常简单地确定editor.formatOnSave
的值。但是从我可以告诉并尝试的内容来看,现在几乎不可能查询当前文档/编辑器该设置是否有效就在那里,现在。对于[language]
特定的子部分,它可以为Go启用,但对其他部分禁用,例如---反之亦然。而“某些”(即我的)扩展可能“需要”(即想要)了解它!
答案 0 :(得分:1)
如果您尝试使用记录的getConfiguration("language").get("setting")
,那么它将无法正常工作。但是有一个解决方法可以访问您想要的内容。
假设您要为editor.formatOnSave
文件加载markdown
。如果您查看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。