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

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

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

अगर आपको 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 या OpenVSX 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 Workspace में Eclipse प्रोजेक्ट के तौर पर इंपोर्ट किया जा सकता है.

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

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

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

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

Java

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

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

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

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

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