Bazel को IDE के साथ इंटिग्रेट करना

किसी समस्या की शिकायत करें सोर्स देखें Nightly · 8.0 · 7.4 · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

इस पेज पर, IntelliJ, Android Studio, और CLion जैसे आईडीई के साथ Bazel को इंटिग्रेट करने का तरीका बताया गया है. इसके अलावा, अपना आईडीई प्लग इन बनाने का तरीका भी बताया गया है. इसमें इंस्टॉलेशन और प्लग इन की जानकारी वाले लिंक भी शामिल हैं.

आईडीई, Bazel के साथ कई तरीकों से इंटिग्रेट होते हैं. इनमें, आईडीई में Bazel को चलाने की सुविधाओं से लेकर, Bazel के स्ट्रक्चर के बारे में जानकारी देना शामिल है. जैसे, BUILD फ़ाइलों के सिंटैक्स को हाइलाइट करना.

अगर आपको Bazel के लिए कोई एडिटर या IDE प्लग इन बनाना है, तो कृपया Bazel Slack पर #ide चैनल में शामिल हों या GitHub पर चर्चा शुरू करें.

आईडीई और एडिटर

IntelliJ, Android Studio, और CLion

IntelliJ, Android Studio, और CLion के लिए आधिकारिक प्लग-इन. यह प्लग इन ओपन सोर्स है.

यह Google में अंदरूनी तौर पर इस्तेमाल किए जाने वाले प्लग इन का ओपन सोर्स वर्शन है.

विशेषताएं:

  • अलग-अलग भाषाओं के प्लग इन के साथ इंटरऑपरेट करना. इन भाषाओं में यह सुविधा इस्तेमाल की जा सकती है: Java, Scala, और Python.
  • Bazel टारगेट की सेमेटिक जानकारी के साथ, IDE में BUILD फ़ाइलें इंपोर्ट करें.
  • अपने आईडीई को Starlark के बारे में बताएं. यह वह भाषा है जिसका इस्तेमाल Bazel की BUILD और .bzlफ़ाइलों के लिए किया जाता है
  • सीधे आईडीई से बाइनरी बनाना, टेस्ट करना, और उन्हें चलाना
  • बाइनरी को डीबग करने और चलाने के लिए कॉन्फ़िगरेशन बनाएं.

इंस्टॉल करने के लिए, IDE के प्लगिन ब्राउज़र पर जाएं और Bazel खोजें.

पुराने वर्शन को मैन्युअल तरीके से इंस्टॉल करने के लिए, JetBrains के प्लग इन रिपॉज़िटरी से ZIP फ़ाइलें डाउनलोड करें. इसके बाद, IDE के प्लग इन ब्राउज़र से ZIP फ़ाइल इंस्टॉल करें:

Xcode

rules_xcodeproj, Tulsi, और XCHammer, Bazel BUILD फ़ाइलों से Xcode प्रोजेक्ट जनरेट करते हैं.

Visual Studio Code

VS Code के लिए आधिकारिक प्लगिन.

विशेषताएं:

  • Bazel के बिल्ड टारगेट का ट्री
  • बिल्ड के दौरान .bzl फ़ाइलों के लिए Starlark डीबगर (ब्रेकपॉइंट सेट करना, कोड को सिलसिलेवार तरीके से देखना, वैरिएबल की जांच करना वगैरह)

Visual Studio के मार्केटप्लेस पर प्लग इन ढूंढें. प्लगिन ओपन सोर्स है.

यह भी देखें: सोर्स कोड के लिए ऑटोकंप्लीट की सुविधा

ऐटम

Atom पैकेज मैनेजर में, language-bazel पैकेज ढूंढें.

यह भी देखें: सोर्स कोड के लिए ऑटोकंप्लीट की सुविधा

Vim

GitHub पर bazelbuild/vim-bazel देखें

यह भी देखें: सोर्स कोड के लिए ऑटोकंप्लीट की सुविधा

Emacs

GitHub पर bazelbuild/bazel-emacs-mode देखें

यह भी देखें: सोर्स कोड के लिए ऑटोकंप्लीट की सुविधा

Visual Studio

Lavender, एक्सपेरिमेंट के तौर पर शुरू किया गया एक प्रोजेक्ट है. इसका मकसद, ऐसे Visual Studio प्रोजेक्ट जनरेट करना है जो बिल्ड करने के लिए Bazel का इस्तेमाल करते हैं.

इक्लिप्स

Bazel Eclipse की सुविधा, Eclipse प्रोजेक्ट के तौर पर Eclipse वर्कस्पेस में Bazel पैकेज इंपोर्ट करने के लिए, प्लग इन का एक सेट है.

सोर्स कोड के लिए अपने-आप पूरा होने की सुविधा

C भाषा परिवार (C++, C, Objective-C, और Objective-C++)

kiron1/bazel-compile-commands compile_commands.json फ़ाइल जनरेट करने के लिए, Bazel फ़ाइल फ़ोल्डर में bazel-compile-commands //... चलाएं. compile_commands.json फ़ाइल, clang-tidy, clangd (LSP) जैसे टूल और अन्य IDEs को चालू करती है, ताकि वे ऑटोकंप्लीट, स्मार्ट नेविगेशन, तुरंत सुधार करने की सुविधा वगैरह दे सकें. यह टूल C++ में लिखा गया है. साथ ही, यह कंपाइल करने के निर्देशों को निकालने के लिए, Bazel के Protobuf आउटपुट का इस्तेमाल करता है.

hedronvision/bazel-compile-commands-extractor, VSCode, Vim, Emacs, Atom, और Sublime जैसे कई तरह के एक्सटेंसिबल एडिटर में, ऑटोकंप्लीट, स्मार्ट नेविगेशन, तुरंत सुधार करने की सुविधा वगैरह चालू करता है. इससे clangd और ccls जैसे लैंग्वेज सर्वर और अन्य तरह के टूल, Bazel की इस समझ का इस्तेमाल कर पाते हैं कि cc और objc कोड को कैसे कंपाइल किया जाएगा. साथ ही, यह भी समझ पाते हैं कि अन्य प्लैटफ़ॉर्म के लिए क्रॉस-कंपाइलेशन को कैसे कॉन्फ़िगर किया जाता है.

Java

georgewfraser/java-language-server - Java Language Server (LSP), जो Bazel से बनाए गए प्रोजेक्ट के साथ काम करता है

फ़ाइल में बदलाव होने पर, बिल्ड और टेस्ट अपने-आप चलना

Bazel वॉचर, सोर्स फ़ाइलों में बदलाव होने पर Bazel टारगेट बनाने के लिए इस्तेमाल किया जाने वाला टूल है.

अपना IDE प्लगिन बनाना

IDE प्लग इन बनाते समय इस्तेमाल किए जाने वाले Bazel API के बारे में ज़्यादा जानने के लिए, IDE सहायता ब्लॉग पोस्ट पढ़ें.