Penyelesaian Command Line

Laporkan masalah Lihat sumber Nightly · 8.0 . 7,4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Anda dapat mengaktifkan penyelesaian command line (juga dikenal sebagai penyelesaian tab) di Bash dan Zsh. Dengan begitu, Anda dapat melengkapi nama perintah, nama flag, dan nilai flag, serta nama target dengan tab.

Bash

Bazel dilengkapi dengan skrip pelengkapan Bash.

Jika Anda menginstal Bazel:

  • Dari repositori APT, Anda sudah selesai -- skrip penyelesaian Bash sudah diinstal di /etc/bash_completion.d.

  • Dari Homebrew, Anda sudah selesai -- skrip penyelesaian Bash sudah diinstal di $(brew --prefix)/etc/bash_completion.d.

  • Dari penginstal yang didownload dari GitHub, lalu:

    1. Temukan jalur absolut file penyelesaian. Penginstal menyalinnya ke direktori bin.

      Contoh: jika Anda menjalankan penginstal dengan --user, ini akan menjadi $HOME/.bazel/bin. Jika Anda menjalankan penginstal sebagai root, nilainya akan /usr/local/lib/bazel/bin.

    2. Lakukan salah satu hal berikut:

      • Salin file ini ke direktori penyelesaian (jika Anda memilikinya).

        Contoh: di Ubuntu, ini adalah direktori /etc/bash_completion.d.

      • Atau, sumber file penyelesaian dari file RC Bash.

        Tambahkan baris yang mirip dengan baris di bawah ke ~/.bashrc (di Ubuntu) atau ~/.bash_profile (di macOS), menggunakan jalur ke jalur absolut file penyelesaian Anda:

        source /path/to/bazel-complete.bash
        
  • Melalui bootstrap, lalu:

    1. Build skrip penyelesaian:

      bazel build //scripts:bazel-complete.bash
      
    2. File penyelesaian dibuat di bazel-bin/scripts/bazel-complete.bash.

      Lakukan salah satu hal berikut:

      • Salin file ini ke direktori penyelesaian, jika Anda memilikinya.

        Contoh: di Ubuntu, ini adalah direktori /etc/bash_completion.d

      • Salin ke suatu tempat di disk lokal Anda, seperti ke $HOME, dan salin file penyelesaian dari file RC Bash.

        Tambahkan baris yang mirip dengan baris di bawah ke ~/.bashrc (di Ubuntu) atau ~/.bash_profile (di macOS), menggunakan jalur ke jalur absolut file penyelesaian Anda:

        source /path/to/bazel-complete.bash
        

Zsh

Bazel dilengkapi dengan skrip penyelesaian Zsh.

Jika Anda menginstal Bazel:

  • Dari repositori APT, Anda sudah selesai -- skrip penyelesaian Zsh sudah diinstal di /usr/share/zsh/vendor-completions.

    Jika Anda memiliki .zshrc yang sangat disesuaikan dan pelengkapan otomatis tidak berfungsi, coba salah satu solusi berikut:

    Tambahkan kode berikut ke .zshrc Anda:

        zstyle :compinstall filename '/home/tradical/.zshrc'
    
        autoload -Uz compinit
        compinit
    

    atau

    Ikuti petunjuknya di sini

    Jika menggunakan oh-my-zsh, sebaiknya instal dan aktifkan plugin zsh-autocomplete. Jika Anda tidak ingin melakukannya, gunakan salah satu solusi yang dijelaskan di atas.

  • Dari Homebrew, Anda sudah selesai -- skrip penyelesaian Zsh sudah diinstal di $(brew --prefix)/share/zsh/site-functions.

  • Dari penginstal yang didownload dari GitHub, lalu:

    1. Temukan jalur absolut file penyelesaian. Penginstal menyalinnya ke direktori bin.

      Contoh: jika Anda menjalankan penginstal dengan --user, ini akan menjadi $HOME/.bazel/bin. Jika Anda menjalankan penginstal sebagai root, nilainya akan /usr/local/lib/bazel/bin.

    2. Tambahkan skrip ini ke direktori di $fpath Anda:

      fpath[1,0]=~/.zsh/completion/
      mkdir -p ~/.zsh/completion/
      cp /path/from/above/step/_bazel ~/.zsh/completion
      

      Anda mungkin harus memanggil rm -f ~/.zcompdump; compinit untuk pertama kalinya agar berfungsi.

    3. Secara opsional, tambahkan kode berikut ke .zshrc Anda.

      # This way the completion script does not have to parse Bazel's options
      # repeatedly.  The directory in cache-path must be created manually.
      zstyle ':completion:*' use-cache on
      zstyle ':completion:*' cache-path ~/.zsh/cache