فضای کاری Firebase Studio خود را سفارشی کنید

Firebase Studio به شما این امکان را می دهد تا با تعریف یک فایل پیکربندی .idx/dev.nix که شرح می دهد، فضای کاری خود را مطابق با نیازهای منحصر به فرد پروژه خود تنظیم کنید:

  • ابزارهای سیستمی که باید بتوانید اجرا کنید (مثلاً از ترمینال)، مانند کامپایلرها یا باینری های دیگر.
  • افزونه هایی که باید نصب کنید (مثلاً پشتیبانی از زبان برنامه نویسی).
  • پیش‌نمایش‌های برنامه شما چگونه باید نمایش داده شوند (به عنوان مثال، دستورات اجرای وب سرور شما).
  • متغیرهای محیط جهانی در دسترس سرورهای محلی در حال اجرا در فضای کاری شما.

برای توضیح کامل آنچه در دسترس است به مرجع dev.nix مراجعه کنید.

با افزودن یک فایل .idx/mcp.json (برای Gemini در Firebase ) یا .gemini/settings.json (برای Gemini CLI ) به پروژه خود، می‌توانید به سرورهای پروتکل بافت مدل (MCP) از جمله سرور Firebase MCP متصل شوید.

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 آسان‌تر برای اشتراک‌گذاری و بازتولید هستند.

از باینری های گره محلی استفاده کنید

درست مانند ماشین محلی شما، باینری های مربوط به بسته های گره نصب شده به صورت محلی (به عنوان مثال، بسته های تعریف شده در package.json شما) را می توان با فراخوانی آنها با دستور 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 به دو روش نصب کنید:

  • از پنل Extensions در Firebase Studio برای کشف و نصب افزونه ها استفاده کنید. این رویکرد برای برنامه های افزودنی خاص کاربر مانند:

    • تم های رنگی سفارشی
    • شبیه سازی ویرایشگر، مانند VSCodeVim
  • پسوندها را به فایل dev.nix خود اضافه کنید . هنگامی که پیکربندی فضای کاری خود را به اشتراک می گذارید، این افزونه ها به طور خودکار نصب می شوند. این رویکرد برای برنامه های افزودنی خاص پروژه مانند:

    • پسوندهای زبان برنامه نویسی، از جمله اشکال زداهای خاص زبان
    • برنامه های افزودنی رسمی برای سرویس های ابری مورد استفاده در پروژه شما
    • فرمت کننده های کد

برای رویکرد دوم، می‌توانید پسوندهای IDE را با یافتن شناسه پسوند کاملاً واجد شرایط (از فرم <publisher>.<id> ) و افزودن آن به شی idx.extensions در فایل dev.nix خود قرار دهید:

