我已经阅读了VS代码API的在线docuemntation和源代码,但我仍然不清楚如何阅读JSON用户设置和工作区设置。我试图寻找示例,但我找不到只显示如何执行此操作的内容。
本质上我想要一个名为" maximum"的设置中的值。我想要从TS scrypt中读取最大值。
文档让我在activate函数中写下以下两行:
const config = vscode.workspace.getConfiguration('extension', vscode.window.activeTextEditor.document.uri);
vscode.window.showInformationMessage(config.has('configuration').toString());
在package.json文件中,我添加了,在contrib下:
"configuration": {
"maximum":
{
"type": ["integer"],
"default": 40,
"description": "The level of alignment, how far the titles will extend horizontally"
}
}
但是我输错了。
我尝试了多种不同的输出,唯一一次我得到的是第一个函数的参数是' launch'第二个参数是'配置'。
我确实从文档中了解了需要参数的内容。也不应该指定值。
答案 0 :(得分:1)
您获得False
作为输出,因为package.json中的配置关键字仅指示您的扩展程序的configuration contribution点。
我建议你根据自己的需要采用vscode示例:
"contributes": {
"configuration": {
"type": "object",
"title": "This is my config",
"properties": {
"myExtensionName.maximum": {
"type": "integer",
"default": 40,
"description": "The level of alignment, how far the titles will extend horizontally."
}
}
}
}
现在,如果您运行以下内容,则应该返回true
:
const config = vscode.workspace.getConfiguration('myExtensionName');
vscode.window.showInformationMessage(config.has('maximum').toString());
我认为您无法单独获取工作区和用户设置,因为vscode的模式是工作区设置覆盖用户设置。
来自docs:
VS Code为设置提供了两种不同的范围:
- 用户设置 - 全局应用于您打开的任何VS代码实例的设置。
- 工作区设置 - 存储在工作区内的设置,仅在打开工作区时应用。
工作区设置会覆盖用户设置。