Bazel

Compatible with IntelliJ IDEA
Nov 17, 2017
13 408
Bazel support for IntelliJ. Features:
  • Import BUILD files into the IDE.
  • BUILD file custom language support.
  • Support for Bazel run configurations for certain rule classes.
Usage instructions at ij.bazel.build

Download plugin

Recent change notes

v2017.11.06

===========

* Go support: Better Bazel-specific support for Go import resolution.

* Suppress test failures showing up in the 'Problems' view

v2017.10.23

===========

* CLion: improve performance of the 'Navigate > Related Symbol' action.

* CLion: resolve file paths in run configuration console.

* ASwB: add Python support (for AS 3.0+).

* Fix resolution of python import statements.

v2017.10.09

===========

* Support 'Run with Coverage' for all Bazel test run configurations.

* Go-lang: Greatly improved import resolution.

* Go-lang: Add Bazel run configuration support.

* CLion: limit freezes when navigating between .cc and .h files.

* Add support for java_lite_proto_library.

v2017.09.25

===========

* Support HotSwapping when debugging java_binary targets.

* Add an 'Update Directories' sync action, to add directories to the project

without running Bazel (note: new directories won't properly resolve until

a full sync is run).

* JavaScript: reduce hangs while editing, by prefetching all indexed JS files

during sync.

* Suppress spurious 'never assigned' warnings for @Inject-annotated fields.

* Add basic support for custom java rules, providing the 'java_common' skylark

API.

* Python: prioritize project files over SDK packages when resolving imports.

v2017.09.11

===========

* Bug fixes and internal cleanup.

v2017.08.28

===========

* CLion test output: make URLs and bazel targets clickable

* Retrieve Javadocs for unattached sources

* CLion: incremental sync retains more caches. Prefill caches on project reload.

v2017.08.14

===========

* Fix spurious 'unused' warnings for AutoFactory-annotated classes

* Python: Test UI support for paramaterized python tests

* Python: Linkify stack traces in Bazel Console view

* Test UI: fix timeouts not being marked as failures

* Go: migrate Go code to the latest JetBrains plugin

v2017.08.01

===========

* Add a user setting to suppress the Bazel console during sync

* Add support for IntelliJ 2017.1.5

* ASwB: fix generated resources not resolving

* Fix unresolved references when targets are built with multiple Bazel configurations

* Python: fix 'argument list too long' errors when debugging

v2017.07.17

===========

* Explicitly deprioritize older android/gwt-specific versions of libraries during sync

* Improve test finder heuristics when creating run configurations

v2017.07.05

===========

* CLwB: Show "unsynced" diagnostic file status for C++ files

v2017.06.19

===========

* Improve performance when indexing proto_library targets in the working set.

* Fix incorrectly reusing existing, but different, run configurations.

* Order BUILD file structure view by target name, not rule type.

v2017.06.05

===========

* Add Scala support to IntelliJ.

* Add 'sync_flags' .bazelproject section, for flags only applied during sync.

* Android Studio: NDK plugins are now optional.

* CLion: Improve performance by prefetching required genfiles during sync.

v2017.05.22

===========

* TypeScript: Support multiple ts_config rules in .bazelproject

* Android Studio: Index javac jar for javax.lang classes

* Show failed test targets in test result UI

v2017.05.08

===========

* Add Python support to CLion

* Fix some bazel targets not being linkified in the run configuration console

output

* Add an action to open a workspace file outside your project (File > Open

Workspace File...)

* Add an action to add a source directory to your bazel project (Bazel >

Project > Add Directory To Project...)

* CLion: fix project directories being cleared when reopening a project

v2017.04.17

===========

* Add support for IntelliJ 2017.1

* Support bazel build sharding for large projects

* Detect out-of-memory errors during sync, and suggest enabling sharding

* Add documentation links for .bazelproject items

v2017.04.03

===========

* Add python support for IntelliJ

* Prefetch project files on project open, prior to initial indexing

* Handle nested junit test classes

v2017.03.15

===========

* Bazel: WORKSPACE file language integration (syntax highlighting, navigation,

etc.)

* Bazel: Find usages, navigation support for external workspace labels

* Expand macros in run configuration build flags

v2017.02.27

===========

* Add CLion support

* Run configuration support for abstract test classes/methods

* Support running all test classes in a directory

* BUILD support: don't suggest private symbols in 'load' statement autocomplete

v2017.02.13

===========

* Test UI support for parameterized tests

* Test UI support for sharded tests, run locally

* BUILD: Fix navigation for overridden built-in symbols

* BUILD: Add auto-complete for fully-qualified class names

v2017.01.30

============

* Integrate bazel test results with the IDE's test runner UI.

* Add support for sharing run configurations

* Restructure Bazel menu items

v2017.01.09

===========

* Create source roots for all directories matching 'test_sources'.

* When viewing source files for supported but inactive languages, suggest

enabling support for that language.

* BUILD: Add syntax highlight/autocomplete support for more built-in functions.

* Fix java debugger connection timeout

* Basic support for Go-lang projects

v2016.12.5

==========

* BUILD files: add syntax hightlighting for built-in names

* BUILD files: support aliased load statements

* ASwB: enable NDK support

v1.12

=====

* Add autocomplete in run configuration target editor.

* Fix debugging of java_binary targets with args

v1.11

=====

* Completely suppress JUnit for Bazel projects, removing a common source of

confusion.

* Improve sync working set / partial sync to include more targets that

users might expect should be included.

* Add more history to import wizard.

v1.10

=====

* Compatibility with 2016.2.4

* Improve create run configuration from scratch experience

v1.9

==========

* Better tolerance of broken BUILD files during sync

* Sync working set action -- sync only the files you're

working on.

* BUILD file support: performance improvements.

* Unified run configurations -- there is only one type,

the Bazel Command Run Configuration.

* Add test rule chooser heuristics, to support some common

test genrules.

v1.8

==========

* Add local jar cache to improve performance and robustness.

* Support filtered gen jars to allow mixed generated/non-

generated rules (requires bazel release to activate).

* Abbreviate generated run configuration names.

General usage instructions

Follow the instructions at ij.bazel.build to setup your project.