將 Bazel 與 IDE 整合

回報問題 查看來源 夜間 7.2 7.1 7.0 6.5 6.4

本頁面說明如何整合 Bazel 與 IDE (例如 IntelliJ、Android) Studio 和 CLion (或自行建立 IDE 外掛程式)。此訊息也包含連至 安裝與外掛程式詳情

從允許 Bazel 的功能開始,IDE 會以各種方式與 Bazel 整合 從 IDE 內部執行,到感知 Bazel 結構 (如語法) 的疑慮 BUILD 檔案的醒目顯示。

如果您有意開發 Bazel 適用的編輯器或 IDE 外掛程式, 在 Bazel Slack 上加入 #ide 管道,或是開始 請前往 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, TulsiXCHammer 產生 Xcode 來自 Bazel BUILD 檔案的專案

Visual Studio Code

適用於 VS Code 的官方外掛程式。

功能:

  • Bazel 建構目標樹狀結構
  • 在建構期間為 .bzl 檔案執行 Starlark 偵錯工具 (設定中斷點,步驟 檢查變數等

在 Visual Studio 中尋找外掛程式 市集。 外掛程式屬於開放原始碼

另請參閱:原始碼自動完成

Atom

尋找 language-bazel 套件 在 Atom 套件管理員中設定

另請參閱:原始碼自動完成

皮姆

查看 GitHub 上的 bazelbuild/vim-bazel

另請參閱:原始碼自動完成

Emacs

查看:bazelbuild/bazel-emacs-mode GitHub

另請參閱:原始碼自動完成

Visual Studio

Lavender 是一項實驗專案 產生使用 Bazel 進行建構的 Visual Studio 專案。

Eclipse

Bazel Eclipse 功能 是一組外掛程式,可將 Bazel 套件匯入至 Eclipse 工作區 Eclipse 專案

原始碼自動完成

C 語言系列 (C++、C、Objective-C 和 Objective-C++)

hedronvision/bazel-compile-commands-extractor 具備多種可擴充的編輯器,包括 VSCode、Vim、Emacs、Atom 和 Sublime 等多種可擴充編輯器,支援自動完成、智慧導覽、快速修正等功能。可在 Bazel 瞭解 ccobjc 程式碼的編譯方式,包括為其他平台設定跨平台程式碼編譯的方式。

Java

georgewfraser/java-language-server - Java 語言伺服器 (LSP),支援 Bazel 建構的專案

在檔案變更時自動執行建構和測試

Bazel 觀察工具是一種 可在來源檔案變更時建構 Bazel 目標的工具。

建構自己的 IDE 外掛程式

閱讀 IDE 支援網誌 張貼文章瞭解詳情 瞭解建構 IDE 外掛程式時使用的 Bazel API。