Как я могу ввести файл JSON с помощью TypeScript для VSCode?

В проекте Node/TypeScript, если я редактирую файл tsconfig.json или package.json с помощью VSCode, я получаю некоторую полезную информацию от редактора, которую он получает от TypeScript. Итак, я предполагаю, что где-то была создана ассоциация между файлом определения .d.ts и каждым из этих файлов, чтобы предоставить эту справку.

Мой вариант использования заключается в том, что у меня есть несколько файлов .json в проекте, которые я должен поддерживать. Эти файлы используются внешними инструментами, поэтому они не могут быть файлами .js или .ts. Чтобы сделать редактирование этих файлов менее подверженным ошибкам, я хотел бы иметь возможность написать связанный файл .d.ts и каким-то образом сообщить редактору, что это файл определения для этого файла .json, а затем получить от него всю помощь редактора.

Как я могу это сделать?

Или где находятся файлы определений tsconfig.json или package.json и как их связывает VSCode?


comment
code.visualstudio.com/docs/languages/   -  person Phix    schedule 13.11.2019
comment
@Phix скопируйте / вставьте соответствующие части этой страницы в качестве ответа, и я отмечу это как ответ. Как раз то, что я искал.   -  person Guy    schedule 13.11.2019


Ответы (1)


VSCode может использовать схемы JSON через ключ $schema в JSON:

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

Обратите внимание, что этот синтаксис специфичен для VS Code и не является частью спецификации схемы JSON. Добавление ключа $schema изменяет сам JSON, чего системы, использующие JSON, могут не ожидать, например, может произойти сбой проверки схемы.

Вы также можете определить структуру в настройках:

"json.schemas": [
    {
        "fileMatch": [
            "/.myconfig"
        ],
        "schema": {
            "type": "object",
            "properties": {
                "name" : {
                    "type": "string",
                    "description": "The name of the entry"
                }
            }
        }
    }
]

документы VSCode

person Phix    schedule 13.11.2019