Skip to content

加载与调试插件

理解插件如何被加载有助于调试:

  1. 放置插件: 将你开发和打包好的插件文件夹(确保包含 plugin.jsondist/ 目录及里面的 index.js、可选的 index.css)完整地复制到思源工作空间下的 data/plugins/ 目录中。
  2. 后端处理: 当思源启动或你启用插件时,前端会请求后端 API /api/petal/loadPetals。思源后端服务会执行以下操作:
    • 读取 data/storage/petal/petals.json 确认哪些插件是启用的。
    • 对于启用的插件,读取其目录下的 plugin.json 获取元数据。
    • 直接读取 dist/index.js 文件的全部内容
    • 如果 dist/index.css 文件存在,直接读取全部内容
    • 读取 i18n/ 下的语言文件内容。
    • 将插件的元数据、完整的 JS 代码字符串、CSS 代码字符串和 i18n 数据打包,通过 API 返回给前端。
    • (注意:虽然我们已确认后端会返回 JS/CSS,但链接的后端 API 文档 /kernel-api/petal/loadPetals.md 可能尚未更新以反映这一点)
  3. 前端执行: 前端接收到数据后:
    • 使用 eval 执行后端传来的 JS 代码字符串。这会实例化你的插件类并调用 onload()
    • 将后端传来的 CSS 代码字符串 注入到页面样式中。
  4. 布局就绪: 当界面布局完成后,前端会调用插件的 onLayoutReady() 方法,并将之前注册的顶栏、状态栏、Dock 等 UI 元素显示出来。

调试步骤:

  1. 开启开发者模式: 在思源的设置中找到“集市”相关选项,开启“开发者模式”。
  2. 修改与重载: 修改插件代码后,你需要重新编译打包(更新 dist/ 目录下的文件),然后在思源的插件设置里禁用再重新启用你的插件,或者直接重启思源,才能加载最新的代码。
  3. 开发者工具: 在思源界面右下角找到菜单按钮 (通常是一个问号 ? 图标),点击后选择 “开发者工具” 来打开。利用 Console 查看日志和错误,利用 Sources 设置断点调试 (需要配置好 Source Maps)。