Diese Seite enthält Details zum Schema für Ihre Arbeitsbereichsumgebung
Konfigurationsdatei, die sich immer unter .idx/dev.nix
befinden sollte.
Weitere Informationen zur Nix-Sprache finden Sie in der offiziellen Nix-Sprache. )
Pakete
Pakete, die in der Umgebung installiert werden sollen.
Sie können das Argument pkgs
verwenden, um zu installierende Pakete auszuwählen, z. B.
pkgs.python3
. Der Inhalt von pkgs
hängt vom ausgewählten
channel
Kanaloption.
Beispiel:
{pkgs, ...}: {
channel = "stable-23.11";
packages = [pkgs.vim];
}
Sie können hier nach verfügbaren Paketen suchen: stable-23.11 oder instabil ist.
Typ:Liste des Pakets
Standard: [ ]
Kanal
nixpkgs-Kanal, der verwendet werden soll.
Dieser Kanal definiert den Inhalt des Arguments pkgs
.
Typ:entweder „stable-23.05“, „stable-23.11“, „stable-24.05“ oder „instable“
Standard: "stable-23.11"
env
Umgebungsvariablen, die in der Entwicklungsumgebung festgelegt werden.
Diese werden an alle Shells und den Vorschauserver weitergegeben. Umgebung Variablen können besonders nützlich sein, wenn Ihre Anwendung einen bestimmten Satz von von Variablen.
Der Wert jeder Variablen kann entweder ein String oder eine Liste von Strings sein. Die zwischen Doppelpunkten, verkettet und durchgestrichen.
PATH
muss eine Liste sein, da sie immer erweitert und nicht vollständig ersetzt wird.
Beispiel:
{pkgs, ...}: {
env = {
HELLO = "world";
# append an entry to PATH
PATH = ["/some/path/bin"];
};
}
Typ:Attributsatz von ((Liste mit String) oder irgendetwas)
Standard: { }
idx.extensions
Codeerweiterungen, die Sie in Ihrem IDX-Arbeitsbereich installieren möchten.
Dies ist eine Liste vollständig qualifizierter Erweiterungs-IDs. Beispiel:
${publisherId}.${extensionId}
Eine Liste der verfügbaren Erweiterungen finden Sie auf der
Öffnen Sie VSX Registry und geben Sie sie in die Datei dev.nix
ein.
von ${publisherId}.${extensionId}
.
Typ:Liste von (nicht leerer String oder Pfad)
Standard: [ ]
idx.previews.enable
Setzen Sie diesen Wert auf true
, um IDX Previews zu aktivieren.
Mit dieser Funktion kannst du deine Apps automatisch ausführen und aktualisieren sie zu entwickeln.
Typ: Boolesch
Standard: true
Beispiel: true
idx.previews.previews
Konfigurationen als Vorschau ansehen.
Definieren Sie die Befehle, die IDX in Ihrer Entwicklungsumgebung ausführt.
Beispiel:
{pkgs, ...}: {
idx.previews = {
enable = true;
previews = {
web = {
command = ["yes"];
cwd = "subfolder";
manager = "web";
env = {
HELLO = "world";
};
};
};
};
}
Typ:Attributsatz von (untermodul)
Standard: { }
idx.previews.previews.<name>.activity
Android-Einführungsaktivität
Typ: String
Standard: ""
idx.previews.previews.<name>.command
Auszuführender Befehl
Typ:Stringliste
Standard: [ ]
idx.previews.previews.<name>.cwd
Arbeitsverzeichnis
Typ: String
Standard: ""
idx.previews.previews.<name>.env
Umgebungsvariablen festzulegen.
Typ: Attributsatz des Strings
Standard: { }
idx.previews.previews.<name>.manager
Manager
Typ:entweder „web“, „flutter“, „android“ oder „gradle“
idx.workspace.onCreate
Befehle, die ausgeführt werden, wenn der Arbeitsbereich zum ersten Mal erstellt und geöffnet wird.
Dies kann bei der Einrichtung der Entwicklungsumgebung hilfreich sein. Hier haben wir zum Beispiel
geben npm install
zum Ausführen an:
{pkgs, ...}: {
idx.workspace.onCreate = {
npm-install = "npm install";
# files to open when the workspace is first opened.
default.openFiles = [ "src/index.ts" ];
};
}
Typ:Attributsatz von (Pfad oder String oder ({ openFiles = [ string ];}))
Standard: { }
idx.workspace.onStart
Befehle, die beim Öffnen des Arbeitsbereichs ausgeführt werden sollen.
Dies kann hilfreich sein, um Build-Watcher zu starten. Hier geben wir z. B. an, Zwei auszuführende Befehle:
{pkgs, ...}: {
idx.workspace.onStart = {
npm-watch-fe = "npm run watch:frontend";
npm-watch-be = "npm run watch:backend";
# files to open when the workspace is (re)opened.
default.openFiles = [ "src/index.ts" ];
};
}
Typ:Attributsatz von (Pfad oder String oder ({ openFiles = [ string ];}))
Standard: { }
services.docker.enable
Gibt an, ob Rootless Docker aktiviert wird.
Typ: Boolesch
Standard: false
Beispiel: true
services.mongodb.enable
Gibt an, ob der MongoDB-Server aktiviert wird.
Typ: Boolesch
Standard: false
Beispiel: true
services.mongodb.package
MongoDB-Paket.
Typ:Paket
Standard: <derivation mongodb-6.0.11>
services.mongodb.port
Konfiguriert den Port, den Mongod überwacht.
TCP ist standardmäßig deaktiviert und Mongod hört nur auf /tmp/mongodb/mongodb.sock zu. Verwenden Sie den Verbindungsstring, um eine Verbindung herzustellen „mongodb://%2Ftmp%2Fmongodb%2Fmongodb.sock“
Typ:16-Bit-Ganzzahl ohne Vorzeichen zwischen 0 und 65.535 (beide einschließlich)
Standard: 0
services.mysql.enable
Gibt an, ob MySQL-Server aktiviert werden soll.
Der Server wird mit einem Nutzerstamm ohne Passwort initialisiert. Um zusätzliche
Nutzer und zum Erstellen von Datenbanken verwenden mysql -u root
. .
Typ: Boolesch
Standard: false
Beispiel: true
services.mysql.package
MySQL-Paket, das verwendet werden soll.
Typ:Paket
Standard: pkgs.mysql
Beispiel: pkgs.mysql80
services.postgres.enable
Gibt an, ob der PostgreSQL-Server aktiviert werden soll.
Typ: Boolesch
Standard: false
Beispiel: true
services.postgres.enableTcp
Gibt an, ob Postgres auf TCP überwacht werden soll.
Typ: Boolesch
Standard: true
Beispiel: true
services.postgres.package
PostgreSQL-Paket.
Typ:Paket
Standard: pkgs.postgresql
Beispiel: pkgs.postgresql_15
services.postgres.extensions
Zu installierende Postgres-Erweiterungen.
Typ: Liste mit (einer von "age", "apache_datasketches", "cstore_fdw", "hypopg", "jsonb_deep_sum", "periods", "pg_auto_failover", "pg_bigm", "pg_cron", "pg_ed25519", "pg_embedding", "pg_hint_plan", "pg_hll", "pg_ivm", "pg_net", "pg_partman", "pg_rational", "pg_relusage", "pg_repack", "pg_safeupdate", "pg_Similarity", "pg_topn", "pg_uuidv7", "pgaudit", "pgjwt", "pgroonga", "pgrouting", "pgsql-http", "pgtap", "pgvector", "plpgsql_check", "plr", "plv8", "postgis", "promscale_extension", "repmgr", "rum", "smlar", "tds_fdw", "temporal_tables", "timescaledb", "timescaledb-apache", "timescaledb_tooltip", "tsearch_extras", "tsja", "wal2json")
Standard: [ ]
Beispiel: [ "pgvector" "postgis" ];
services.pubsub.enable
Gibt an, ob der Google Pub/Sub-Emulator aktiviert wird.
Weitere Informationen zur Verwendung des Emulators finden Sie hier: https://cloud.google.com/pubsub/docs/emulator#using_the_emulator .
Typ: Boolesch
Standard: false
Beispiel: true
services.pubsub.port
Konfiguriert den Port, der von Pub/Sub überwacht wird.
Typ:16-Bit-Ganzzahl ohne Vorzeichen zwischen 0 und 65.535 (beide einschließlich)
Standard: 8085
services.pubsub.project-id
Projekt-ID zum Ausführen des Pub/Sub-Emulators. Dieses Projekt dient nur zu Testzwecken. muss er nicht existieren und wird nur lokal verwendet.
Typ:String, der mit dem Muster [a-z][a-z0-9-]{5,29} übereinstimmt
Standard: "idx-pubsub-emulator"
services.redis.enable
Gibt an, ob der Redis-Server aktiviert werden soll.
Typ: Boolesch
Standard: false
Beispiel: true
services.redis.port
Konfiguriert den Port, der von Redis überwacht wird.
TCP ist standardmäßig deaktiviert und Redis hört nur auf /tmp/redis/redis.sock zu.
Typ:16-Bit-Ganzzahl ohne Vorzeichen zwischen 0 und 65.535 (beide einschließlich)
Standard: 0
services.spanner.enable
Gibt an, ob der Google Cloud Spanner-Emulator aktiviert werden soll.
Typ: Boolesch
Standard: false
Beispiel: true
services.spanner.fault-injection
Gibt an, ob die zufällige Fehlereinschleusung in Transaktionen aktiviert werden soll.
Typ: Boolesch
Standard: false
Beispiel: true
services.spanner.grpc-port
Der TCP-Port, an den der Emulator gebunden werden soll.
Typ:16-Bit-Ganzzahl ohne Vorzeichen zwischen 0 und 65.535 (beide einschließlich)
Standard: 9010
services.spanner.rest-port
Der Port, an dem REST-Anfragen verarbeitet werden
Typ:16-Bit-Ganzzahl ohne Vorzeichen zwischen 0 und 65.535 (beide einschließlich)
Standard: 9020