Manifest
声明用于申请能力,宿主负责校验和授权。apiVersion 是包协议版本,requires.pluginApi 是宿主 API 最低版本。access 默认为 read。Background 要求 Lite API 3.4,模板要求 3.2,hooks 要求 3.3,文件属性和目录树要求 3.1。
签名、参数及返回类型从 SDK 自动生成;可选成员不保证在每个宿主和上下文中存在。
PluginManifest
Section titled “PluginManifest”PluginManifest.apiVersion
Section titled “PluginManifest.apiVersion”apiVersion: 1;PluginManifest.kind
Section titled “PluginManifest.kind”kind?: "theme";PluginManifest.id
Section titled “PluginManifest.id”id: string;PluginManifest.name
Section titled “PluginManifest.name”name: string;PluginManifest.description
Section titled “PluginManifest.description”可选的非空单行纯文本,最多 1024 个 UTF-16 代码单元。
description?: string;PluginManifest.version
Section titled “PluginManifest.version”version: string;PluginManifest.i18n
Section titled “PluginManifest.i18n”i18n?: { defaultLocale: string; messages: Record<string, string>; readme?: Record<string, string>;};PluginManifest.requires
Section titled “PluginManifest.requires”requires?: { pluginApi: string;};PluginManifest.icon
Section titled “PluginManifest.icon”icon?: PluginIconDefinition;PluginManifest.extension
Section titled “PluginManifest.extension”extension?: string;PluginManifest.background
Section titled “PluginManifest.background”独立的 Worker 风格入口。network: true 经授权允许公网 HTTPS/WSS,可用最多八个精确 networkOrigins 收窄。bluetooth: true 授权选中设备,可用服务白名单限制。设备 ID 由宿主选择。API 3.6 支持 autoStart: true,经授权随 Space 打开自动启动;fileHistory: true 监听所属窗口和 Space 的文件打开元数据,不授予文件内容。
background?: { entry: string; network?: true; networkOrigins?: string[]; bluetooth?: true | { services: BluetoothServicePermission[]; }; fileHistory?: true; autoStart?: true;};PluginManifest.views
Section titled “PluginManifest.views”views?: ViewDeclaration[];PluginManifest.fileTemplates
Section titled “PluginManifest.fileTemplates”静态 UTF-8 模板,每个最多 256 KiB。引用的 document View 必须有匹配的 file/open 挂载声明。
fileTemplates?: FileTemplateDeclaration[];PluginManifest.actions
Section titled “PluginManifest.actions”actions?: ActionDeclaration[];PluginManifest.formatters
Section titled “PluginManifest.formatters”formatters?: FormatterDeclaration[];PluginManifest.hooks
Section titled “PluginManifest.hooks”hooks?: FileHookDeclaration[];PluginManifest.placements
Section titled “PluginManifest.placements”placements?: Placement[];PluginManifest.settings
Section titled “PluginManifest.settings”settings?: Record<string, SettingDeclaration>;PluginManifest.browser
Section titled “PluginManifest.browser”browser?: { workers?: boolean; network?: true; networkOrigins?: string[];};PluginManifest.storage
Section titled “PluginManifest.storage”storage?: { maxBytes: number;};PluginManifest.workspace
Section titled “PluginManifest.workspace”workspace?: { files?: boolean | { read?: boolean; write?: boolean; }; filemeta?: { namespaces: string[]; write?: boolean; };};PluginManifest.connections
Section titled “PluginManifest.connections”connections?: Record<string, { title: string; url: string; configurable?: boolean;}>;PluginManifest.theme
Section titled “PluginManifest.theme”theme?: ThemeDeclaration;关联类型: PluginIconDefinition, BluetoothServicePermission, ViewDeclaration, FileTemplateDeclaration, ActionDeclaration, FormatterDeclaration, FileHookDeclaration, Placement, SettingDeclaration, ThemeDeclaration.
ThemeDeclaration
Section titled “ThemeDeclaration”ThemeDeclaration.stylesheet
Section titled “ThemeDeclaration.stylesheet”stylesheet: string;FileTemplateDeclaration
Section titled “FileTemplateDeclaration”FileTemplateDeclaration.id
Section titled “FileTemplateDeclaration.id”id: string;FileTemplateDeclaration.title
Section titled “FileTemplateDeclaration.title”title: string;FileTemplateDeclaration.extension
Section titled “FileTemplateDeclaration.extension”extension: string;FileTemplateDeclaration.view
Section titled “FileTemplateDeclaration.view”view: string;FileTemplateDeclaration.content
Section titled “FileTemplateDeclaration.content”content: string;ViewDeclaration
Section titled “ViewDeclaration”ViewDeclaration.id
Section titled “ViewDeclaration.id”id: string;ViewDeclaration.title
Section titled “ViewDeclaration.title”title: string;ViewDeclaration.entry
Section titled “ViewDeclaration.entry”entry: string;ViewDeclaration.kind
Section titled “ViewDeclaration.kind”kind: "page" | "file";ViewDeclaration.capabilities
Section titled “ViewDeclaration.capabilities”capabilities?: ViewCapability[];ViewDeclaration.access
Section titled “ViewDeclaration.access”access?: "read" | "write";ViewDeclaration.configuration
Section titled “ViewDeclaration.configuration”configuration?: ViewConfiguration;ViewDeclaration.icon
Section titled “ViewDeclaration.icon”icon?: PluginIconDefinition;关联类型: ViewCapability, ViewConfiguration, PluginIconDefinition.
ViewConfiguration
Section titled “ViewConfiguration”ViewConfiguration.type
Section titled “ViewConfiguration.type”type: "object";ViewConfiguration.properties
Section titled “ViewConfiguration.properties”properties: Record<string, SettingDeclaration & { "x-field"?: true;}>;关联类型: SettingDeclaration.
ActionDeclaration
Section titled “ActionDeclaration”ActionDeclaration.id
Section titled “ActionDeclaration.id”id: string;ActionDeclaration.title
Section titled “ActionDeclaration.title”title: string;ActionDeclaration.context
Section titled “ActionDeclaration.context”context: "workspace" | "file" | "document" | "table";ActionDeclaration.access
Section titled “ActionDeclaration.access”access?: "read" | "write";ActionDeclaration.extensions
Section titled “ActionDeclaration.extensions”extensions?: string[];ActionDeclaration.icon
Section titled “ActionDeclaration.icon”icon?: PluginIconDefinition;关联类型: PluginIconDefinition.
FormatterDeclaration
Section titled “FormatterDeclaration”FormatterDeclaration.id
Section titled “FormatterDeclaration.id”id: string;FormatterDeclaration.title
Section titled “FormatterDeclaration.title”title: string;FormatterDeclaration.extensions
Section titled “FormatterDeclaration.extensions”extensions: string[];FileHookDeclaration
Section titled “FileHookDeclaration”FileHookDeclaration.id
Section titled “FileHookDeclaration.id”id: string;FileHookDeclaration.title
Section titled “FileHookDeclaration.title”title: string;FileHookDeclaration.event
Section titled “FileHookDeclaration.event”event: FileHookEventType;FileHookDeclaration.extensions
Section titled “FileHookDeclaration.extensions”extensions: string[];FileHookDeclaration.access
Section titled “FileHookDeclaration.access”access?: "read" | "write";关联类型: FileHookEventType.
Placement
Section titled “Placement”export type Placement = { location: "plugin/settings"; view: string;} | { location: "navigation"; view: string;} | { location: "sidebar/explorer"; view: string;} | { location: "file/open"; view: string; extensions: string[];} | { location: "table/view"; view: string;} | { location: "command-palette"; action: string;} | { location: "file/context"; action: string;} | { location: "table/context"; action: string;} | { location: "view/toolbar"; action: string; view: string;} | { location: "keybinding"; action: string; key: string; mac?: string; linux?: string;};BluetoothServicePermission
Section titled “BluetoothServicePermission”BluetoothServicePermission.uuid
Section titled “BluetoothServicePermission.uuid”uuid: string;BluetoothServicePermission.read
Section titled “BluetoothServicePermission.read”read?: boolean;BluetoothServicePermission.write
Section titled “BluetoothServicePermission.write”write?: boolean;BluetoothServicePermission.notify
Section titled “BluetoothServicePermission.notify”notify?: boolean;SettingDeclaration
Section titled “SettingDeclaration”export type SettingDeclaration = { title: string; description?: string;} & ({ type: "boolean"; default: boolean;} | { type: "string"; default: string; enum?: string[];} | { type: "number"; default: number; minimum?: number; maximum?: number;});