是否有用于 VS-Code 扩展的官方 package.json 架构?我查看了扩展 API 文档,它们向您指出了 NPM 包方案,但它并不具有文档中描述的所有相同字段。例如,文档中定义了
extensionDependencies
,但 NPM 包方案中没有定义。
https://code.visualstudio.com/api/references/extension-manifest
您可以在 GitHub 上的项目源代码中找到 VSCode 扩展清单的类型/接口定义。
它是在 TypeScript 中定义的,而不是 JSON Schema,但仍然非常方便。
IRelaxedExtensionManifest 似乎是根定义:
export interface IRelaxedExtensionManifest {
name: string;
displayName?: string;
publisher: string;
version: string;
engines: { readonly vscode: string };
description?: string;
main?: string;
browser?: string;
preview?: boolean;
// For now this only supports pointing to l10n bundle files
// but it will be used for package.l10n.json files in the future
l10n?: string;
icon?: string;
categories?: string[];
keywords?: string[];
activationEvents?: string[];
extensionDependencies?: string[];
extensionPack?: string[];
extensionKind?: ExtensionKind | ExtensionKind[];
contributes?: IExtensionContributions;
repository?: { url: string };
bugs?: { url: string };
enabledApiProposals?: readonly string[];
api?: string;
scripts?: { [key: string]: string };
capabilities?: IExtensionCapabilities;
}
请参阅同一文件以了解其余键的类型:
https://github.com/microsoft/vscode/blob/main/src/vs/platform/extensions/common/extensions.ts