如何配置VS代码以在.json文件上启用代码完成(jsonschema支持)?

问题描述 投票:8回答:3

Visual Stuido Code demo分钟28:57-29:20和30:20-31:10中,显示了一些很酷的JSON代码完成。

在哪里以及如何将JSON文件的架构添加到项目中?

VS Code如何知道给定的.json文件使用哪个模式?

json jsonschema visual-studio-code
3个回答
9
投票

JSON模式与文件的关联在属性“json.schemas”下的设置(文件,首选项,用户设置或工作区设置)中完成。

这是一个如何将bower的JSON模式与bower模式相关联的示例。

"json.schemas": [
    {
        "fileMatch": [
            "/bower.json",
            "/.bower.json"
        ],
        "url": "http://json.schemastore.org/bower"
    },
    ...

您还可以使用工作区中的模式或在设置本身中定义模式。查看https://code.visualstudio.com/docs/languages/json的示例。


2
投票

我让VS Code使用JSON模式的三种方法是......

对于类似于...... http://json.schemastore.org的Azure Function模式的东西

"json.schemas": [
  {
    "fileMatch": [
      "/function.json"
    ],
    "url": "http://json.schemastore.org/function"
  }
]
  1. 在“用户设置”中,即作为'C:\ Users \\ AppData \ Roaming \ Code \ User'中用户settings.json中的元素
  2. 在“工作区设置”中,然后在.code-workspace文件中的“settings”部分...假设您使用的是VS Code Workspace
  3. 在“文件夹设置”中,它是settings.json中的“settings”部分,位于.vscode目录中...假设您使用的是VS Code Workspace

文件夹优先于Workspace和Workspace over User

工作区和文件夹使用相对路径,例如在.code-workspace文件中......

"settings": {
  "json.schemas": [
    {
      "fileMatch": [
        "/task.json"
      ],
      "url": "./schema/tasks.schema.json"
    }
  ]
}

或者在settings.json的文件夹设置\.vscode\中...

"json.schemas": [
  {
    "fileMatch": [
      "/task.json"
    ],
    "url": "./schema/tasks.schema.json"
  }
]

0
投票

您可以在$ schema节点中引用您的JSON Schema,并立即在VS Code中获取您的智能感知。无需在其他地方配置。

例如,

{“$ schema”:“http://json.schemastore.org/coffeelint”,“line_endings”:“unix”}

© www.soinside.com 2019 - 2024. All rights reserved.