开发者手册
欢迎查阅 Lertaro 开发者参考手册。Lertaro 采用解耦架构与开放的插件生态,提供官方 SDK 程序集 Lertaro.PluginSdk。开发者可以通过引用该 SDK,为 Lertaro 贡献自定义搜索源、扩展右键上下文动作、适配第三方文件管理器与原生对话框,或者定制主题与文件预览组件。
1. 架构与开发流程
- 系统架构设计 —— 详解 SYSTEM 级 Windows 索引服务、用户态 WPF 交互进程与独立键盘钩子进程的三进程隔离模型与命名管道 IPC 通信机制。
- 快速上手指南 —— 从零创建插件类库工程、引用 SDK、实现
IPlugin入口以及本地调试的最佳实践。 - 打包与分发 —— 插件程序集目录结构规范、第三方托管/原生依赖库打包、多语言 JSON 资源内嵌与 PostBuild 自动部署。
- 官方插件范例 —— 剖析随包开源的
CoreExtensions、PinyinAlias、FlowLauncherBridge与FileUnlocker等真实插件的实现代码。
2. 插件 SDK 接口参考
| SDK 模块分类 | 核心接口与服务 | 关键功能说明 |
|---|---|---|
| 核心检索与动作 | ISearchableItemProviderIInstantResultProviderIAliasProviderIQueryTokenProviderISearchResultActionIDynamicActionProvider | 贡献静态索引源、高频即时计算答案、非 ASCII 别名转写引擎、尾部 Token 后缀处理器以及静态/动态上下文动作菜单。 |
| 系统与对话框适配 | IActivePathCollectorIFileDialogAdapterIInlineSearchAdapterIQuickNavigationProvider | 探测前台管理器活动目录、挂载原生文件对话框、内嵌搜索条并双向同步选中状态、贡献鼠标快速导航菜单。 |
| 界面与预览扩展 | ISidebarFilterProviderIResultColumnProviderIQuickPanelTabProviderICalendarTextProviderIFilePreviewProviderIThumbnailProviderIThemeProviderITranslationProvider | 扩展侧边栏筛选分类、表格视图自定义列、快速面板动态工作区标签、搜索窗口时钟行的日期文字、QuickLook 自定义渲染器与缩略图提取、WPF 资源字典主题包与多语言 i18n。 |
| 共享抽象契约 | ISearchResultFileMetadataIPluginSearchWindowIConfigurable | 检索结果只读数据契约、纳秒级文件时间戳与大小元数据、宿主窗口安全控制句柄与基于模式驱动的原生配置表单。 |
| 宿主开放服务 | FuzzyMatchServiceTranslationServiceIconServiceFavoritesServiceHistoryServiceFileMetadataServiceDirectoryIndexerServiceMemoryMaintenanceServiceRecentFilesServiceExplorerPathServicePluginSettingsServiceSettingsSearchServiceSettingsWindowServiceSearchRefreshServiceUserDataServiceLogger | 宿主暴露的高性能基础设施:fzf 模糊匹配与高亮掩码、多语言解析、带缓存图标提取、收藏管理与历史读取、后台目录索引代理、延迟内存维护、用户数据目录隔离及 Shell 原生文件操作。 |
| 通知 | PluginNotificationServiceNotificationRequestINotificationHandleNotificationLevelNotificationPositionNotificationResultNotificationFailure | 通过宿主自己的窗口在后台获得用户注意:右下角的卡片堆或底部居中的一行提示、由宿主裁剪的时长、按 Id 替换、按插件计数的上限,以及一定会完成的结束任务。 |
NOTE
本手册各页的接口签名、成员名称、默认值与参数顺序均直接读取自 Lertaro.PluginSdk 源码。若某页同时描述了宿主对插件调用的反应,该句只是对当前行为的说明,并非插件可以依赖的契约。