يتيح لك Firebase Studio تخصيص مساحة عملك لتلبية
الاحتياجات الفريدة لمشروعك من خلال تحديد ملف إعدادات.idx/dev.nix
واحد يصف:
- أدوات النظام التي يجب أن تكون قادرًا على تشغيلها (على سبيل المثال، من Terminal)، مثل برامج التحويل البرمجي أو ملفات ثنائية أخرى
- الإضافات التي تحتاج إلى تثبيتها (مثل لغة البرمجة التي تتوافق معها)
- الطريقة التي يجب أن تظهر بها معاينات تطبيقك (مثل، أوامر تشغيل خادم الويب)
- متغيّرات البيئة الشاملة المتاحة للخوادم المحلية التي تعمل في مساحة العمل
اطّلِع على مرجع dev.nix
للحصول على وصف كامل
للميزات المتاحة.
نيك وFirebase Studio
يستخدم Firebase Studio Nix لتحديد إعدادات البيئة لكل مساحة عمل. على وجه التحديد، Firebase Studio يستخدم:
لغة البرمجة Nix لوصف بيئات مساحات العمل Nix هي لغة برمجة وظيفية. تلتزم السمات ومكتبات الحِزم التي يمكنك تحديدها في ملف
dev.nix
ببنية مجموعة سمات Nix.مدير حِزم Nix لإدارة أدوات النظام المتاحة لمساحة عملك يشبه ذلك مديري الحِزم الخاصة بنظام التشغيل، مثل APT (
apt
وapt-get
) وHomebrew (brew
) وdpkg
.
بما أنّ بيئات Nix قابلة للاستنساخ وبيانية، يعني ذلك في سياق Firebase Studio أنّه يمكنك مشاركة ملف إعدادات Nix كجزء من مستودع Git لضمان حصول كل من يعمل على مشروعك على إعدادات البيئة نفسها.
مثال أساسي
يوضّح المثال التالي إعداد بيئة أساسي يتيح معاينات التطبيق:
{ pkgs, ... }: {
# Which nixpkgs channel to use.
channel = "stable-23.11"; # or "unstable"
# Use https://search.nixos.org/packages to find packages
packages = [
pkgs.nodejs_20
];
# 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";
# Optionally, specify a directory that contains your web app
# cwd = "app/client";
};
};
};
}
إضافة أدوات النظام
لإضافة أدوات النظام إلى مساحة العمل، مثل برامج التحويل البرمجي أو برامج واجهة سطر الأوامر لخدمات
السحابة الإلكترونية، يمكنك العثور على معرّف الحزمة الفريد في سجلّ
حِزم Nix وإضافته إلى عنصر packages
في ملف
dev.nix
مع إضافة البادئة 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_20
];
...
}
يختلف ذلك عن الطريقة المعتادة لتثبيت حِزم النظام باستخدام
مدراء الحِزم الخاصة بنظام التشغيل، مثل APT (apt
وapt-get
) وHomebrew
(brew
) وdpkg
. من خلال وصف حِزم النظام المطلوبة
بوضوح، يصبح من الأسهل مشاركة مساحات عمل Firebase Studio وإعادة إنتاجها.
استخدام ملفات ثنائية للعقد المحلية
تمامًا كما هو الحال على جهازك، يمكن تنفيذ الملفات الثنائية المرتبطة بحِزم node
المثبَّتة محليًا (مثل الحِزم المحدّدة في package.json
) في لوحة Terminal من خلال استدعائها باستخدام الرمز المبرمَج
npx
.
كميزة إضافية، إذا كنت في دليل يتضمّن مجلد node_modules
(مثل الدليل الجذر لمشروع ويب)، يمكن استدعاء الملفات الثنائية المثبَّتة محليًا
مباشرةً بدون البادئة npx
.
إضافة gcloud
مكوّن
تتوفّر إعدادات تلقائية لواجهة برمجة التطبيقات
gcloud
لنظام التشغيل Google Cloud
في جميع مساحات عمل Firebase Studio.
إذا كنت بحاجة إلى مكوّنات إضافية، يمكنك إضافتها إلى ملف dev.nix
:
{ pkgs }: {
packages = [
...
(pkgs.google-cloud-sdk.withExtraComponents [
pkgs.google-cloud-sdk.components.cloud-datastore-emulator
])
...
];
}
إضافة إضافات IDE
يمكنك تثبيت الإضافات في Firebase Studio باستخدام قاعدة بيانات مسجّلي إضافات OpenVSX بطريقتَين:
استخدِم لوحة الإضافات في Firebase Studio للتعرّف على الإضافات وتثبيتها. هذا المنهج هو الأنسب للإضافات الخاصة بالمستخدمين، مثل:
- مظاهر ألوان مخصّصة
- محاكاة المحرر، مثل VSCodeVim
أضِف إضافات إلى ملف
dev.nix
. سيتم تثبيت هذه الإضافات تلقائيًا عند مشاركة إعدادات مساحة العمل. يُعدّ هذا الأسلوب الأنسب للإضافات الخاصة بالمشروع، مثل:- إضافات لغات البرمجة، بما في ذلك برامج تصحيح الأخطاء الخاصة بلغة معيّنة
- الإضافات الرسمية لخدمات السحابة الإلكترونية المستخدَمة في مشروعك
- أدوات تنسيق الرموز البرمجية
بالنسبة إلى المنهج الأخير، يمكنك تضمين إضافات IDE في ملف dev.nix
عن طريق العثور على معرّف الإضافة المؤهّل بالكامل (بالتنسيق
<publisher>.<id>
) وإضافته إلى عنصر idx.extensions
على النحو التالي:
{ pkgs, ... }: {
...
# Search for the extensions you want on https://open-vsx.org/ and use the format
# "<publisher>.<id>"
idx.extensions = [
"angular.ng-template"
];
...
}
إضافة الخدمات الشائعة
يوفّر Firebase Studio أيضًا عملية إعداد وضبط مبسّطة للخدمات الشائعة التي قد تحتاج إليها أثناء التطوير، بما في ذلك:
- الحاويات
- Docker (
services.docker.*
)
- Docker (
- المراسلة
- محاكي Pub/Sub (
services.pubsub.*
)
- محاكي Pub/Sub (
- قواعد البيانات
- MySQL (
services.mysql.*
) - Postgres (
services.postgres.*
) - Redis (
services.redis.*
) - Spanner (
services.spanner.*
)
- MySQL (
للحصول على تفاصيل حول تفعيل هذه الخدمات في مساحة عملك، يُرجى الاطّلاع على services.*
أجزاء من مرجع dev.nix
.
تخصيص المعاينات
لمعرفة تفاصيل عن كيفية تخصيص معاينات التطبيقات، يُرجى الاطّلاع على مقالة معاينة تطبيقك.
ضبط رمز مساحة العمل
يمكنك اختيار رمز مخصّص لمساحة العمل من خلال وضع ملف PNG باسم
icon.png
داخل الدليل .idx
على المستوى نفسه لملف dev.nix
.
سيستخدم Firebase Studio هذا الرمز بعد ذلك لتمثيل مساحة عملك في
لوحة البيانات.
ولأنّه يمكن التحقّق من هذا الملف في أداة التحكّم في المصدر (مثل Git)، فإنّ هذا الإجراء يمثّل طريقة جيدة لمساعدة كل من يعمل على مشروعك في الاطّلاع على الرمز نفسه لمشروعك عند استخدام Firebase Studio. ولأنّ الملف يمكن أن يختلف في مختلف مشاريع Git، يمكنك استخدام هذا الرمز للتمييز بصريًا بين مساحات عمل التطبيقات التجريبية وتلك المخصّصة للإصدارات العلنية، بالإضافة إلى أغراض أخرى.
تحويل تخصيصاتك إلى نموذج
لتحويل إعدادات البيئة إلى "بيئة بدء" يمكن لأي مستخدم استخدامها لإنشاء مشاريع جديدة، اطّلِع على مستندات إنشاء نماذج مخصّصة.
الاطّلاع على جميع خيارات التخصيص
اطّلِع على مرجع dev.nix
للحصول على وصف detailed لتصميم إعدادات البيئة.
الخطوات التالية
- الدمج مع Firebase وخدمات Google
- إنشاء نماذج مخصّصة
- أضِف زر "الفتح في Firebase Studio".
- مزيد من المعلومات عن Firebase Studio مساحات العمل