-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Ling edited this page Jul 7, 2026
·
6 revisions
这里是 PCL 插件开发文档的 Wiki 版,面向公开插件作者。文档以插件作者的常见路径组织:先跑通最小插件,再补齐包结构、能力声明、宿主 API、扩展点和发布安装流程。
如果你正在查找启动器使用教程、故障排除或个性化配置,请优先阅读 PCL CE 帮助文档。本 Wiki 只覆盖插件开发相关内容。
- 第一次写插件:快速开始
- 准备发布插件:构建、打包与安装
- 不确定 manifest 怎么写:Manifest 与能力声明
- 需要注册工具页、设置页或事件:宿主 API
- 遇到加载失败或 API 为 null:常见问题
| 分区 | 内容 |
|---|---|
| 入门 | 最小 C# 插件、插件包结构、JS 插件入口 |
| 契约 |
plugin.json、能力声明、SDK 版本和兼容范围 |
| API | 核心提示、配置、事件、UI、CLI、URI Action 等宿主能力 |
| 扩展点 | 通用扩展点和联机扩展点的注册方式 |
| 发布维护 | 构建、打包、安装、调试、安全与兼容性建议 |
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 包,不要直接引用启动器内部项目。
- PCL CE 帮助文档:启动器使用、功能说明、个性化、故障排除和贡献说明。
- PCL2-Nex 仓库:启动器源码、Issue 与 Release。
- SDK NuGet 包:公开插件 SDK 包。