Como integrar o Bazel com ambientes de desenvolvimento integrado

Informar um problema Mostrar fonte Por noite · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

Esta página mostra como integrar o Bazel a ambientes de desenvolvimento integrado, como IntelliJ, Android Studio e CLion (ou crie seu próprio plug-in de ambiente de desenvolvimento integrado). Ele também inclui links para instalação e plug-in.

Os ambientes de desenvolvimento integrado se integram ao Bazel de várias maneiras, desde recursos que permitem o uso do Bazel no ambiente de desenvolvimento integrado até o reconhecimento de estruturas do Bazel, como sintaxe destaque dos arquivos BUILD.

Se você tiver interesse em desenvolver um editor ou plug-in de ambiente de desenvolvimento integrado para o Bazel, participe do canal #ide no Bazel Slack 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 Clião. O plug-in tem código aberto.

Esta é a versão de código aberto do plug-in usada internamente no Google.

Recursos:

  • Interoperabilidade com plug-ins específicos para cada linguagem. As linguagens com suporte incluem Java, Scala e Python.
  • Importe arquivos BUILD para o ambiente de desenvolvimento integrado com reconhecimento semântico de destinos do Bazel.
  • Faça com que seu ambiente de desenvolvimento integrado reconheça o Starlark, a linguagem usada para os comandos BUILD e .bzlarquivos
  • Criar, testar e executar binários diretamente do 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 por Bazel.

Para instalar manualmente versões mais antigas, faça o download dos arquivos ZIP do Plug-in Repository e instale o arquivo ZIP no navegador de plug-ins do ambiente de desenvolvimento integrado:

Xcode

rules_xcodeproj, Tulsi e XCHammer gera o Xcode projetos de arquivos BUILD do Bazel.

Código do Visual Studio

Plug-in oficial para o VS Code.

Recursos:

  • Árvore de destinos de build do Bazel
  • Depurador Starlark para arquivos .bzl durante uma compilação (definir pontos de interrupção, etapa pelo código, inspecionar variáveis etc.)

Encontre o plug-in no Visual Studio marketplace. O plug-in tem código aberto.

Consulte também: Preenchimento automático para código-fonte

Atom

Encontre o pacote language-bazel. no gerenciador de pacotes Atom.

Consulte também: Preenchimento automático para código-fonte

Vim

Consulte bazelbuild/vim-bazel no GitHub

Consulte também: Preenchimento automático para código-fonte

Emacs

Consulte bazelbuild/bazel-emacs-mode em GitHub

Consulte também: Preenchimento automático para código-fonte

Visual Studio

Lavender é um projeto experimental para gerar projetos do Visual Studio que usam o Bazel para criação.

Eclipse

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 para código-fonte

Família de linguagens C (C++, C, Objective-C e Objective-C++)

O hedronvision/bazel-compile-commands-extractor ativa o preenchimento automático, a navegação inteligente, as correções rápidas e muito mais em diversos editores extensíveis, como VSCode, Vim, Emacs, Atom e Sublime. Ele permite que servidores de linguagem, como clangd e ccls, e outros tipos de ferramentas, sejam baseados no conhecimento do Bazel sobre como o código cc e objc serão compilados, 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 build e testar automaticamente quando houver mudança de arquivo

O Bazel watcher é um ferramenta para criar destinos do Bazel quando os arquivos de origem são alterados.

Como criar seu próprio plug-in do ambiente de desenvolvimento integrado

Leia o blog de suporte para IDE post para saber mais sobre as APIs do Bazel usadas na criação de um plug-in do ambiente de desenvolvimento integrado.