如何使用 TypeScript for VSCode 输入 JSON 文件?

Guy*_*Guy 5 typescript visual-studio-code typescript-typings typescript-types vscode-settings

在 Node/TypeScript 项目中,如果我正在使用 VSCode编辑tsconfig.jsonpackage.json文件,那么我会得到一些有用的智能感知,这些智能感知是由编辑器提供的,它从 TypeScript 获取。因此,我猜在某个地方,.d.ts定义文件和每个文件之间建立了关联以提供此帮助。

我的用例是.json我必须维护一个项目中的许多文件。这些文件由外部工具使用,因此它们不能是.js.ts文件。为了使编辑这些文件更不容易出错,我希望能够编写一个关联.d.ts文件并以某种方式告诉编辑器这是该文件的定义.json文件,然后从中获取所有编辑器帮助。

我怎么做?

或者,在哪里tsconfig.jsonpackage.json定义文件以及如何VSCode他们交往?

Phi*_*hix 6

VSCode 可以通过 JSON 中的$schema键使用 JSON 模式:

{
  "$schema": "http://json.schemastore.org/coffeelint",
  "line_endings": "unix"
}
Run Code Online (Sandbox Code Playgroud)

请注意,此语法是 VS Code 特定的,而不是 JSON Schema 规范的一部分。添加 $schema 键会更改 JSON 本身,使用 JSON 的系统可能不会预料到,例如,模式验证可能会失败。

您还可以在设置中定义结构:

"json.schemas": [
    {
        "fileMatch": [
            "/.myconfig"
        ],
        "schema": {
            "type": "object",
            "properties": {
                "name" : {
                    "type": "string",
                    "description": "The name of the entry"
                }
            }
        }
    }
]
Run Code Online (Sandbox Code Playgroud)

VSCode 文档