আপনার ফায়ারবেস স্টুডিও ওয়ার্কস্পেস কাস্টমাইজ করুন

Firebase Studio আপনাকে একটি একক .idx/dev.nix কনফিগারেশন ফাইল সংজ্ঞায়িত করে আপনার প্রকল্পের অনন্য চাহিদা অনুযায়ী আপনার কর্মক্ষেত্রকে উপযোগী করতে দেয় যা বর্ণনা করে:

  • আপনার যে সিস্টেম টুলগুলি চালাতে হবে (উদাহরণস্বরূপ, টার্মিনাল থেকে), যেমন কম্পাইলার বা অন্যান্য বাইনারি।
  • আপনার ইনস্টল করা এক্সটেনশনগুলি (উদাহরণস্বরূপ, প্রোগ্রামিং ভাষা সমর্থন)।
  • আপনার অ্যাপের প্রিভিউগুলি কীভাবে দেখানো উচিত (উদাহরণস্বরূপ, আপনার ওয়েব সার্ভার চালানোর কমান্ড)।
  • আপনার কর্মক্ষেত্রে চলমান স্থানীয় সার্ভারগুলিতে বিশ্বব্যাপী পরিবেশের ভেরিয়েবল উপলব্ধ।

কি পাওয়া যায় তার সম্পূর্ণ বিবরণের জন্য dev.nix রেফারেন্স দেখুন।

নিক্স এবং Firebase Studio

Firebase Studio প্রতিটি ওয়ার্কস্পেসের জন্য পরিবেশ কনফিগারেশন সংজ্ঞায়িত করতে Nix ব্যবহার করে। বিশেষত, Firebase Studio ব্যবহার করে:

  • কর্মক্ষেত্রের পরিবেশ বর্ণনা করার জন্য নিক্স প্রোগ্রামিং ভাষা । নিক্স একটি কার্যকরী প্রোগ্রামিং ভাষা। আপনি dev.nix ফাইলে যে অ্যাট্রিবিউট এবং প্যাকেজ লাইব্রেরিগুলি নির্ধারণ করতে পারেন সেগুলি Nix অ্যাট্রিবিউট সেট সিনট্যাক্স অনুসরণ করে।

  • আপনার কর্মক্ষেত্রে উপলব্ধ সিস্টেম সরঞ্জামগুলি পরিচালনা করতে নিক্স প্যাকেজ ম্যানেজার । এটি OS-নির্দিষ্ট প্যাকেজ ম্যানেজার যেমন APT ( apt এবং apt-get ), Homebrew ( brew ), এবং dpkg এর মতো।

যেহেতু Nix পরিবেশগুলি পুনরুত্পাদনযোগ্য এবং ঘোষণামূলক, Firebase Studio এর পরিপ্রেক্ষিতে, এর অর্থ হল আপনি আপনার নিক্স কনফিগারেশন ফাইলটি আপনার গিট রিপোজিটরির অংশ হিসাবে শেয়ার করতে পারেন যাতে আপনার প্রোজেক্টে যারা কাজ করে তাদের প্রত্যেকের একই পরিবেশ কনফিগারেশন রয়েছে।

একটি মৌলিক উদাহরণ

নিম্নলিখিত উদাহরণটি পূর্বরূপ সক্ষম করে একটি মৌলিক পরিবেশ কনফিগারেশন দেখায়:

