diff --git a/extensions/typescript-language-features/package.json b/extensions/typescript-language-features/package.json index 2c9f2623f0160..a17a4120a7c85 100644 --- a/extensions/typescript-language-features/package.json +++ b/extensions/typescript-language-features/package.json @@ -44,6 +44,12 @@ ], "main": "./out/extension", "contributes": { + "jsonValidation": [ + { + "fileMatch": "package.json", + "url": "./schemas/package.schema.json" + } + ], "configuration": { "type": "object", "title": "%configuration.typescript%", diff --git a/extensions/typescript-language-features/schemas/package.schema.json b/extensions/typescript-language-features/schemas/package.schema.json new file mode 100644 index 0000000000000..f174a276c0ec2 --- /dev/null +++ b/extensions/typescript-language-features/schemas/package.schema.json @@ -0,0 +1,26 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "TypeScript contributions to package.json", + "type": "object", + "properties": { + "contributes": { + "type": "object", + "properties": { + "typescriptServerPlugins": { + "type": "array", + "description": "Contributed TypeScript server plugins.", + "items": { + "type": "object", + "description": "TypeScript server plugin.typescriptServerPlugins", + "properties": { + "name": { + "type": "string", + "description": "The name of the plugin as listed in the package.json." + } + } + } + } + } + } + } +} \ No newline at end of file