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

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

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

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

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

IntelliJ, Android Studio, और CLion

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

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

विशेषताएं:

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

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

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

Xcode

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

विज़ुअल स्टूडियो कोड

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 टारगेट बनाए जा सकते हैं.

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

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