Skip to content

快速上手

搭建外掛專案

外掛就是一個普通的 .NET 類別庫,目標框架和宿主應用程式一致(net10.0-windows),參照 PluginSdk:

xml
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net10.0-windows</TargetFramework>
    <Nullable>enable</Nullable>
    <UseWPF>true</UseWPF>
    <AssemblyName>YourCompany.Plugins.YourPlugin</AssemblyName>
    <Version>1.0.0</Version>
  </PropertyGroup>
  <ItemGroup>
    <!-- 参照你 SwiftList 安裝目錄下的 SwiftList.PluginSdk.dll;如果是在 SwiftList 版本庫內部建置,
         也可以直接參照 PluginSdk.csproj。 -->
    <ProjectReference Include="..\..\PluginSdk\PluginSdk.csproj" />
  </ItemGroup>
</Project>

只有當外掛自己要繪製 WPF 介面(自訂預覽、佈景主題資源字典等)時才需要 UseWPF——純搜尋來源邏輯的外掛不需要它。

實作 IPlugin

每個外掛都有且只有一個進入點,實作 IPlugin:

csharp
public class YourPlugin : IPlugin
{
    public string Name => "Your Plugin";
}

在此基礎上,按需實作其他介面——完整清單見外掛 SDK 參考。大多數真實外掛會實作 IPlugin 再加一兩個其他介面 (CoreExtensionsPlugin 實作了 IPluginIActionProviderIConfigurable;參見外掛範例)。

載入外掛

編譯外掛,把產生的 DLL 複製到 SwiftList App 的 Plugins/ 資料夾(與 SwiftList.App.exe 同層) ——App 啟動時會掃描這個資料夾並載入找到的每一個外掛組件。這一步如何在建置時自動完成,見封裝與發布

偵錯

在外掛裡全程使用 PluginSdk 提供的 Logger.Log(message, level)——它的輸出會出現在 設定 → 執行狀態App 記錄分頁裡,和宿主應用程式自己的記錄一樣可以按層級篩選、按關鍵字搜尋。