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

Szablony i struktura projektu

Wybierz panel, sidebar, komendę lub motyw i zrozum powiązania plików.

Wszystkie cztery szablony korzystają z tego samego manifestu i procesu importu. Wybierz najbliższy swojemu pomysłowi; później możesz dodać kolejne rodzaje elementów do jednego pluginu.

--template Co tworzy Jak go zobaczysz
panel Widok centralny React i komendę otwierającą; jedna instancja na workspace Uruchom komendę nazwaną tak jak plugin
sidebar Panel boczny React i komendę otwierającą; jedna instancja na workspace Uruchom komendę; panel ma zapamiętywane położenie i szerokość
command Jedną komendę bez widoku Uruchom komendę; przykład zapisuje nazwę workspace w konsoli, nie pokazuje okna ani powiadomienia
theme Motyw kolorów v2 w theme/theme.jsonc, bez kodu JavaScript Zaimportuj pakiet i wybierz motyw w Settings > Themes

Szablony z kodem używają activation: "lazy". Sam import nie pokaże panelu. Szablon motywu nie potrzebuje activate() ani zatwierdzania wykonania kodu.

Po udostępnieniu wersji w npm:

Okno terminala
pnpm create [email protected] my-sidebar --id example.project-sidebar --name "Project sidebar" --template sidebar

Dla lokalnych paczek użyj ścieżki opisanej w narzędziach.

Argument Znaczenie
<directory> Dokładnie jeden nowy lub pusty katalog docelowy
--id Stały identyfikator autor.nazwa; maksymalnie 100 znaków
--name Niepusta nazwa wyświetlana; maksymalnie 160 znaków
--template panel, sidebar, command lub theme; domyślnie panel
--json Wynik JSON z schemaVersion: 1; wyłącza pytania interaktywne
--help, -h Pomoc

W interaktywnym terminalu generator pyta o brakujące odpowiedzi. W skrypcie lub z --json podaj --id i --name. Błąd argumentów ma kod zakończenia 2, błąd tworzenia projektu 1, sukces 0. Nie ma flagi wymuszającej nadpisanie katalogu.

  1. plugin.json deklaruje ID widoku, komendy lub przycisku.
  2. src/index.tsx eksportuje activate(context), które rejestruje implementację pod tym samym ID.
  3. lomi-plugin.config.mjs wybiera plik źródłowy i zasoby kopiowane do wyniku.
  4. pnpm build tworzy gotowy package/. Pole entry manifestu wskazuje JavaScript w tym wyniku.
  5. Lomi odczytuje manifest podczas importu, a kod uruchamia po zatwierdzeniu i wyzwoleniu aktywacji.

Zmiana nazwy folderu projektu nie zmienia ID pluginu. Zmiana id w manifeście tworzy z punktu widzenia Lomi inny pakiet. Przy zmianie ID zaktualizuj prefiksy wszystkich deklaracji, rejestracji, przykładów i ewentualnych tokenów CSS.

W contributes.views zmień placement z central na sidebar i pozostaw multiple: false. Kod komponentu i registerView() pozostają takie same.

Istniejące zapisane panele centralne nie przeniosą się automatycznie. Ich opis ma stare położenie, więc pojawi się informacja o niezgodności. Zamknij stary widok po rozstrzygnięciu niezapisanej pracy i otwórz nowy. Zasady zgodności opisują widoki i stan.

Plugin może zawierać kilka widoków, komend, przycisków i motywów. Przykładowo drugi panel wymaga nowego wpisu w contributes.views i drugiego registerView(). Aby otwierać go z Commands, dodaj deklarację i rejestrację komendy wywołującej openView().

Dla widoku centralnego ustaw multiple: true, jeśli każde wywołanie ma tworzyć nową instancję. Nie używaj tej wartości dla sidebaru.

Szablony przypinają SDK i CLI oraz zgodne wersje React i TypeScript. Zachowaj dokładne wersje oraz lockfile. pnpm-workspace.yaml zawiera wyjątki polityki wieku wydań dla konkretnych paczek; nie zastępuj ich ogólnym wyłączeniem kontroli.

Przed udostępnieniem projektu uzupełnij opis i nazwę, wybierz własne ID oraz sprawdź licencję własnego kodu i dołączanych bibliotek. private: true w package.json zapobiega przypadkowemu opublikowaniu projektu autora jako paczki npm; nie blokuje tworzenia ZIP przez pnpm package.