Project IDX umożliwia dostosowanie obszaru roboczego do unikalnych potrzeb projektu
definiując pojedynczy plik konfiguracji .idx/dev.nix
, który opisuje:
- Narzędzia systemowe, których musisz użyć (np. terminala), takich jak kompilatory lub inne pliki binarne.
- rozszerzenia IDE, które musisz zainstalować (na przykład język programowania, ).
- Jak powinny wyświetlać się podglądy aplikacji (na np. polecenia do uruchomienia serwera WWW).
- Globalne zmienne środowiskowe dostępne dla serwerów lokalnych działających w obszar roboczy.
Pełne informacje znajdziesz w dokumentacji dev.nix
.
i opis dostępnych funkcji.
Nix i IDX
IDX używa Nix do określenia konfigurację środowiska dla każdego obszaru roboczego. W szczególności IDX wykorzystuje:
w języku programowania Nix, i opisywać środowiska obszaru roboczego. Nix to funkcjonalny język programowania. Atrybuty i biblioteki pakietów, które możesz zdefiniować w pliku
dev.nix
postępuj zgodnie z zestawem atrybutów Nix .menedżerem pakietów Nix do zarządzania z narzędzi systemowych dostępnych w obszarze roboczym. Działa podobnie jak w przypadku konkretnego systemu operacyjnego. menedżerowie pakietów, takie jak APT (
apt
iapt-get
), Homebrew (brew
),dpkg
Ponieważ środowiska Nix są powtarzalne i deklaratywne w kontekście IDX. Oznacza to, że możesz udostępniać plik konfiguracji Nix w ramach repozytorium Git, dzięki któremu każdy, kto pracuje nad Twoim projektem, ma taki sam dostęp konfigurację środowiska.
Podstawowy przykład
Poniższy przykład pokazuje podstawową konfigurację środowiska, która włącza podglądy:
{ pkgs, ... }: {
# Which nixpkgs channel to use.
channel = "stable-23.11"; # or "unstable"
# Use https://search.nixos.org/packages to find packages
packages = [
pkgs.nodejs_18
];
# Sets environment variables in the workspace
env = {
SOME_ENV_VAR = "hello";
};
# Search for the extensions you want on https://open-vsx.org/ and use "publisher.id"
idx.extensions = [
"angular.ng-template"
];
# Enable previews and customize configuration
idx.previews = {
enable = true;
previews = {
web = {
command = [
"npm"
"run"
"start"
"--"
"--port"
"$PORT"
"--host"
"0.0.0.0"
"--disable-host-check"
];
manager = "web";
};
};
};
}
Dodaj narzędzia systemowe
Aby dodać do obszaru roboczego narzędzia systemowe, takie jak kompilatory lub programy interfejsu wiersza poleceń
usług w chmurze, znajdź unikalny identyfikator pakietu Nix
rejestr i dodaj go do rejestru dev.nix
Obiekt packages
z prefiksem „pkgs.:
{ pkgs, ... }: {
# Which nixpkgs channel to use.
channel = "stable-23.11"; # or "unstable"
# Use https://search.nixos.org/packages to find packages
packages = [
pkgs.nodejs_18
];
...
}
Różni się to od sposobu, w jaki zazwyczaj instalujesz pakiety systemowe za pomocą
Menedżery pakietów w konkretnych systemach operacyjnych, takie jak APT (apt
i apt-get
), Homebrew
(brew
) i dpkg
. Deklaratywne opisanie dokładnie, które pakiety systemowe są
oznacza, że obszary robocze IDX można łatwiej udostępniać i odtwarzać.
Użyj plików binarnych węzłów lokalnych
Podobnie jak na komputerze lokalnym, pliki binarne powiązane z lokalnie zainstalowanym węzłem
pakiety (tj. pakiety zdefiniowane w package.json
) mogą być wykonywane w
Panel terminala przez wywołanie go za pomocą funkcji npx
.
Jako dodatkową wygodę, jeśli jesteś w katalogu z domeną node_modules
(np. katalog główny projektu internetowego), pliki binarne zainstalowane lokalnie
może zostać wywołana bezpośrednio, bez prefiksu npx
.
Dodaj komponenty (gcloud
)
Domyślna konfiguracja interfejsu wiersza poleceń gcloud
dla Google
Usługa Cloud jest dostępna dla wszystkich IDX
obszarów roboczych.
Jeśli potrzebujesz dodatkowych komponentów, możesz je dodać do pliku dev.nix
jako
czyli:
{ pkgs }: {
packages = [
...
(pkgs.google-cloud-sdk.withExtraComponents [
pkgs.google-cloud-sdk.components.cloud-datastore-emulator
])
...
];
}
Dodaj rozszerzenia IDE
Rozszerzenia możesz instalować w IDX za pomocą Rejestr rozszerzeń OpenVSX – na 2 sposoby:
za pomocą panelu Rozszerzenia w IDX do wykrywania i instalowania aplikacji. rozszerzeń. Ta metoda najlepiej sprawdza się w przypadku rozszerzeń związanych z konkretnymi użytkownikami, takich jak:
- Niestandardowe motywy kolorystyczne
Przez dodanie rozszerzeń do pliku
dev.nix
. Te rozszerzenia zostaną automatycznie instalowane podczas udostępniania konfiguracji obszaru roboczego. Ten jest najlepsze w przypadku rozszerzeń związanych z projektem, takich jak:- rozszerzenia językowe programowania, w tym debugery dla różnych języków;
- Oficjalne rozszerzenia usług w chmurze używanych w Twoim projekcie
- Programy do formatowania kodu
Możesz też dodać rozszerzenia IDE do pliku dev.nix
.
znajdź pełny identyfikator rozszerzenia (formularz <publisher>.<id>
) i dodaj go do idx.extensions
taki obiekt:
{ pkgs, ... }: {
...
# Search for the extensions you want on https://open-vsx.org/ and use the format
# "<publisher>.<id>"
idx.extensions = [
"angular.ng-template"
];
...
}
Dodaj popularne usługi
IDX oferuje też uproszczoną konfigurację typowych usług które mogą być potrzebne podczas tworzenia aplikacji, w tym:
- Kontenery
- Docker (
services.docker.*
)
- Docker (
- Wiadomości
- Emulator Pub/Sub (
services.pubsub.*
)
- Emulator Pub/Sub (
- Bazy danych
- MySQL (
services.mysql.*
) - Postgres (
services.postgres.*
) - Redis (
services.redis.*
) - Spanner (
services.spanner.*
)
- MySQL (
Szczegółowe informacje o włączaniu tych usług w obszarze roboczym znajdziesz tutaj: services.*
w pliku referencyjnym dev.nix
.
Dostosowywanie podglądu
Szczegółowe informacje na temat dostosowywania podglądów aplikacji znajdziesz w dokumentacji podglądy.
Ustawianie ikony obszaru roboczego
Możesz wybrać niestandardową ikonę dla obszaru roboczego, umieszczając plik PNG o nazwie
icon.png
obok pliku dev.nix
, w katalogu .idx
. IDX
będzie używać tej ikony do reprezentowania obszaru roboczego w panelu.
Plik można sprawdzić w kontroli źródła (np. w Git), dlatego jest to To dobry sposób, by pokazać wszystkim osobom pracującym nad Twoim projektem tę samą ikonę podczas używania IDX. Plik może się różnić w zależności od gałęzi Git, możesz nawet wizualnie wyróżnić obszary robocze podczas pracy w wersji „beta” oraz „produkcja” wersji Twojej aplikacji.
Przekształcanie dostosowań w szablon
Przekształcanie konfiguracji środowiska w „środowisko startowe” dla każdego aby tworzyć nowe projekty, zapoznaj się z dokumentacją na temat tworzenia niestandardowych .
Zobacz wszystkie opcje dostosowywania
Aby dowiedzieć się więcej, zapoznaj się z dokumentacją dev.nix
.
opis schematu konfiguracji środowiska.