Esta página aborda como integrar o Bazel a ambientes de desenvolvimento integrado, como IntelliJ, Android Studio e CLion, ou criar seu próprio plug-in de ambiente de desenvolvimento integrado. Ela também inclui links para instalação e detalhes do plug-in.
Os ambientes de desenvolvimento integrado são integrados ao Bazel de várias maneiras, desde recursos que permitem execuções do Bazel
no ambiente de desenvolvimento integrado até o reconhecimento de estruturas do Bazel, como a realce de sintaxe dos
arquivos BUILD.
Se você tiver interesse em desenvolver um editor ou plug-in de ambiente de desenvolvimento integrado para o Bazel, acesse o
canal #ide no Slack do Bazel ou inicie
uma discussão no GitHub.
Ambientes de desenvolvimento integrado e editores
IntelliJ, Android Studio e CLion
Plug-in oficial para IntelliJ, Android Studio e CLion. O plug-in é de código aberto.
Esta é a versão de código aberto do plug-in usado internamente no Google.
Recursos:
- Interoperação com plug-ins específicos da linguagem. As linguagens compatíveis incluem Java, Scala e Python.
- Importe arquivos
BUILDpara o ambiente de desenvolvimento integrado com reconhecimento semântico dos destinos do Bazel. - Faça com que o ambiente de desenvolvimento integrado reconheça o Starlark, a linguagem usada para os arquivos
BUILDe.bzldo Bazel. - Crie, teste e execute binários diretamente no ambiente de desenvolvimento integrado.
- Crie configurações para depurar e executar binários.
Para instalar, acesse o navegador de plug-ins do ambiente de desenvolvimento integrado e pesquise Bazel.
Para instalar manualmente versões mais antigas, faça o download dos arquivos ZIP no repositório de plug-ins do JetBrains' e instale o arquivo ZIP no navegador de plug-ins do ambiente de desenvolvimento integrado:
Xcode
rules_xcodeproj,
Tulsi e
XCHammer geram projetos do Xcode a partir de arquivos BUILD do Bazel.
Visual Studio Code
Plug-in oficial para VS Code.
Recursos:
- Árvore de destinos de build do Bazel
- Depurador do Starlark para arquivos
.bzldurante um build (defina pontos de interrupção, percorra o código, inspecione variáveis etc.)
Encontre o plug-in no Visual Studio Marketplace ou no OpenVSX Marketplace. O plug-in é de código aberto.
Consulte também: Preenchimento automático do código-fonte
Atom
Encontre o pacote language-bazel
no gerenciador de pacotes do Atom.
Consulte também: Preenchimento automático do código-fonte
Vim
Consulte bazelbuild/vim-bazel no GitHub
Consulte também: Preenchimento automático do código-fonte
Emacs
Consulte bazelbuild/bazel-emacs-mode no
GitHub
Consulte também: Preenchimento automático do código-fonte
Visual Studio
O Lavender é um projeto experimental para gerar projetos do Visual Studio que usam o Bazel para a criação.
Eclipse
O recurso do Bazel Eclipse é um conjunto de plug-ins para importar pacotes do Bazel para um espaço de trabalho do Eclipse como projetos do Eclipse.
Preenchimento automático do código-fonte
Família de linguagem C (C++, C, Objective-C, Objective-C++ e CUDA)
kiron1/bazel-compile-commands
executa bazel-compile-commands //... em um espaço de trabalho do Bazel para gerar um arquivo compile_commands.json.
O arquivo compile_commands.json permite que ferramentas como clang-tidy, clangd (LSP) e outros ambientes de desenvolvimento integrado
ofereçam preenchimento automático, navegação inteligente, correções rápidas e muito mais. A ferramenta é escrita em C++ e
consome a saída do Protobuf do Bazel para extrair os comandos de compilação.
hedronvision/bazel-compile-commands-extractor permite preenchimento automático, navegação inteligente, correções rápidas e muito mais em uma ampla variedade de editores extensíveis, incluindo VSCode, Vim, Emacs, Atom e Sublime. Ele permite que servidores de linguagem, como clangd e ccls, e outros tipos de ferramentas, usem o entendimento do Bazel de como o código cc e objc será compilado, incluindo como ele configura a compilação cruzada para outras plataformas.
Java
georgewfraser/java-language-server - Servidor de linguagem Java (LSP) com suporte a projetos criados pelo Bazel
Executar automaticamente a criação e o teste na mudança de arquivo
O observador do Bazel é uma ferramenta para criar destinos do Bazel quando os arquivos de origem mudam.
Como criar seu próprio plug-in de ambiente de desenvolvimento integrado
Leia a postagem do blog Suporte a ambientes de desenvolvimento integrado (link em inglês) para saber mais sobre as APIs do Bazel a serem usadas ao criar um plug-in de ambiente de desenvolvimento integrado.