अपना IDX फ़ाइल फ़ोल्डर पसंद के मुताबिक बनाएं

Project IDX की मदद से, अपने फ़ाइल फ़ोल्डर को अपने प्रोजेक्ट की ज़रूरतों के मुताबिक बनाया जा सकता है एक .idx/dev.nix कॉन्फ़िगरेशन फ़ाइल के बारे में जानकारी दें, जो यह बताती है:

  • वे सिस्टम टूल जिन्हें चलाने की ज़रूरत आपको होती है (उदाहरण के लिए, टर्मिनल), जैसे कि कंपाइलर या अन्य बाइनरी.
  • वे IDE एक्सटेंशन जिन्हें आपको इंस्टॉल करना होगा. उदाहरण के लिए, प्रोग्रामिंग भाषा सहायता).
  • आपकी ऐप्लिकेशन की झलक कैसी दिखनी चाहिए (ऐप्लिकेशन की खास जानकारी के लिए उदाहरण के लिए, आपके वेब सर्वर को चलाने के लिए कमांड).
  • ग्लोबल एनवायरमेंट वैरिएबल, आपकी वेबसाइट पर चल रहे लोकल सर्वर के लिए उपलब्ध है name@yourcompany.com जैसा कोई प्रोफ़ेशनल ईमेल पता बनाएं. इससे आपका कारोबार ज़्यादा भरोसेमंद बनेगा.

ज़्यादा जानकारी के लिए, dev.nix के बारे में जानकारी देखें उपलब्ध जानकारी का ब्यौरा.

निक्स और IDX

IDX की मदद से, तय करने के लिए Nix का इस्तेमाल किया जाता है हर वर्कस्पेस के लिए एनवायरमेंट कॉन्फ़िगरेशन की ज़रूरत होती है. IDX खास तौर पर इनका इस्तेमाल करता है:

क्योंकि निक्स एनवायरमेंट, दोबारा पैदा किए जा सकते हैं और निर्देश दिए जाते हैं. IDX का इस्तेमाल कर सकते हैं, इसका मतलब है कि आप 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_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";
      };
    };
  };
}

सिस्टम के टूल जोड़ें

अपने फ़ाइल फ़ोल्डर में सिस्टम टूल, जैसे कि कंपाइलर या सीएलआई प्रोग्राम को क्लाउड सेवाएं, 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_18
  ];
  ...
}

यह तरीका, आम तौर पर इस्तेमाल किए जाने वाले सिस्टम पैकेज को इंस्टॉल करने के तरीके से अलग है ओएस के लिए खास पैकेज मैनेजर, जैसे कि APT (apt और apt-get), Homebrew (brew), और dpkg. साफ़ तौर पर यह बताना कि सिस्टम पैकेज कौनसे हैं इसका मतलब है कि IDX फ़ाइल फ़ोल्डर को शेयर करना और उसे फिर से बनाना आसान है.

लोकल नोड बाइनरी का इस्तेमाल करें

ठीक आपकी लोकल मशीन की तरह, लोकल तौर पर इंस्टॉल किए गए नोड से जुड़ी बाइनरी पैकेज (यानी आपके package.json में तय किए गए पैकेज) को टर्मिनल पैनल को npx के साथ शुरू करें कमांड इस्तेमाल करें.

अगर आप node_modules वाली डायरेक्ट्री में हैं, तो अतिरिक्त सुविधा के तौर पर फ़ोल्डर (जैसे कि किसी वेब प्रोजेक्ट की रूट डायरेक्ट्री), स्थानीय तौर पर इंस्टॉल की गई बाइनरी npx प्रीफ़िक्स के बिना, सीधे इस्तेमाल किया जा सकता है.

gcloud कॉम्पोनेंट जोड़ें

Google के लिए gcloud सीएलआई का डिफ़ॉल्ट कॉन्फ़िगरेशन Cloud का इस्तेमाल सभी IDX के लिए किया जा सकता है फ़ाइल फ़ोल्डर.

अगर आपको अतिरिक्त कॉम्पोनेंट की ज़रूरत है, तो उन्हें अपनी dev.nix फ़ाइल में जोड़ें, जैसे इसलिए:

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

IDE एक्सटेंशन जोड़ें

IDX में एक्सटेंशन इंस्टॉल करने के लिए, इनका इस्तेमाल करें: OpenVSX एक्सटेंशन रजिस्ट्री के दो तरीके हैं:

  • खोजने और इंस्टॉल करने के लिए, IDX में एक्सटेंशन पैनल का इस्तेमाल करके एक्सटेंशन. यह तरीका उपयोगकर्ता के हिसाब से बनाए गए एक्सटेंशन के लिए सबसे अच्छा है, जैसे:

    • पसंद के हिसाब से रंग वाली थीम
  • अपनी 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"
  ];
  ...
}

सामान्य सेवाएं जोड़ें

IDX की मदद से, आपको सामान्य सेवाओं के लिए आसान सेटअप और कॉन्फ़िगरेशन भी मिलता है डेवलपमेंट के दौरान इन चीज़ों की ज़रूरत पड़ सकती है:

  • कंटेनर
    • डॉकर (services.docker.*)
  • मैसेज सेवा वाले ऐप्लिकेशन
    • Pub/Sub एम्युलेटर (services.pubsub.*)
  • डेटाबेस
    • MySQL (services.mysql.*)
    • पोस्टग्रेस (services.postgres.*)
    • रेडिस (services.redis.*)
    • स्पैनर (services.spanner.*)

अपने फ़ाइल फ़ोल्डर में इन सेवाओं को चालू करने के बारे में जानने के लिए, services.* देखें dev.nix रेफ़रंस के हिस्से शामिल करें.

झलकों को पसंद के मुताबिक बनाना

अपने ऐप्लिकेशन की झलक को पसंद के मुताबिक बनाने का तरीका जानने के लिए, झलक देखें.

वर्कस्पेस का आइकॉन सेट करना

आप फ़ाइल फ़ोल्डर के लिए एक कस्टम आइकॉन चुनने के लिए, .idx डायरेक्ट्री में, dev.nix फ़ाइल के बगल में मौजूद icon.png. IDX डैशबोर्ड में आपका फ़ाइल फ़ोल्डर दिखाने के लिए, इस आइकॉन का इस्तेमाल किया जाएगा.

इस फ़ाइल की जांच सोर्स कंट्रोल (जैसे कि Git) में की जा सकती है, इसलिए यह एक यह आपके प्रोजेक्ट पर काम करने वाले सभी लोगों की प्रोजेक्ट के लिए इसका इस्तेमाल किया जा सकता है. और क्योंकि Git की सभी शाखाओं में फ़ाइल अलग-अलग हो सकती है, "बीटा" वर्शन पर काम करते समय, फ़ाइल फ़ोल्डर को विज़ुअल तौर पर अलग करने के लिए किया जा सकता है और "प्रोडक्शन" अपने ऐप्लिकेशन की रिलीज़ के बारे में ज़्यादा जानें.

अपने कस्टमाइज़ेशन को टेम्प्लेट में बदलें

अपने एनवायरमेंट कॉन्फ़िगरेशन को "स्टार्टर एनवायरमेंट" में बदलने के लिए किसी के लिए भी की मदद से नए प्रोजेक्ट बनाने के लिए, कस्टम प्रॉपर्टी बनाने टेंप्लेट के बारे में ज़्यादा जानें.

पसंद के मुताबिक बनाने के सभी विकल्प देखें

ज़्यादा जानकारी के लिए dev.nix का रेफ़रंस देखें एनवायरमेंट कॉन्फ़िगरेशन स्कीमा की जानकारी.