Project IDX giúp bạn điều chỉnh không gian làm việc của mình cho phù hợp với nhu cầu riêng biệt của dự án
bằng cách xác định một tệp cấu hình .idx/dev.nix
mô tả:
- Các công cụ hệ thống mà bạn cần để chạy được (ví dụ: từ Terminal), chẳng hạn như trình biên dịch hoặc các tệp nhị phân khác.
- Tiện ích IDE mà bạn cần cài đặt (ví dụ: ngôn ngữ lập trình ).
- Cách bản xem trước ứng dụng của bạn sẽ hiển thị (cho ví dụ: các lệnh để chạy máy chủ web của bạn).
- Các biến môi trường toàn cầu áp dụng cho các máy chủ cục bộ chạy trong Workspace.
Hãy xem tài liệu tham khảo về dev.nix
để biết đầy đủ
nội dung mô tả về những gì hiện có.
Nix và IDX
IDX sử dụng Nix để xác định cấu hình môi trường cho mỗi không gian làm việc. Cụ thể, IDX sử dụng:
Ngôn ngữ lập trình Nix để mô tả môi trường không gian làm việc. Nix là một ngôn ngữ lập trình chức năng. Các thuộc tính và thư viện gói bạn có thể xác định trong tệp
dev.nix
tuân theo tập hợp thuộc tính Nix .Trình quản lý gói Nix để quản lý các công cụ hệ thống phù hợp với không gian làm việc của bạn. Điều này tương tự như chế độ dành riêng cho hệ điều hành trình quản lý gói như APT (
apt
vàapt-get
), Homebrew (brew
) vàdpkg
.
Vì môi trường Nix có khả năng tái tạo và mang tính khai báo, trong bối cảnh IDX, điều này có nghĩa là bạn có thể chia sẻ tệp cấu hình Nix như một phần của Kho lưu trữ Git để đảm bảo mọi người làm việc trong dự án của bạn đều có cấu hình môi trường.
Một ví dụ cơ bản
Ví dụ sau đây minh hoạ cấu hình môi trường cơ bản cho phép xem trước:
{ 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";
};
};
};
}
Thêm công cụ hệ thống
Để thêm các công cụ hệ thống vào không gian làm việc của bạn, chẳng hạn như trình biên dịch hoặc chương trình CLI cho
dịch vụ đám mây, hãy tìm mã nhận dạng gói duy nhất trong gói Nix
sổ đăng ký và thêm vào tệp dev.nix
của bạn
Đối tượng packages
, có tiền tố là "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
];
...
}
Thao tác này khác với cách bạn thường có thể cài đặt các gói hệ thống bằng
Trình quản lý gói theo hệ điều hành cụ thể như APT (apt
và apt-get
), Homebrew
(brew
) và dpkg
. Khai báo mô tả chính xác các gói hệ thống
thì không gian làm việc IDX sẽ dễ dàng được chia sẻ và tái tạo hơn.
Sử dụng tệp nhị phân nút cục bộ
Giống như trên máy cục bộ, các tệp nhị phân liên quan đến nút được cài đặt cục bộ
các gói (tức là các gói được xác định trong package.json
) có thể được thực thi trong một
bảng điều khiển cửa sổ dòng lệnh bằng cách gọi chúng bằng npx
.
Để thuận tiện hơn, nếu bạn đang ở trong một thư mục có node_modules
thư mục (chẳng hạn như thư mục gốc của một dự án web), các tệp nhị phân được cài đặt cục bộ
có thể được gọi trực tiếp mà không cần tiền tố npx
.
Thêm thành phần gcloud
Cấu hình mặc định của gcloud
CLI cho Google
Cloud được cung cấp cho tất cả IDX
không gian làm việc.
Nếu cần thêm thành phần, bạn có thể thêm các thành phần đó vào tệp dev.nix
như
nên:
{ pkgs }: {
packages = [
...
(pkgs.google-cloud-sdk.withExtraComponents [
pkgs.google-cloud-sdk.components.cloud-datastore-emulator
])
...
];
}
Thêm tiện ích IDE
Bạn có thể cài đặt tiện ích trong IDX bằng cách sử dụng Đăng ký tiện ích OpenVSX theo hai cách:
Sử dụng bảng điều khiển Tiện ích trong IDX để khám phá và cài đặt tiện ích. Đây là phương pháp phù hợp nhất cho tiện ích dành riêng cho người dùng, chẳng hạn như:
- Chủ đề màu sắc tuỳ chỉnh
Bằng cách thêm đuôi vào tệp
dev.nix
. Các tiện ích này sẽ tự động được cài đặt khi bạn chia sẻ cấu hình không gian làm việc của mình. Chiến dịch này là phương pháp phù hợp nhất cho các phần mở rộng dành riêng cho dự án, chẳng hạn như:- Tiện ích ngôn ngữ lập trình, bao gồm cả trình gỡ lỗi dành riêng cho ngôn ngữ
- Các tiện ích chính thức cho các dịch vụ đám mây được sử dụng trong dự án của bạn
- Trình định dạng mã
Đối với phương pháp thứ hai, bạn có thể đưa các tiện ích IDE vào tệp dev.nix
bằng cách tìm mã tiện ích đủ điều kiện (có dạng <publisher>.<id>
) rồi thêm mã đó vào idx.extensions
một đối tượng như sau:
{ pkgs, ... }: {
...
# Search for the extensions you want on https://open-vsx.org/ and use the format
# "<publisher>.<id>"
idx.extensions = [
"angular.ng-template"
];
...
}
Thêm các dịch vụ phổ biến
IDX cũng cung cấp quy trình thiết lập và định cấu hình đơn giản cho các dịch vụ phổ biến mà bạn có thể cần trong quá trình phát triển, bao gồm:
- Vùng chứa
- Docker (
services.docker.*
)
- Docker (
- Nhắn tin
- Trình mô phỏng Pub/Sub (
services.pubsub.*
)
- Trình mô phỏng Pub/Sub (
- Cơ sở dữ liệu
- MySQL (
services.mysql.*
) - Postgres (
services.postgres.*
) - Redis (
services.redis.*
) - Cờ lê (
services.spanner.*
)
- MySQL (
Để biết thông tin chi tiết về cách bật các dịch vụ này trong không gian làm việc của bạn, hãy xem services.*
các phần của tham chiếu dev.nix
.
Tuỳ chỉnh bản xem trước
Để biết thông tin chi tiết về cách tuỳ chỉnh bản xem trước ứng dụng, hãy xem tài liệu về bản xem trước.
Đặt biểu tượng không gian làm việc
Bạn có thể chọn một biểu tượng tuỳ chỉnh cho không gian làm việc của mình bằng cách đặt một tệp PNG có tên
icon.png
bên cạnh tệp dev.nix
, bên trong thư mục .idx
. IDX
sau đó sẽ sử dụng biểu tượng này để đại diện cho không gian làm việc của bạn trong trang tổng quan.
Vì có thể kiểm tra tệp này trong phần kiểm soát nguồn (chẳng hạn như Git), nên đây là là một cách hữu hiệu để giúp những người đang làm việc với dự án của bạn thấy biểu tượng tương tự dự án khi sử dụng IDX. Vì tệp này có thể khác nhau giữa các nhánh Git, bạn thậm chí có thể phân biệt các không gian làm việc một cách trực quan khi làm việc trên phiên bản "beta" và "sản xuất" bản phát hành ứng dụng của bạn.
Chuyển các chế độ tuỳ chỉnh thành một mẫu
Để chuyển cấu hình môi trường của bạn thành "môi trường khởi động" cho mọi người để tạo dự án mới, hãy xem tài liệu về cách tạo dự án tuỳ chỉnh mẫu.
Xem tất cả các lựa chọn tuỳ chỉnh
Hãy xem tài liệu tham khảo về dev.nix
để biết thông tin chi tiết
mô tả về giản đồ cấu hình môi trường.