將 Bazel 與 IDE 整合

回報問題 查看原始碼 Nightly · 8.0 . 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

本頁說明如何將 Bazel 與 IDE 整合,例如 IntelliJ、Android Studio 和 CLion (或自行建構 IDE 外掛程式)。並提供安裝和外掛程式詳細資料的連結。

IDE 會以多種方式與 Bazel 整合,從允許在 IDE 中執行 Bazel 的功能,到瞭解 Bazel 結構 (例如 BUILD 檔案的語法醒目顯示)。

如果您有意開發 Bazel 的編輯器或 IDE 外掛程式,請加入 Bazel Slack#ide 頻道,或在 GitHub 上發起討論。

IDE 和編輯器

IntelliJ、Android Studio 和 CLion

IntelliJ、Android Studio 和 CLion 專用的官方外掛程式。外掛程式為開放原始碼

這是 Google 內部使用的外掛程式開放原始碼版本。

功能:

  • 與語言專屬外掛程式的互通性。支援的語言包括 Java、Scala 和 Python。
  • BUILD 檔案匯入 IDE,並讓 IDE 瞭解 Bazel 目標的語意。
  • 讓 IDE 知道 Starlark,這是 Bazel 的 BUILD.bzl 檔案所使用的語言
  • 直接在 IDE 中建構、測試及執行二進位檔
  • 建立用於偵錯和執行二進位檔的設定。

如要安裝,請前往 IDE 的外掛程式瀏覽器,然後搜尋 Bazel

如要手動安裝舊版,請從 JetBrains 的外掛程式存放區下載 ZIP 檔案,然後從 IDE 的外掛程式瀏覽器安裝 ZIP 檔案:

Xcode

rules_xcodeprojTulsiXCHammer 會從 Bazel BUILD 檔案產生 Xcode 專案。

Visual Studio Code

VS Code 官方外掛程式。

功能:

  • Bazel 建構目標樹狀結構
  • 在建構期間,針對 .bzl 檔案提供 Starlark 偵錯工具 (設定中斷點、逐步執行程式碼、檢查變數等)

在 Visual Studio 市集上找出外掛程式。外掛程式為開放原始碼

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

Atom

在 Atom 套件管理工具中尋找 language-bazel 套件

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

Vim

請參閱 GitHub 上的 bazelbuild/vim-bazel

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

Emacs

前往 GitHub 查看 bazelbuild/bazel-emacs-mode

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

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。這項功能可讓語言伺服器 (例如 clangd 和 ccls) 以及其他類型的工具,利用 Bazel 對 ccobjc 程式碼的編譯方式瞭解,包括如何為其他平台設定交叉編譯。

Java

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

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

Bazel 監控器是一項工具,可在原始檔案變更時建構 Bazel 目標。

建構自己的 IDE 外掛程式

請參閱這篇 IDE 支援網誌文章,進一步瞭解建構 IDE 外掛程式時應使用的 Bazel API。