Skip to content
Ling edited this page Jul 7, 2026 · 6 revisions

PCL 插件开发 Wiki

这里是 PCL 插件开发文档的 Wiki 版,面向公开插件作者。文档以插件作者的常见路径组织:先跑通最小插件,再补齐包结构、能力声明、宿主 API、扩展点和发布安装流程。

如果你正在查找启动器使用教程、故障排除或个性化配置,请优先阅读 PCL CE 帮助文档。本 Wiki 只覆盖插件开发相关内容。

快捷访问

文档分区

分区 内容
入门 最小 C# 插件、插件包结构、JS 插件入口
契约 plugin.json、能力声明、SDK 版本和兼容范围
API 核心提示、配置、事件、UI、CLI、URI Action 等宿主能力
扩展点 通用扩展点和联机扩展点的注册方式
发布维护 构建、打包、安装、调试、安全与兼容性建议

推荐阅读顺序

  1. 快速开始
  2. 插件包结构
  3. C# DLL 插件
  4. JavaScript 插件
  5. Manifest 与能力声明
  6. 宿主 API
  7. 通用扩展点
  8. 联机扩展点
  9. 构建、打包与安装
  10. 调试、安全与兼容性
  11. 常见问题

两种插件形态

PCL 当前支持两类插件:

类型 入口 适合场景
C# DLL 插件 .dll + IPclPlugin UI 扩展、工具页、设置页、长期维护的复杂插件
JavaScript 插件 main.js 快速脚本、轻量 UI、原型验证、简单自动化

C# 插件引用 NuGet.org 上的 SDK 包:

<PackageReference Include="PlainCraftLauncher.Plugin.Abstractions" Version="1.1.0" ExcludeAssets="runtime" />

包地址:https://www.nuget.org/packages/PlainCraftLauncher.Plugin.Abstractions/1.1.0

注意:NuGet 包 ID 是 PlainCraftLauncher.Plugin.Abstractions,但它提供的程序集和命名空间仍是 PCL.Plugin.Abstractions

基本原则

  • 插件包必须包含 plugin.json
  • DLL 插件入口类实现 IPclPlugin,通常也标记 [Plugin(...)]
  • JS 插件入口脚本实现全局 load(ctx),可选实现 unload()
  • 插件只能使用自己在 manifest 中声明过的能力。
  • 所有注册项都应在卸载时释放;JS facade 注册项会由宿主自动跟踪,手动注册的对象仍应注意释放。
  • 公开插件应依赖 SDK 包,不要直接引用启动器内部项目。

相关文档

Clone this wiki locally