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

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

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

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

IDE और एडिटर

IntelliJ, Android Studio, और CLion

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

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

विशेषताएं:

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

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

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

Xcode

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

Visual Studio Code

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

विशेषताएं:

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

Visual Studio Marketplace पर प्लगिन ढूंढें. यह प्लगिन, एक ओपन सोर्स प्लगिन है.

यह भी देखें: सोर्स कोड के लिए, अपने-आप पूरा होने की सुविधा

ऐटम

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

यह भी देखें: सोर्स कोड के लिए, अपने-आप पूरा होने की सुविधा

विम वर्शन

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

यह भी देखें: सोर्स कोड के लिए, अपने-आप पूरा होने की सुविधा

Emacs

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

यह भी देखें: सोर्स कोड के लिए, अपने-आप पूरा होने की सुविधा

Visual Studio

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

इक्लिप्स

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

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

C Language Family (C++, C, Objective-C, और Objective-C++)

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

Java

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

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

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

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

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