本页介绍了如何将 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,以便了解 Bazel 目标的语义。 - 让 IDE 了解 Starlark,这是用于 Bazel 的
BUILD
和.bzl
文件的语言 - 直接从 IDE 中构建、测试和执行二进制文件
- 创建用于调试和运行二进制文件的配置。
如需安装,请转到 IDE 的插件浏览器并搜索 Bazel
。
如需手动安装旧版本,请从 JetBrains 插件代码库下载 ZIP 文件,然后通过 IDE 的插件浏览器安装 ZIP 文件:
Xcode
rules_xcodeproj、Tulsi 和 XCHammer 从 Bazel BUILD
文件生成 Xcode 项目。
Visual Studio Code
VS Code 的官方插件。
功能:
- Bazel 构建目标树
- 构建期间用于
.bzl
文件的 Starlark 调试程序(设置断点、单步调试代码、检查变量等)
在 Visual Studio 市场中找到该插件。该插件为开源插件。
另请参阅:源代码自动补全
Atom
在 Atom 软件包管理器中找到 language-bazel
软件包。
另请参阅:源代码自动补全
Vim
请参阅 GitHub 上的 bazelbuild/vim-bazel
另请参阅:源代码自动补全
Emac
请参阅 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 对 cc
和 objc
代码的编译方式的理解,包括它如何针对其他平台配置交叉编译。
Java
georgewfraser/java-language-server
- 支持 Bazel 构建项目的 Java 语言服务器 (LSP)
针对文件更改自动运行构建和测试
Bazel watcher 是一款在源文件发生更改时构建 Bazel 目标的工具。
构建您自己的 IDE 插件
阅读 IDE 支持博文,详细了解构建 IDE 插件时使用的 Bazel API。