Guía de desarrollo
Bienvenido al Manual de referencia para desarrolladores de Lertaro. Diseñado sobre una arquitectura desacoplada y un ecosistema de plugins extensible, Lertaro proporciona un SDK oficial: Lertaro.PluginSdk. Al utilizar este SDK, los desarrolladores pueden aportar fuentes de búsqueda personalizadas, ampliar menús de acciones contextuales, integrarse con exploradores de archivos y cuadros de diálogo nativos, y crear temas o visores de vista previa a medida.
1. Arquitectura y flujo de trabajo
- Arquitectura del sistema —— Explicación del modelo de aislamiento de tres procesos (Servicio de Windows a nivel SYSTEM, App WPF en modo usuario y proceso de interceptación de teclado Hook) y la comunicación IPC por tuberías con nombre.
- Guía de inicio rápido —— Guía paso a paso para crear un proyecto de librería, referenciar el SDK, implementar
IPluginy depurar localmente. - Empaquetado y distribución —— Estructura de carpetas de plugins, inclusión de librerías dependientes administradas y nativas, recursos i18n incrustados y automatización PostBuild.
- Ejemplos de plugins —— Análisis en profundidad del código de los plugins oficiales de código abierto
CoreExtensions,PinyinAliasyFlowLauncherBridge.
2. Referencia de la API del SDK
| Categoría del SDK | Interfaces y servicios principales | Descripción de capacidades |
|---|---|---|
| Búsqueda central y acciones | ISearchableItemProviderIInstantResultProviderIAliasProviderIQueryTokenProviderISearchResultActionIDynamicActionProvider | Aportar elementos indexados, respuestas de cálculo instantáneo, motores de transliteración de alias no ASCII, manejadores de tokens de sufijo y menús de acciones estáticos o dinámicos. |
| Adaptadores de sistema y diálogo | IActivePathCollectorIFileDialogAdapterIInlineSearchAdapterIQuickNavigationProvider | Detectar directorios activos en exploradores, enganchar diálogos nativos de archivos, incrustar la barra de búsqueda con sincronización bidireccional y menús de Navegación rápida. |
| Extensiones de interfaz y vista previa | ISidebarFilterProviderIResultColumnProviderIQuickPanelTabProviderIFilePreviewProviderIThumbnailProviderIThemeProviderITranslationProvider | Categorías de filtro lateral, columnas personalizadas en tablas, pestañas dinámicas en el Panel rápido, renderizadores de vista previa en QuickLook, extracción de miniaturas, temas WPF e idiomas i18n. |
| Abstracciones compartidas | ISearchResultFileMetadataIPluginSearchWindowIConfigurable | Modelos de resultados de solo lectura, metadatos de archivos de alta precisión, controladores seguros de la ventana anfitriona y formularios de configuración basados en esquemas. |
| Servicios del anfitrión | FuzzyMatchServiceTranslationServiceIconServiceFavoritesServiceHistoryServiceFileMetadataServiceDirectoryIndexerServiceMemoryMaintenanceServiceRecentFilesServiceExplorerPathServicePluginSettingsServiceSettingsSearchServiceSettingsWindowServiceSearchRefreshServiceUserDataServiceLogger | Infraestructura de alto rendimiento: coincidencia difusa fzf y máscaras de resaltado, extracción de iconos con caché, gestión de favoritos, proxies de indexación, mantenimiento de memoria diferido, aislamiento de datos y operaciones Shell. |
NOTE
Todas las firmas de métodos, parámetros y contratos de comportamiento de este manual han sido contrastados directamente con el código fuente de Lertaro.PluginSdk.