#json #typescript #visual-studio-code
Вопрос:
Мне нужно написать много объектов схемы JSON для проектов, над которыми я работаю. Эти объекты схемы JSON записываются в файлы машинописного текста и экспортируются с помощью экспорта по умолчанию (что в моей ситуации очень разумно, но эти точные причины не имеют значения для этого вопроса). Например, очень маленький файл схемы JSON будет выглядеть следующим образом:
export default {
type: 'object'
}
Одним из недостатков использования файлов TypeScript поверх файлов, заканчивающихся на .schema.json
, является то, что VSCode не обеспечивает завершения кода для схемы JSON в файле TypeScript. Однако это можно обойти, используя json-схему пакета и явно введя экспортированный объект следующим образом:
import { JSONSchema7 } from 'json-schema';
export default {
type: 'object'
} as JSONSchema7;
Недостатком этого подхода является то, что он несколько утомителен. Было бы здорово, если бы VSCode просто знал, что каждый экспорт по умолчанию каждого .schema.ts
файла должен иметь тип схемы JSON сверху.
Я знаю, что это теоретически возможно, потому что аналогичная вещь была сделана для *.vue
файлов. Мне также нужно будет создать расширение VSCode, такое как Vetur для Vue, или есть какой-то встроенный способ сделать это.
Также, пожалуйста, обратите внимание, что, хотя фрагмент возможен, я бы предпочел не использовать его в этом случае.