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

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

आईडीई को 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 प्रोजेक्ट जनरेट करते हैं.

Visual Studio Code

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 - Java Language Server (LSP), Bazel से बनाए गए प्रोजेक्ट के साथ काम करता है

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

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

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

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