You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何禁用Visual Studio Code中预定义的project.json与.NET Core JSON Schema关联,仅保留自定义Schema

解决VS Code中project.json默认.NET Core Schema与自定义Schema冲突的问题

我完全理解你遇到的困扰——明明配置了自定义Schema,VS Code却还是把默认的.NET Core project.json Schema和你的自定义规则混在一起,导致提示和自动补全乱成一团。下面是直接有效的解决方法:

核心修复:禁用默认Schema关联

在你的自定义Schema配置里添加"disableDefaultSchemas": true属性,这个设置会告诉VS Code:对于匹配fileMatch规则的文件,只加载你指定的自定义Schema,彻底忽略所有默认关联的Schema

修改后的.vscode/settings.json完整配置如下:

{
  "json.schemas": [
    {
      "fileMatch": [ "data/projects/list/*/project.json" ],
      "url": "./.vscode/schemas/project.json",
      "disableDefaultSchemas": true
    }
  ]
}

验证步骤

  1. 保存修改后的settings.json文件
  2. 打开命令面板(快捷键Ctrl+Shift+PCmd+Shift+P),执行Reload Window命令重启VS Code窗口
  3. 打开目标project.json文件,悬停在开头的{符号上,此时应该只会显示你的自定义Schema提示,不再出现.NET Core相关的内容

为什么会出现混合提示?

VS Code的JSON Schema匹配逻辑是:如果多个Schema的fileMatch规则都命中当前文件,就会合并所有Schema的属性提示。默认的.NET Core project.json Schema通常匹配所有名为project.json的文件,而你的自定义Schema虽然路径匹配更精准,但VS Code依然会同时加载两者,导致属性混合。添加disableDefaultSchemas后,就会覆盖这个默认行为,只保留你的自定义规则。

内容的提问来源于stack exchange,提问作者CMTV

火山引擎 最新活动