Hoàn tất dòng lệnh

Bạn có thể bật tính năng tự động hoàn thành dòng lệnh (còn gọi là tính năng tự động hoàn thành bằng phím Tab) trong Bash và Zsh. Tính năng này cho phép bạn tự động hoàn thành tên lệnh, tên cờ và giá trị cờ, cũng như tên mục tiêu bằng phím Tab.

Bash

Bazel đi kèm với một tập lệnh tự động hoàn thành Bash.

Nếu bạn đã cài đặt Bazel:

  • Từ kho lưu trữ APT, thì bạn đã hoàn tất – tập lệnh tự động hoàn thành Bash đã được cài đặt trong /etc/bash_completion.d.

  • Từ Homebrew, thì bạn đã hoàn tất – tập lệnh tự động hoàn thành Bash đã được cài đặt trong $(brew --prefix)/etc/bash_completion.d.

  • Từ trình cài đặt đã tải xuống từ GitHub, thì:

    1. Xác định vị trí đường dẫn tuyệt đối của tệp tự động hoàn thành. Trình cài đặt đã sao chép tệp này vào thư mục bin.

      Ví dụ: nếu bạn chạy trình cài đặt bằng --user, thì đây sẽ là $HOME/.bazel/bin. Nếu bạn chạy trình cài đặt dưới dạng gốc, thì đây sẽ là /usr/local/lib/bazel/bin.

    2. Thực hiện một trong các thao tác sau:

      • Sao chép tệp này vào thư mục tự động hoàn thành (nếu có ).

        Ví dụ: trên Ubuntu, đây là thư mục /etc/bash_completion.d.

      • Hoặc tìm nguồn tệp tự động hoàn thành từ tệp RC của Bash.

        Thêm một dòng tương tự như dòng bên dưới vào ~/.bashrc (trên Ubuntu) hoặc ~/.bash_profile (trên macOS), sử dụng đường dẫn đến đường dẫn tuyệt đối của tệp tự động hoàn thành:

        source /path/to/bazel-complete.bash
        
  • Thông qua quá trình khởi động, thì:

    1. Tạo tập lệnh tự động hoàn thành:

      bazel build //scripts:bazel-complete.bash
      
    2. Tệp tự động hoàn thành được tạo trong bazel-bin/scripts/bazel-complete.bash.

      Thực hiện một trong các thao tác sau:

      • Sao chép tệp này vào thư mục tự động hoàn thành (nếu có ).

        Ví dụ: trên Ubuntu, đây là thư mục /etc/bash_completion.d

      • Sao chép tệp này vào một vị trí nào đó trên ổ đĩa cục bộ, chẳng hạn như vào $HOME và tìm nguồn tệp tự động hoàn thành từ tệp RC của Bash.

        Thêm một dòng tương tự như dòng bên dưới vào ~/.bashrc (trên Ubuntu) hoặc ~/.bash_profile (trên macOS), sử dụng đường dẫn đến đường dẫn tuyệt đối của tệp tự động hoàn thành:

        source /path/to/bazel-complete.bash
        

Zsh

Bazel đi kèm với một tập lệnh tự động hoàn thành Zsh.

Nếu bạn đã cài đặt Bazel:

  • Từ kho lưu trữ APT, thì bạn đã hoàn tất – tập lệnh tự động hoàn thành Zsh đã được cài đặt trong /usr/share/zsh/vendor-completions.

    Nếu bạn có một .zshrc được tuỳ chỉnh nhiều và tính năng tự động hoàn thành không hoạt động, hãy thử một trong các giải pháp sau:

    Thêm nội dung sau vào .zshrc:

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

    hoặc

    Làm theo hướng dẫn tại đây

    Nếu đang sử dụng oh-my-zsh, bạn có thể muốn cài đặt và bật trình bổ trợ zsh-autocomplete. Nếu không muốn, hãy sử dụng một trong các giải pháp được mô tả ở trên.

  • Từ Homebrew, thì bạn đã hoàn tất – tập lệnh tự động hoàn thành Zsh đã được cài đặt trong $(brew --prefix)/share/zsh/site-functions.

  • Từ trình cài đặt đã tải xuống từ GitHub, thì:

    1. Xác định vị trí đường dẫn tuyệt đối của tệp tự động hoàn thành. Trình cài đặt đã sao chép tệp này vào thư mục bin.

      Ví dụ: nếu bạn chạy trình cài đặt bằng --user, thì đây sẽ là $HOME/.bazel/bin. Nếu bạn chạy trình cài đặt dưới dạng gốc, thì đây sẽ là /usr/local/lib/bazel/bin.

    2. Thêm tập lệnh này vào một thư mục trên $fpath:

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

      Bạn có thể phải gọi rm -f ~/.zcompdump; compinit lần đầu tiên để tính năng này hoạt động.

    3. Bạn có thể thêm nội dung sau vào .zshrc.

      # 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