Przejdź do głównej zawartości
docs
GitHub

Pierwszy plugin

Utwórz panel, zbuduj pakiet i uruchom go w Lomi krok po kroku.

W tym przewodniku zbudujesz Workspace info: panel z nazwą obszaru roboczego, ścieżką projektu i opcją zapamiętywaną w sesji. Nie potrzebujesz źródeł aplikacji ani kompilatora Rust.

Potrzebujesz Node.js 22.14 lub nowszego, pnpm 11.25.0 oraz aplikacji Lomi obsługującej API pluginów 1 i runtime Lomi. W terminalu sprawdź:

Okno terminala
node --version
pnpm --version

Dokumentacja opisuje SDK 1.1.0-alpha.1, CLI 0.1.0-alpha.2 i generator 0.1.0-alpha.3. To wersje lokalnego zestawu po rebrandingu. Polecenie pobierające generator z npm zadziała dopiero po opublikowaniu tego zestawu. Jeśli otrzymasz błąd braku wersji, skorzystaj z lokalnych archiwów opisanych w Narzędzia i diagnostyka. Nie zastępuj paczek starszą wersją o innym protokole runtime.

SDK definiuje umowę między pluginem a aplikacją. CLI sprawdza i buduje projekt. Generator tworzy pliki startowe; nie instaluje pluginu w Lomi.

W katalogu przeznaczonym na własne projekty wykonaj:

Okno terminala
pnpm create [email protected] my-plugin --id example.workspace-info --name "Workspace info" --template panel
cd my-plugin
pnpm install --ignore-scripts

my-plugin to folder na dysku, example.workspace-info to stały identyfikator pluginu, a Workspace info to nazwa widoczna w aplikacji. Dla swojego projektu wybierz własny prefiks, np. anna.project-notes.

Folder docelowy musi być nowy albo pusty. Generator nie nadpisuje plików, nie uruchamia instalacji zależności i nie inicjalizuje Git. Zachowaj utworzony pnpm-lock.yaml; kolejne instalacje i CI powinny używać pnpm install --frozen-lockfile --ignore-scripts.

my-plugin/
├── plugin.json # Nazwa, wersja i deklarowane elementy
├── src/index.tsx # Widok React i funkcja activate
├── view.css # Style panelu
├── lomi-plugin.config.mjs # Wejście buildu i kopiowane zasoby
├── tsconfig.json # Ustawienia TypeScript
├── package.json # Zależności i polecenia autora
└── LICENSE # Licencja szablonu

Są też ustawienia schematu JSON w .vscode/, workflow w .github/, .gitignore i pnpm-workspace.yaml. Po buildzie pojawi się package/, a po pakowaniu artifacts/. To katalogi wynikowe.

package.json służy narzędziom Node. plugin.json czyta Lomi. Nazwy, ID i wersję widoczne w aplikacji zmieniasz w tym drugim pliku.

Okno terminala
pnpm check
pnpm build
pnpm run doctor
  • check sprawdza TypeScript, manifest i zadeklarowane zasoby.
  • build tworzy kompletny folder do importu i sprawdza wynikowe importy.
  • doctor sprawdza środowisko autora. Ostrzeżenie HOST_UNVERIFIED oznacza, że nadal potrzebna jest ręczna kwalifikacja desktopowa.

W package/ powinny znaleźć się plugin.json, dist/index.js, view.css i LICENSE. Build może dodać względne chunki oraz mapy źródeł. Instalacja pluginu nie uruchamia kompilatora ani skryptów npm.

  1. Otwórz folder projektu i obszar roboczy w Lomi.
  2. W Settings > Plugins > Import plugin wskaż my-plugin/package.
  3. Włącz Workspace info, przejrzyj informacje i wybierz Trust and enable.
  4. Otwórz Commands i wybierz Workspace info. Domyślny skrót to Cmd+Shift+P na macOS lub Ctrl+Shift+P w systemach Windows i Linux.
  5. Zmień Show project path. Ponownie uruchom komendę: ten szablon wybierze istniejący panel w tym samym obszarze roboczym.
  6. Przełącz obszar roboczy i otwórz komendę ponownie. Powstanie osobna instancja dla tego obszaru.

Jeśli zmieniono skrót Commands w Settings > Keybinds, użyj własnego przypisania. Sam import zapisuje pakiet, ale nie uruchamia jego kodu. Zaufanie i obsługa pluginów wyjaśniają ten etap.

W src/index.tsx zmień tekst Appearance: na Wygląd:. Uruchom:

Okno terminala
pnpm check
pnpm build

Następnie wyłącz stary plugin w Settings > Plugins, ponownie zaimportuj package/ i zatwierdź zmienioną rewizję. Jeżeli zobaczysz Restart required, użyj Restart Lomi i rozstrzygnij niezapisane zmiany.

Lomi korzysta z kopii pakietu. Zapisanie pliku źródłowego ani przebudowanie folderu nie zmienia działającego pluginu. Obecna wersja narzędzi nie ma dev, automatycznego przeładowywania ani obserwatora plików. Błąd buildu pozostawia poprzedni poprawny package/. Sprawdź wynik polecenia, zanim wykonasz import.

Okno terminala
pnpm package

Dla szablonu w wersji 0.1.0 otrzymasz:

artifacts/
├── example.workspace-info-0.1.0.zip
├── example.workspace-info-0.1.0.sha256
└── example.workspace-info-0.1.0.validation.json

Odbiorca rozpakowuje ZIP i importuje folder zawierający plugin.json. Kolejne wydanie wymaga zwiększenia version w plugin.json, ponieważ CLI nie nadpisuje istniejących artefaktów. Pakowanie i rozwiązywanie problemów opisuje cały proces.

Chcesz… Przejdź do
Wybrać panel boczny, komendę lub motyw Szablony i struktura projektu
Zrozumieć wszystkie pola plugin.json Manifest
Poznać metody dostępne w activate() SDK i cykl życia
Zapisywać opcje lub chronić edytowany dokument Widoki i zapis stanu
Dodać skrót lub przycisk na pasku stanu Komendy i elementy interfejsu
Dołączyć CSS, obrazy i motywy Style i zasoby
Przygotować wydanie desktopowe Kwalifikacja desktopowa
Budować bez CLI Ręczny przykład SDK