{ 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 همچنین تنظیمات و پیکربندی ساده‌شده‌ای را برای سرویس‌های رایجی که ممکن است در طول توسعه به آن نیاز داشته باشید، ارائه می‌دهد، از جمله:

  • ظروف
    • داکر ( services.docker.* )
  • پیام رسانی
    • شبیه ساز Pub/Sub ( services.pubsub.* )
  • پایگاه های داده
    • MySQL ( services.mysql.* )
    • Postgres ( services.postgres.* )
    • Redis ( services.redis.* )
    • آچار ( services.spanner.* )

برای جزئیات فعال کردن این سرویس‌ها در فضای کاری خود، به بخش‌های services.* از مرجع dev.nix مراجعه کنید.

سفارشی کردن پیش نمایش ها

برای جزئیات در مورد نحوه سفارشی کردن پیش‌نمایش‌های برنامه، به پیش‌نمایش برنامه خود مراجعه کنید.

نماد فضای کاری خود را تنظیم کنید

می‌توانید با قرار دادن یک فایل PNG به نام icon.png در داخل فهرست .idx در همان سطح فایل dev.nix ، یک نماد سفارشی برای فضای کاری خود انتخاب کنید. سپس Firebase Studio از این نماد برای نشان دادن فضای کاری شما در داشبورد استفاده می کند.

از آنجایی که این فایل را می توان در کنترل منبع (مانند Git) بررسی کرد، این یک راه خوب برای کمک به همه کسانی است که روی پروژه شما کار می کنند، هنگام استفاده از Firebase Studio همان نماد پروژه شما را ببینند. و از آنجایی که فایل می‌تواند در شاخه‌های Git متفاوت باشد، می‌توانید از این نماد برای تمایز بصری بین فضای کاری برنامه‌های بتا و تولیدی و برای اهداف دیگر استفاده کنید.

سفارشی سازی های خود را به یک الگو تبدیل کنید

برای تبدیل پیکربندی محیط خود به یک "محیط آغازین" که هر کسی می تواند از آن برای ساخت پروژه های جدید استفاده کند، به اسناد ایجاد قالب های سفارشی مراجعه کنید.

تمام گزینه های سفارشی سازی را کاوش کنید

مرجع dev.nix را برای شرح مفصلی از طرح پیکربندی محیط بررسی کنید.

فایل های خود را دانلود کنید

برای دانلود فایل های خود به صورت فایل فشرده:

  • روی هر دایرکتوری در پنجره Explorer کلیک راست کرده و Zip and Download را انتخاب کنید.

برای دانلود همه چیز در فهرست پروژه خود:

  1. File > Open Folder را انتخاب کنید.

  2. پوشه پیش فرض /home/user بپذیرید.

  3. پس از بارگیری فایل ها، روی پوشه کاری خود کلیک راست کرده و Zip and Download را انتخاب کنید. اگر از App Prototyping agent استفاده می کنید، دایرکتوری کاری شما studio خواهد بود. اگر از یک الگو یا پروژه آپلود شده استفاده می کنید، این نام پروژه شما خواهد بود.

  4. هنگامی که از شما برای بازسازی محیط خواسته شد، روی لغو کلیک کنید.

  5. پس از اتمام دانلود، دایرکتوری کاری خود را از منوی File دوباره باز کنید تا به فضای کاری خود برگردید.

از سرورهای MCP استفاده کنید

سرورهای MCP ابزارها و منابع داده دیگری را برای استفاده Gemini فراهم می کنند. به عنوان مثال، می‌توانید سرور Firebase MCP را برای کاوش در داده‌های خود در Cloud Firestore با استفاده از زبان طبیعی در حالی که در حال ساختن یا اشکال‌زدایی برنامه خود هستید، اضافه کنید.

پیش نیازها

  • اگر سرور MCP به آن نیاز دارد، مطمئن شوید که Node.js و npm را نصب کرده اید.

یک سرور MCP سازگار انتخاب کنید

Firebase Studio دارای پشتیبانی اساسی از سرورهای MCP است، به این معنی که همه سرورهای MCP سازگار نیستند. هنگام انتخاب یک سرور MCP برای افزودن به فضای کاری Firebase Studio خود، موارد زیر را در نظر داشته باشید:

  • پشتیبانی شده:
    • ورودی/خروجی استاندارد (stdio) یا رویدادهای ارسال شده از سرور (SSE)/سرورهای انتقال HTTP قابل جریان که به اشکال خاصی از احراز هویت نیاز ندارند
    • ابزارهای ارائه شده توسط سرورهای MCP
  • در حال حاضر پشتیبانی نمی شود:
    • سرورهایی که به یک رابط کاربری گرافیکی یا یک جلسه دسکتاپ نیاز دارند
    • درخواست ها، نمونه گیری یا سایر منابع ارائه شده توسط سرورهای MCP

یک سرور MCP اضافه کنید

  1. از Explorer (Ctrl+Shift+E) ، فایل پیکربندی MCP را ویرایش یا ایجاد کنید.

    • Gemini در چت Firebase از .idx/mcp.json استفاده می کند.

    • Gemini CLI از .gemini/settings.json استفاده می کند.

    اگر فایل هنوز وجود ندارد، با کلیک راست روی پوشه والد و انتخاب فایل جدید ، آن را ایجاد کنید. هر دو فایل را برای استفاده از سرور MCP در Gemini در Firebase و Gemini CLI ایجاد یا ویرایش کنید.

  2. پیکربندی سرور را به محتوای فایل اضافه کنید. به عنوان مثال، برای افزودن سرور Firebase MCP، وارد کنید:

    {
      "mcpServers": {
       "firebase": {
         "command": "npx",
         "args": [
           "-y",
           "firebase-tools@latest",
           "experimental:mcp"
          ]
        }
      }
    }
    

    این فایل پیکربندی به Gemini دستور می دهد که از کدام سرور MCP استفاده کند. در این مثال، ما یک سرور به نام firebase اضافه کرده‌ایم که از دستور npx برای نصب و اجرای firebase-tools@latest استفاده می‌کند. سایر سرورهای MCP به پیکربندی‌های متفاوتی نیاز دارند، اما از همان قالب کلی پیروی می‌کنند.

  3. در ترمینال ( Shift+Ctrl+C )، دستورات لازم را برای تکمیل نصب اجرا کنید. به عنوان مثال، برای استفاده از سرور Firebase MCP، دستور زیر را وارد کنید تا وارد حساب کاربری خود شوید:

    firebase login --no-localhost
    

    دستورالعمل های موجود در ترمینال را برای مجوز دادن به جلسه دنبال کنید. برخی از ابزارها به پروژه Firebase متصل نیاز دارند. می توانید از سرور Firebase MCP برای ایجاد یک پروژه استفاده کنید، یا می توانید دستور زیر را برای مقداردهی اولیه پروژه Firebase اجرا کنید:

    firebase init
    

    این یک فایل firebase.json در دایرکتوری ریشه شما ایجاد می کند.

  4. برای تکمیل تنظیمات، فضای کاری خود را بازسازی کنید:

    1. پالت فرمان ( Shift+Ctrl+P ) را باز کنید.

    2. وارد Firebase Studio: Rebuild Environment شوید .

از ابزارهای MCP استفاده کنید

پس از نصب سرور MCP که می‌خواهید استفاده کنید، ابزارها یا داده‌هایی که ارائه می‌کند در دسترس هستند:

  • جمینی CLI
  • Gemini در چت Firebase هنگام استفاده از حالت Agent و Agent (Auto-Run) حالت
  • App Prototyping agent

برای مثال، اگر سرور Firebase MCP را اضافه کنید، می‌توانید از Gemini بخواهید که پیکربندی SDK را برای پروژه فعلی واکشی کند، داده‌های ذخیره شده در Cloud Firestore و Realtime Database بازیابی کند، به شما در راه‌اندازی خدمات Firebase کمک کند، و موارد دیگر .

عیب یابی سرورهای MCP

اگر سرور MCP همانطور که انتظار می رود کار نمی کند، گزارش های Gemini خود را برای بررسی خطاها باز کنید:

  1. در خروجی ( Shift+Ctrl+U )، روی منوی کشویی کلیک کنید و Gemini را انتخاب کنید.

  2. پیام هایی را که با یک برچسب [MCPManager] شروع می شوند بررسی کنید. این گزارش‌ها حاوی اطلاعاتی درباره سرورهای MCP راه‌اندازی شده‌اند، همراه با هرگونه پیام خطا. از این اطلاعات برای عیب یابی پیکربندی خود استفاده کنید. هنگامی که یک سرور MCP با موفقیت وصل شد، فهرستی از ابزارهایی را که اضافه کرده است خواهید دید.

اگر سرور MCP نصب یا وصل نشد، فضای کاری خود را بازسازی کنید:

  1. پالت فرمان ( Shift+Ctrl+P ) را باز کنید.

  2. وارد Firebase Studio: Rebuild Environment شوید .

  3. منتظر بمانید تا فضای کاری شما بازسازی شود و سپس دوباره سعی کنید از سرور MCP انتخابی خود استفاده کنید.

اگر سرور MCP متصل شود، اما Gemini از ابزارهایی که ارائه می کند استفاده نمی کند:

مراحل بعدی