หน้านี้มีรายละเอียดเกี่ยวกับสคีมาสำหรับไฟล์การกำหนดค่าสภาพแวดล้อมพื้นที่ทำงาน ซึ่งควรอยู่ที่ .idx/dev.nix
เสมอ
หากต้องการเรียนรู้เกี่ยวกับภาษา Nix โปรดดูบทแนะนำภาษา Nix อย่างเป็นทางการ
พัสดุ
แพ็กเกจที่จะติดตั้งในสภาพแวดล้อม
คุณใช้อาร์กิวเมนต์ pkgs
เพื่อเลือกแพ็กเกจที่จะติดตั้งได้ เช่น pkgs.python3
โปรดทราบว่าเนื้อหาของ pkgs
ขึ้นอยู่กับตัวเลือกช่อง channel
ที่เลือก
เช่น
{pkgs, ...}: {
channel = "stable-23.11";
packages = [pkgs.vim];
}
คุณสามารถค้นหาแพ็กเกจที่มีอยู่ได้ที่นี่ stable-23.11 หรือ ไม่เสถียร
ประเภท: รายการแพ็กเกจ
ค่าเริ่มต้น: [ ]
ช่อง
nixpkgs
แชแนลนี้กำหนดเนื้อหาของอาร์กิวเมนต์ pkgs
ประเภท: ค่าใดค่าหนึ่งต่อไปนี้ ได้แก่ "stable-23.05", "stable-23.11", "unstable"
ค่าเริ่มต้น: "stable-23.11"
env
ตัวแปรสภาพแวดล้อมที่ตั้งค่าภายในสภาพแวดล้อมสำหรับนักพัฒนาซอฟต์แวร์
รายการเหล่านี้จะเผยแพร่ไปยัง Shell ทั้งหมดและเซิร์ฟเวอร์แสดงตัวอย่าง ตัวแปรสภาพแวดล้อมอาจมีประโยชน์อย่างยิ่งหากแอปพลิเคชันต้องใช้ชุดตัวแปรที่เฉพาะเจาะจง
เช่น
{pkgs, ...}: {
env = {
HELLO = "world";
};
}
ประเภท: ชุดแอตทริบิวต์ของอะไรก็ได้
ค่าเริ่มต้น: { }
idx.extensions
ส่วนขยายโค้ดที่ต้องการติดตั้งในพื้นที่ทำงาน IDX
นี่คือรายการรหัสส่วนขยายที่สมบูรณ์ในตัวเอง เช่น ${publisherId}.${extensionId}
ดูรายการส่วนขยายที่พร้อมใช้งานได้ใน Open VSX Registry แล้วป้อนนามสกุลดังกล่าวลงในไฟล์ dev.nix
ภายในวันที่ ${publisherId}.${extensionId}
ประเภท: รายการ (สตริงหรือเส้นทางที่ไม่ว่างเปล่า)
ค่าเริ่มต้น: [ ]
idx.previews.enable
ตั้งค่าเป็น true
เพื่อเปิดใช้ IDX Previews
ฟีเจอร์นี้ช่วยให้คุณเรียกใช้และโหลดแอปซ้ำโดยอัตโนมัติขณะกำลังพัฒนาแอปได้
ประเภท: บูลีน
ค่าเริ่มต้น: true
เช่น true
idx.previews.previews
แสดงตัวอย่างการกำหนดค่า
กำหนดคำสั่งที่ IDX ดำเนินการในสภาพแวดล้อมของนักพัฒนาซอฟต์แวร์
เช่น
{pkgs, ...}: {
idx.previews = {
enable = true;
previews = {
web = {
command = ["yes"];
cwd = "subfolder";
manager = "web";
env = {
HELLO = "world";
};
};
};
};
}
ประเภท: ชุดแอตทริบิวต์ของ (โมดูลย่อย)
ค่าเริ่มต้น: { }
idx.previews.previews.<name>.command
คำสั่งที่จะดำเนินการ
ประเภท: รายการสตริง
ค่าเริ่มต้น: [ ]
idx.previews.previews.<name>.cwd
ไดเรกทอรีที่ทำงาน
ประเภท: สตริง
ค่าเริ่มต้น: ""
idx.previews.previews.<name>.env
ตัวแปรสภาพแวดล้อมที่จะตั้งค่า
ประเภท: ชุดแอตทริบิวต์ของสตริง
ค่าเริ่มต้น: { }
idx.previews.previews.<name>.manager
ผู้จัดการ
ประเภท: หนึ่งใน "เว็บ", "flutter"
idx.workspace.onCreate
คำสั่งที่จะดำเนินการเมื่อสร้างและเปิดพื้นที่ทำงานเป็นครั้งแรก
ซึ่งอาจเป็นประโยชน์ในการตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ ตัวอย่างเช่น เราระบุ npm install
ที่จะเรียกใช้ ดังนี้
{pkgs, ...}: {
idx.workspace.onCreate = {
npm-install = "npm install";
};
}
ประเภท: ชุดแอตทริบิวต์ของ (เส้นทางหรือสตริง)
ค่าเริ่มต้น: { }
idx.workspace.onStart
คำสั่งที่จะดำเนินการเมื่อมีการเปิดพื้นที่ทำงาน
วิธีนี้มีประโยชน์ในการเริ่มผู้ดูสร้าง เช่น ในที่นี้เราจะระบุ คำสั่ง 2 คำสั่งให้เรียกใช้
{pkgs, ...}: {
idx.workspace.onStart = {
npm-watch-fe = "npm run watch:frontend";
npm-watch-be = "npm run watch:backend";
};
}
ประเภท: ชุดแอตทริบิวต์ของ (เส้นทางหรือสตริง)
ค่าเริ่มต้น: { }
services.docker.enable
เลือกว่าจะเปิดใช้ Docker แบบ Rootless หรือไม่
ประเภท: บูลีน
ค่าเริ่มต้น: false
เช่น true
services.mysql.enable
จะเปิดใช้เซิร์ฟเวอร์ MySQL หรือไม่
เริ่มต้นเซิร์ฟเวอร์ด้วยรากผู้ใช้ที่ไม่ใช้รหัสผ่าน ดังนั้นหากต้องการสร้างผู้ใช้เพิ่มเติม
และสร้างฐานข้อมูล ให้ใช้ mysql -u root
ประเภท: บูลีน
ค่าเริ่มต้น: false
เช่น true
services.mysql.package
แพ็กเกจ MySQL ที่จะใช้
ประเภท: แพ็กเกจ
ค่าเริ่มต้น: pkgs.mysql
เช่น pkgs.mysql80
services.postgres.enable
เลือกว่าจะเปิดใช้เซิร์ฟเวอร์ PostgreSQL หรือไม่
ประเภท: บูลีน
ค่าเริ่มต้น: false
เช่น true
services.postgres.package
แพ็กเกจ PostgreSQL ที่จะใช้
ประเภท: แพ็กเกจ
ค่าเริ่มต้น: pkgs.postgresql
เช่น pkgs.postgresql_15
services.postgres.extensions
ส่วนขยาย Postgres ที่จะติดตั้ง
ประเภท:
ค่าเริ่มต้น: [ ]
เช่น [ "pgvector" "postgis" ];
services.pubsub.enable
เลือกว่าจะเปิดใช้โปรแกรมจำลอง Google Pub/Sub หรือไม่
เอกสารเพิ่มเติมเกี่ยวกับการใช้โปรแกรมจำลองสามารถดูได้ที่ https://cloud.google.com/pubsub/docs/emulator#using_the_emulator
ประเภท: บูลีน
ค่าเริ่มต้น: false
เช่น true
services.pubsub.port
กำหนดค่าพอร์ต Pub/Sub จะฟัง
ประเภท: จำนวนเต็ม 16 บิตที่ไม่มีเครื่องหมาย ตั้งแต่ 0 ถึง 65535 (รวมทั้ง 2 อย่าง)
ค่าเริ่มต้น: 8085
services.pubsub.project-id
รหัสโปรเจ็กต์ที่จะใช้เพื่อเรียกใช้โปรแกรมจำลอง Pub/Sub โปรเจ็กต์นี้มีไว้สำหรับการทดสอบเท่านั้น ไม่จำเป็นต้องมีอยู่และใช้ภายในเท่านั้น
ประเภท: สตริงที่ตรงกับรูปแบบ [a-z][a-z0-9-]{5,29}
ค่าเริ่มต้น: "idx-pubsub-emulator"
services.redis.enable
เลือกว่าจะเปิดใช้เซิร์ฟเวอร์ Redis หรือไม่
ประเภท: บูลีน
ค่าเริ่มต้น: false
เช่น true
services.redis.port
กำหนดค่าพอร์ตที่ Redis จะฟัง
โดยค่าเริ่มต้น tcp จะปิดใช้อยู่ และ redis จะฟังเฉพาะ /tmp/redis/redis.sock
ประเภท: จำนวนเต็ม 16 บิตที่ไม่มีเครื่องหมาย ตั้งแต่ 0 ถึง 65535 (รวมทั้ง 2 อย่าง)
ค่าเริ่มต้น: 0
services.spanner.enable
เปิดใช้โปรแกรมจำลอง Google Cloud Spanner หรือไม่
ประเภท: บูลีน
ค่าเริ่มต้น: false
เช่น true
services.spanner.fault-injection
เลือกว่าจะเปิดใช้การแทรกข้อผิดพลาดแบบสุ่มลงในการแปลงหรือไม่
ประเภท: บูลีน
ค่าเริ่มต้น: false
เช่น true
services.spanner.grpc-port
พอร์ต TCP ที่โปรแกรมจำลองควรเชื่อมโยงอยู่
ประเภท: จำนวนเต็ม 16 บิตที่ไม่มีเครื่องหมาย ตั้งแต่ 0 ถึง 65535 (รวมทั้ง 2 อย่าง)
ค่าเริ่มต้น: 9010
services.spanner.rest-port
พอร์ตที่แสดงคำขอ REST
ประเภท: จำนวนเต็ม 16 บิตที่ไม่มีเครื่องหมาย ตั้งแต่ 0 ถึง 65535 (รวมทั้ง 2 อย่าง)
ค่าเริ่มต้น: 9020