Bazel'i IDE'lerle entegre etme

Bu sayfada, Bazel'i IntelliJ, Android Studio ve CLion gibi IDE'lerle entegre etme (veya kendi IDE eklentinizi oluşturma) açıklanmaktadır. Ayrıca, yükleme ve eklenti ayrıntılarının bağlantılarını da içerir.

IDE'ler, Bazel'in IDE'den yürütülmesine olanak tanıyan özelliklerden BUILD dosyalarının söz dizimi vurgulama gibi Bazel yapılarına ilişkin farkındalığa kadar çeşitli şekillerde Bazel ile entegre olur.

Bazel için bir düzenleyici veya IDE eklentisi geliştirmek istiyorsanız lütfen Bazel Slack'teki #ide kanalına katılın veya bazel-dev posta listesine e-posta gönderin.

IDE'ler ve düzenleyiciler

IntelliJ, Android Studio ve CLion

IntelliJ, Android Studio ve CLion için resmi eklenti. Eklenti açık kaynaktır.

Bu, Google'da şirket içinde kullanılan eklentinin açık kaynaklı sürümüdür.

Özellikler:

  • Dile özgü eklentilerle birlikte çalışabilme Desteklenen diller arasında Java, Scala ve Python yer alır.
  • Bazel hedeflerinin semantiği hakkında bilgi sahibi olarak IDE'ye BUILD dosyalarını içe aktarın.
  • IDE'nizin, Bazel'in BUILD ve .bzl dosyaları için kullanılan dil olan Starlark'ı tanımasını sağlayın.
  • Doğrudan IDE'den ikili dosyaları oluşturma, test etme ve yürütme
  • İkili dosyaları hata ayıklama ve çalıştırma için yapılandırmalar oluşturun.

Yüklemek için IDE'nin eklenti tarayıcısına gidin ve Bazel ifadesini arayın.

Eski sürümleri manuel olarak yüklemek için JetBrains' Plugin Repository'den zip dosyalarını indirin ve zip dosyasını IDE'nin eklenti tarayıcısından yükleyin:

Xcode

Tulsi ve XCHammer, Bazel BUILD dosyalarından Xcode projeleri oluşturur.

Visual Studio Code

VS Code için resmi eklenti.

Özellikler:

  • Bazel Derleme Hedefleri ağacı
  • Derleme sırasında .bzl dosyaları için Starlark hata ayıklayıcısı (kesme noktaları ayarlama, kodda adım adım ilerleme, değişkenleri inceleme vb.)

Eklentiyi Visual Studio pazar yerinde bulun. Eklenti açık kaynaktır.

Ayrıca bkz: Kaynak kodu için otomatik tamamlama

Atom

Atom paket yöneticisinde language-bazel paketini bulun.

Vim

GitHub'da bazelbuild/vim-bazel bölümüne bakın.

Emacs

bazelbuild/bazel-emacs-mode on GitHub

Visual Studio

Lavender, derleme için Bazel'i kullanan Visual Studio projeleri oluşturmaya yönelik deneysel bir projedir.

Güneş/ay tutulması

Bazel Eclipse Feature, Bazel paketlerini Eclipse çalışma alanına Eclipse projeleri olarak aktarmak için kullanılan bir eklenti grubudur.

Kaynak kodu için otomatik tamamlama

C Dil Ailesi (C++, C, Objective-C ve Objective-C++)

hedronvision/bazel-compile-commands-extractor, VSCode, Vim, Emacs ve Sublime gibi çok çeşitli genişletilebilir düzenleyicilerde otomatik tamamlamayı etkinleştirir. Bu sayede, clangd ve ccls gibi dil sunucularının yanı sıra diğer araç türleri, cc ve objc kodunun nasıl derleneceği konusunda Bazel'in anlayışından yararlanabilir. Buna, diğer platformlar için çapraz derlemeyi nasıl yapılandırdığı da dahildir.

Java

georgewfraser/java-language-server - Bazel ile oluşturulan projeler için destek içeren Java Language Server (LSP)

Dosya değişikliğinde derleme ve testi otomatik olarak çalıştırma

Bazel izleyici, kaynak dosyalar değiştiğinde Bazel hedeflerini oluşturmaya yarayan bir araçtır.

Kendi IDE eklentinizi oluşturma

IDE eklentisi oluştururken kullanılacak Bazel API'leri hakkında daha fazla bilgi edinmek için IDE desteği blog yayınını okuyun.