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.
Który szablon wybrać
Dział zatytułowany „Który szablon wybrać”--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.
Opcje generatora
Dział zatytułowany „Opcje generatora”Po udostępnieniu wersji w npm:
pnpm create [email protected] my-sidebar --id example.project-sidebar --name "Project sidebar" --template sidebarDla 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.
Jak współpracują pliki
Dział zatytułowany „Jak współpracują pliki”plugin.jsondeklaruje ID widoku, komendy lub przycisku.src/index.tsxeksportujeactivate(context), które rejestruje implementację pod tym samym ID.lomi-plugin.config.mjswybiera plik źródłowy i zasoby kopiowane do wyniku.pnpm buildtworzy gotowypackage/. Poleentrymanifestu wskazuje JavaScript w tym wyniku.- 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.
Zmień panel w sidebar
Dział zatytułowany „Zmień panel w sidebar”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.
Dodaj drugi element
Dział zatytułowany „Dodaj drugi element”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.
Zależności i licencja
Dział zatytułowany „Zależności i licencja”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.