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

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

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

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

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

IntelliJ, Android Studio, और CLion

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

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

विशेषताएं:

  • भाषा के हिसाब से प्लगिन के साथ इंटरऑपरेबिलिटी. इन भाषाओं का इस्तेमाल किया जा सकता है: Java, Scala, और Python.
  • Bazel टारगेट की सिमैंटिक जानकारी के साथ, BUILD फ़ाइलों को IDE में इंपोर्ट करें.
  • अपने आईडीई को 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 Marketplace पर प्लगिन ढूंढें. यह प्लगिन ओपन सोर्स है.

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

ऐटम

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

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

Vim

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

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

Emacs

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

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

Visual Studio

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

इक्लिप्स

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

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

C लैंग्वेज फ़ैमिली (C++, C, Objective-C, और Objective-C++)

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

Java

georgewfraser/java-language-server - Bazel की मदद से बनाए गए प्रोजेक्ट के साथ काम करने वाला Java Language Server (LSP)

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

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

अपना आईडीई प्लगिन बनाना

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