{ 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 প্যাকেজ রেজিস্ট্রিতে অনন্য প্যাকেজ আইডি খুঁজুন এবং এটি আপনার dev.nix ফাইলের packages অবজেক্টে যোগ করুন, যা `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
  ];
  ...
}

আপনি সাধারণত OS-নির্দিষ্ট প্যাকেজ পরিচালক যেমন APT ( apt এবং apt-get ), Homebrew ( brew ), এবং dpkg ব্যবহার করে সিস্টেম প্যাকেজ ইনস্টল করতে পারেন তার থেকে এটি আলাদা। কোন সিস্টেম প্যাকেজগুলি প্রয়োজন তা ঘোষণামূলকভাবে বর্ণনা করার অর্থ হল Firebase Studio ওয়ার্কস্পেসগুলি ভাগ করা এবং পুনরুত্পাদন করা সহজ৷

স্থানীয় নোড বাইনারি ব্যবহার করুন

আপনার স্থানীয় মেশিনের মতো, স্থানীয়ভাবে ইনস্টল করা নোড প্যাকেজগুলির সাথে সম্পর্কিত বাইনারিগুলি (উদাহরণস্বরূপ, আপনার package.json এ সংজ্ঞায়িত প্যাকেজগুলি ) npx কমান্ডের সাহায্যে একটি টার্মিনাল প্যানেলে কার্যকর করা যেতে পারে।

একটি অতিরিক্ত সুবিধা হিসাবে, আপনি যদি একটি node_modules ফোল্ডার (যেমন একটি ওয়েব প্রকল্পের রুট ডিরেক্টরি) সহ একটি ডিরেক্টরিতে থাকেন তবে npx উপসর্গ ছাড়াই স্থানীয়ভাবে ইনস্টল করা বাইনারিগুলিকে সরাসরি আহ্বান করা যেতে পারে৷

gcloud উপাদান যোগ করুন

Google Cloud জন্য gcloud CLI- এর একটি ডিফল্ট কনফিগারেশন সমস্ত Firebase Studio ওয়ার্কস্পেসগুলিতে উপলব্ধ।

আপনার যদি অতিরিক্ত উপাদানের প্রয়োজন হয়, আপনি সেগুলিকে আপনার dev.nix ফাইলে যোগ করতে পারেন:

{ pkgs }: {
  packages = [
    ...
    (pkgs.google-cloud-sdk.withExtraComponents [
      pkgs.google-cloud-sdk.components.cloud-datastore-emulator
    ])
    ...
  ];
}

IDE এক্সটেনশন যোগ করুন

আপনি দুটি উপায়ে OpenVSX এক্সটেনশন রেজিস্ট্রি ব্যবহার করে Firebase Studio এক্সটেনশন ইনস্টল করতে পারেন:

  • এক্সটেনশনগুলি আবিষ্কার এবং ইনস্টল করতে Firebase Studio এক্সটেনশন প্যানেল ব্যবহার করুন। এই পদ্ধতিটি ব্যবহারকারী-নির্দিষ্ট এক্সটেনশনগুলির জন্য সর্বোত্তম, যেমন:

    • কাস্টম রঙ থিম
    • VSCodeVim এর মত এডিটর এমুলেশন
  • আপনার dev.nix ফাইলে এক্সটেনশন যোগ করুন । আপনি যখন আপনার ওয়ার্কস্পেস কনফিগারেশন শেয়ার করবেন তখন এই এক্সটেনশনগুলি স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যাবে। এই পদ্ধতিটি প্রজেক্ট-নির্দিষ্ট এক্সটেনশনের জন্য সর্বোত্তম, যেমন:

    • ভাষা-নির্দিষ্ট ডিবাগার সহ প্রোগ্রামিং ভাষা এক্সটেনশন
    • আপনার প্রকল্পে ব্যবহৃত ক্লাউড পরিষেবার জন্য অফিসিয়াল এক্সটেনশন
    • কোড ফরম্যাটার

পরবর্তী পদ্ধতির জন্য, আপনি আপনার dev.nix ফাইলে IDE এক্সটেনশনগুলি অন্তর্ভুক্ত করতে পারেন সম্পূর্ণরূপে-যোগ্য এক্সটেনশন আইডি (ফর্ম <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 সাধারণ পরিষেবাগুলির জন্য সরলীকৃত সেটআপ এবং কনফিগারেশন অফার করে যা আপনার বিকাশের সময় প্রয়োজন হতে পারে, যার মধ্যে রয়েছে:

  • পাত্রে
    • ডকার ( services.docker.* )
  • মেসেজিং
    • পাব/সাব এমুলেটর ( services.pubsub.* )
  • ডাটাবেস
    • মাইএসকিউএল ( services.mysql.* )
    • Postgres ( services.postgres.* )
    • Redis ( services.redis.* )
    • স্প্যানার ( services.spanner.* )

আপনার কর্মক্ষেত্রে এই পরিষেবাগুলি সক্ষম করার বিষয়ে বিশদ বিবরণের জন্য, services.* dev.nix রেফারেন্সের অংশগুলি।

পূর্বরূপ কাস্টমাইজ করুন

আপনার অ্যাপের পূর্বরূপগুলি কীভাবে কাস্টমাইজ করবেন তার বিশদ বিবরণের জন্য, আপনার অ্যাপের পূর্বরূপ দেখুন।

আপনার ওয়ার্কস্পেস আইকন সেট করুন

আপনি আপনার dev.nix ফাইলের মতো একই স্তরে .idx ডিরেক্টরির ভিতরে icon.png নামের একটি PNG ফাইল রেখে আপনার ওয়ার্কস্পেসের জন্য একটি কাস্টম আইকন বেছে নিতে পারেন। Firebase Studio আপনার ড্যাশবোর্ডে আপনার ওয়ার্কস্পেস উপস্থাপন করতে এই আইকনটি ব্যবহার করবে।

যেহেতু এই ফাইলটি সোর্স কন্ট্রোলে চেক করা যেতে পারে (যেমন গিট), এটি আপনার প্রোজেক্টে কাজ করে এমন প্রত্যেককে Firebase Studio ব্যবহার করার সময় আপনার প্রোজেক্টের জন্য একই আইকন দেখতে সাহায্য করার একটি ভাল উপায়। এবং যেহেতু ফাইলটি গিট শাখা জুড়ে পরিবর্তিত হতে পারে, আপনি এই আইকনটি ব্যবহার করতে পারেন বিটা এবং প্রোডাকশন অ্যাপ ওয়ার্কস্পেস এবং অন্যান্য উদ্দেশ্যে দৃশ্যত পার্থক্য করতে।

আপনার কাস্টমাইজেশনগুলিকে একটি টেমপ্লেটে পরিণত করুন৷

আপনার এনভায়রনমেন্ট কনফিগারেশনকে "স্টার্টার এনভায়রনমেন্ট"-এ পরিণত করতে যে কেউ নতুন প্রজেক্ট তৈরি করতে ব্যবহার করতে পারে, কাস্টম টেমপ্লেট তৈরি করার জন্য ডক্স দেখুন।

সমস্ত কাস্টমাইজেশন বিকল্পগুলি অন্বেষণ করুন৷

পরিবেশ কনফিগারেশন স্কিমার বিশদ বিবরণের জন্য dev.nix রেফারেন্স দেখুন।

পরবর্তী পদক্ষেপ