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

时间:2015-05-05 15:06:59

标签: json jsonschema visual-studio-code

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

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

VS Code如何知道给定.json文件使用哪种架构?

3 个答案:

答案 0 :(得分: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以获取示例。

答案 1 :(得分:1)

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

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

"json.schemas": [
  {
    "fileMatch": [
      "/function.json"
    ],
    "url": "http://json.schemastore.org/function"
  }
]
  1. 用户设置” 中,即作为“ C:\ Users \\ AppData \ Roaming \ Code \ User”中用户settings.json的元素

  2. “工作区设置” 中,然后在.code-workspace文件的“设置”部分中... 假设您使用的是VS代码工作区

  3. “文件夹设置” 中,它是settings.json中的“设置”部分,位于.vscode目录中... 假定您正在使用VS Code工作区

文件夹优先于工作区,工作区优先于用户

并且工作区和文件夹使用相对路径,例如在.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"
  }
]

答案 2 :(得分:1)

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

例如,

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