Skip to content

開発者ガイド ​

Lertaro 開発者向けリファレンスマニュアルへようこそ。Lertaro は疎結合なマルチプロセスアーキテクチャと拡張性の高いプラグインエコシステムを採用しており、公式 SDK アセンブリ Lertaro.PluginSdk を提供しています。この SDK を参照することで、カスタム検索ソースの追加、コンテキストメニューアクションの拡張、サードパーティ製ファイラーや標準ファイルダイアログとの統合、テーマやファイルプレビューのカスタマイズが可能です。

1. アーキテクチャと開発フロー ​

  • システムアーキテクチャ設計 —— SYSTEM 権限の Windows サービス、ユーザー権限の WPF UI、キーボードフックプロセスの 3 プロセス分離モデルと名前付きパイプ IPC の詳細。
  • クイックスタートガイド —— クラスライブラリの作成、SDK の参照、IPlugin エントリポイントの実装、ローカルデバッグの手順。
  • パッケージングと配布 —— ディレクトリ構造の仕様、依存ライブラリの同梱、多言語 JSON リソースの埋め込み、PostBuild 自動配置。
  • 公式プラグインのサンプル解説 —— オープンソースとして同梱されている CoreExtensions、PinyinAlias、FlowLauncherBridge、FileUnlocker の設計と実装パターンの解説。

2. プラグイン SDK API リファレンス ​

SDK カテゴリ主要インターフェイス・サービス主な機能
検索コアとアクションISearchableItemProvider
IInstantResultProvider
IAliasProvider
IQueryTokenProvider
ISearchResultAction
IDynamicActionProvider
静的インデックスソース、即時計算クエリ、非 ASCII エイリアス変換エンジン、末尾属性トークンハンドラー、静的・動的コンテキストメニュー。
システムとダイアログの統合IActivePathCollector
IFileDialogAdapter
IInlineSearchAdapter
IQuickNavigationProvider
アクティブなファイラーのパス取得、標準ファイルダイアログのフック、インライン検索バーの埋め込みと双方向選択同期、クイックナビゲーションメニュー。
UI とプレビューの拡張ISidebarFilterProvider
IResultColumnProvider
IQuickPanelTabProvider
ICalendarTextProvider
IFilePreviewProvider
IThumbnailProvider
IThemeProvider
ITranslationProvider
サイドバーフィルターカテゴリ、テーブル列の拡張、クイックパネルの動的タブ、検索ウィンドウの時計行の日付テキスト、QuickLook プレビュー描画、サムネイル抽出、WPF テーマ、多言語 i18n。
共通データ構造と契約ISearchResult
FileMetadata
IPluginSearchWindow
IConfigurable
検索結果の読み取り専用モデル、高精度ファイルメタデータ、親ウィンドウの制御ハンドル、スキーマ駆動型ネイティブ設定フォーム。
ホストが提供する各種サービスFuzzyMatchService
TranslationService
IconService
FavoritesService
HistoryService
FileMetadataService
DirectoryIndexerService
MemoryMaintenanceService
RecentFilesService
ExplorerPathService
PluginSettingsService
SettingsSearchService
SettingsWindowService
SearchRefreshService
UserDataService
Logger
高性能ホスト機能:fzf あいまい一致とハイライトマスク、多言語解析、キャッシュ付きアイコン抽出、お気に入り管理・履歴取得、インデックスサービス連携、遅延メモリ整理、データ分離、Shell ファイル操作。
通知表示PluginNotificationService
NotificationRequest
INotificationHandle
NotificationLevel
NotificationPosition
NotificationResult
NotificationFailure
ホスト自身のウィンドウを利用したバックグラウンド通知:右下のカードスタックまたは画面下部中央の1行表示、ホストによって制限される表示時間、Id による置換、プラグインごとの上限、必ず完了する完了タスク。

NOTE

各ページのインターフェイス定義、メンバー名、既定値、引数の順序は Lertaro.PluginSdk のソースコードから読み取っています。ただし、プラグインの呼び出しに対して ホスト がどう反応するかを説明している文は、現状の動作の記録であり、プラグインが依存してよい契約ではありません。