Firebase Studio מאפשרת לכם להתאים את סביבת העבודה לצרכים הייחודיים של הפרויקט על ידי הגדרה של קובץ הגדרות יחיד .idx/dev.nix
שמתאר:
- כלי המערכת שצריך כדי להריץ את התוכנה (למשל, מתוך Terminal), כמו קומפיילרים או קבצים בינאריים אחרים.
- התוספים שצריך להתקין (לדוגמה, תמיכה בשפת תכנות).
- איך תצוגות מקדימות של האפליקציה אמורות להופיע (לדוגמה, הפקודות להפעלת שרת האינטרנט).
- משתני סביבה גלובליים שזמינים לשרתים מקומיים שפועלים בסביבת העבודה.
למידע מקיף על האפשרויות הזמינות, אפשר לעיין בהפניה ל-dev.nix
.
אם מוסיפים קובץ .idx/mcp.json
(ל-Gemini ב-Firebase) או .gemini/settings.json
(ל-Gemini CLI) לפרויקט, אפשר גם להתחבר לשרתים של Model Context Protocol (MCP), כולל שרת ה-MCP של Firebase.
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";
};
};
};
}
הוספת כלי מערכת
כדי להוסיף לסביבת העבודה כלי מערכת, כמו קומפיילרים או תוכניות CLI לשירותי ענן, צריך למצוא את מזהה החבילה הייחודי במאגר החבילות של 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
CLI ל-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 (
פרטים על הפעלת השירותים האלה ב-Workspace זמינים בקטעים services.*
של ההפניה ל-dev.nix
.
התאמה אישית של התצוגות המקדימות
פרטים על התאמה אישית של תצוגות מקדימות של אפליקציות זמינים במאמר בנושא תצוגה מקדימה של האפליקציה.
הגדרת הסמל של סביבת העבודה
אתם יכולים לבחור סמל בהתאמה אישית לסביבת העבודה שלכם. כדי לעשות את זה, צריך למקם קובץ PNG בשם
icon.png
בספרייה .idx
באותה רמה כמו הקובץ dev.nix
.
Firebase Studio ישתמש בסמל הזה כדי לייצג את סביבת העבודה בלוח הבקרה.
אפשר להוסיף את הקובץ הזה למערכת לניהול גרסאות (כמו Git), וכך כל מי שעובד על הפרויקט יוכל לראות את אותו סמל של הפרויקט כשהוא משתמש ב-Firebase Studio. בנוסף, מכיוון שהקובץ יכול להיות שונה בענפים שונים של Git, אפשר להשתמש בסמל הזה כדי להבחין בין סביבות עבודה של אפליקציות בגרסת בטא לבין סביבות עבודה של אפליקציות בייצור, וגם למטרות אחרות.
הפיכת ההתאמות האישיות לתבנית
כדי להפוך את הגדרת הסביבה שלכם ל'סביבת התחלה' שכל אחד יכול להשתמש בה כדי ליצור פרויקטים חדשים, אפשר לעיין במסמכים בנושא יצירת תבניות בהתאמה אישית.
עיון בכל אפשרויות ההתאמה האישית
הורדת הקבצים
כדי להוריד את הקבצים כקובץ ZIP:
- לוחצים לחיצה ימנית על ספרייה כלשהי בחלונית Explorer ובוחרים באפשרות Zip and Download (דחיסה והורדה).
כדי להוריד את כל מה שיש בספריית הפרויקט:
בוחרים באפשרות File > Open Folder (קובץ > פתיחת תיקייה).
מאשרים את ספריית ברירת המחדל
/home/user
.אחרי שהקבצים נטענים, לוחצים לחיצה ימנית על ספריית העבודה ובוחרים באפשרות כיווץ והורדה. אם משתמשים ב-App Prototyping agent, ספריית העבודה תהיה
studio
. אם משתמשים בתבנית או בפרויקט שהועלה, זה יהיה שם הפרויקט.כשמוצגת בקשה לבנייה מחדש של הסביבה, לוחצים על ביטול.
אחרי שההורדה מסתיימת, פותחים מחדש את ספריית העבודה מהתפריט קובץ כדי לחזור לסביבת העבודה.
שימוש בשרתי MCP
שרתי MCP מספקים כלים נוספים ומקורות נתונים לשימוש ב-Gemini. לדוגמה, אתם יכולים להוסיף את שרת ה-MCP של Firebase כדי לחקור את הנתונים ב-Cloud Firestore באמצעות שפה טבעית בזמן שאתם בונים או מנפים באגים באפליקציה.
דרישות מוקדמות
- אם שרת ה-MCP דורש זאת, מוודאים שיש לכם התקנה תקינה של Node.js ו-npm.
בחירת שרת MCP תואם
ל-Firebase Studio יש תמיכה בסיסית בשרתי MCP, כלומר לא כל שרתי ה-MCP תואמים. כשבוחרים שרת MCP להוספה לסביבת העבודה ב-Firebase Studio, חשוב לזכור את הנקודות הבאות:
- נתמך:
- שרתי קלט/פלט רגילים (stdio) או שרתי העברה של אירועים שנשלחים מהשרת (SSE)/HTTP שניתנים להזרמה שלא נדרשים בהם סוגים מיוחדים של אימות
- כלים שסופקו על ידי שרתי MCP
- אין תמיכה כרגע:
- שרתים שנדרש עבורם ממשק משתמש גרפי או סשן במחשב
- הנחיות, דגימה או משאבים אחרים שסופקו על ידי שרתי MCP
הוספה של שרת MCP
בסייר
(Ctrl+Shift+E)
, עורכים או יוצרים את קובץ ההגדרות של MCP.Gemini ב-Firebase Chat משתמש ב-
.idx/mcp.json
.Gemini CLI משתמש ב-
.gemini/settings.json
.
אם הקובץ עדיין לא קיים, יוצרים אותו על ידי לחיצה ימנית על ספריית האב ובחירה באפשרות New file (קובץ חדש). יוצרים או עורכים את שני הקבצים כדי להשתמש בשרת MCP ב-Gemini ב-Firebase וב-Gemini CLI.
מוסיפים את הגדרות השרת לתוכן של הקובץ. לדוגמה, כדי להוסיף את שרת ה-MCP של Firebase, מזינים:
{ "mcpServers": { "firebase": { "command": "npx", "args": [ "-y", "firebase-tools@latest", "experimental:mcp" ] } } }
קובץ ההגדרות הזה מורה ל-Gemini באיזה שרת MCP רוצים להשתמש. בדוגמה הזו הוספנו שרת אחד בשם
firebase
שישתמש בפקודהnpx
כדי להתקין ולהפעיל אתfirebase-tools@latest
. שרתי MCP אחרים דורשים הגדרות שונות, אבל הם פועלים לפי אותו פורמט כללי.במסוף (
Shift+Ctrl+C
), מריצים את הפקודות הנדרשות כדי להשלים את ההתקנה. לדוגמה, כדי להשתמש בשרת Firebase MCP, מזינים את הפקודה הבאה כדי להיכנס לחשבון:firebase login --no-localhost
פועלים לפי ההוראות במסוף כדי לאשר את ההפעלה. חלק מהכלים דורשים פרויקט Firebase מקושר. אפשר להשתמש בשרת Firebase MCP כדי ליצור פרויקט, או להריץ את הפקודה הבאה כדי לאתחל פרויקט Firebase:
firebase init
פעולה זו יוצרת קובץ
firebase.json
בספריית הבסיס.כדי להשלים את ההגדרה, צריך לבנות מחדש את סביבת העבודה:
פותחים את לוח הפקודות (
Shift+Ctrl+P
).מזינים Firebase Studio: Rebuild Environment (Firebase Studio: בנייה מחדש של הסביבה).
שימוש בכלים של MCP
אחרי שמתקינים את שרת ה-MCP שרוצים להשתמש בו, הכלים או הנתונים שהוא מספק זמינים ב:
- Gemini CLI
- Gemini בצ'אט Firebase כשמשתמשים במצב סוכן ובמצב סוכן (הפעלה אוטומטית)
- App Prototyping agent
לדוגמה, אם מוסיפים את שרת ה-MCP של Firebase, אפשר לבקש מ-Gemini לאחזר את הגדרות ה-SDK של הפרויקט הנוכחי, לאחזר נתונים שמאוחסנים ב-Cloud Firestore וב-Realtime Database, לעזור בהגדרת שירותי Firebase, ועוד.
פתרון בעיות בשרתי MCP
אם שרת MCP לא פועל כמו שצריך, פותחים את Gemini היומנים כדי לבדוק אם יש שגיאות:
בקטע 'פלט' (
Shift+Ctrl+U
), לוחצים על התפריט הנפתח ובוחרים באפשרות Gemini.בודקים אם יש הודעות שמתחילות בתג
[MCPManager]
. היומנים האלה מכילים מידע על שרתי MCP שהוגדרו, וגם הודעות שגיאה. אפשר להשתמש במידע הזה כדי לפתור בעיות בהגדרות. כששרת MCP מתחבר בהצלחה, מוצגת רשימה של הכלים שהוא הוסיף.
אם שרת MCP לא מצליח להתקין או להתחבר, מנסים לבנות מחדש את סביבת העבודה:
פותחים את לוח הפקודות (
Shift+Ctrl+P
).מזינים Firebase Studio: Rebuild Environment (Firebase Studio: בנייה מחדש של הסביבה).
מחכים עד שסביבת העבודה תיבנה מחדש, ואז מנסים שוב להשתמש בשרת ה-MCP שבחרתם.
אם שרת ה-MCP מתחבר, אבל Gemini לא משתמש בכלים שהוא מספק:
אם Gemini יכול לבצע את המשימה בלי להשתמש בכלי MCP, הוא עשוי לנסות שיטה אחרת. אם אתם רוצים להשתמש בכלי ספציפי, נסו לציין את שם הכלי בהנחיה. לדוגמה, אפשר להגיד "Use
firebase_get_sdk_config
to get the SDK config for the current project".
השלבים הבאים
- שילוב עם Firebase ושירותי Google.
- יצירת תבניות בהתאמה אישית.
- הוספת לחצן 'פתיחה באמצעות Firebase Studio '
- מידע נוסף על Firebase Studio סביבות עבודה
- מידע נוסף על שרת ה-MCP של Firebase
- משלימים את ה-codelab של שרת ה-MCP של Firebase Studio.