在VSCode中,我尝试将sjson架构添加到我拥有的项目中。我的.vscode/settings.json
文件是这样的:
{
"json.schemas": [
{
"fileMatch": [
"/*.json"
],
"url": "https://path/to/url.json"
}
]
}
```
这样可行,但它目前适用于项目中所有文件夹中的所有.json文件,我不想要。我希望仅适用于根目录中的所有.json文件。我需要在fileMatch
属性中添加什么才能启用此功能?
尝试了以下方法。这些工作,但适用于每个.json文件:
"/*.json"
"*.json"
这些根本不起作用(没有.json文件获取架构):
"${workspaceFolder}/*.json"
"${workspaceFolder}*.json"
"${workspaceFolder}\\*.json"
{}
workspaceRoot
答案 0 :(得分:0)
我遇到了类似的情况,但是我不想添加所有内容在根目录中,而是想添加工作区(根)文件夹的子文件夹中的所有JSON文件。 我使用的解决方案是添加所有JSON,然后排除我不想要的JSON(包括设置文件本身):
{
"json.schemas": [
{
"fileMatch": [
"*.json",
"!/.vscode/settings.json",
"!/Some.json",
"!/SomeOther.json"
],
"url": "/Schema.json"
}
]
}
需要排除的只是少数几个,所以我可以全部命名。
类似的方法可能可以解决原始问题,例如:
{
"fileMatch": [
"*.json",
"!/Folder1/*.json",
"!/Folder2/*.json"
],
}
这里唯一的问题是VS Code似乎不允许文件夹名称使用通配符。因此,不幸的是,使用Glob之类的匹配来排除/*/*.json
或/**/*.json
并没有帮助。