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

Báo cáo vấn đề Xem nguồn Hằng đêm · 7.3 · 7.2 · 7.1 · 7 · 6,5

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

Bash

Bazel sử dụng một tập lệnh hoàn thành Bash.

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

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

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

  • Từ trình cài đặt được tải xuống từ GitHub, sau đó:

    1. Xác định đường dẫn tuyệt đối của tệp hoàn thành. Trình cài đặt đã sao chép thông tin 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ì kết quả sẽ là $HOME/.bazel/bin. Nếu bạn đã chạy trình cài đặt dưới dạng thư mục gốc, /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 hoàn thành của bạn (nếu bạn có 1).

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

      • Bạn cũng có thể lấy nguồn cho tệp 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 của bạn (trên Ubuntu) hoặc ~/.bash_profile (trên macOS), bằng cách sử dụng đường dẫn đến trang hoàn tất đường dẫn tuyệt đối của tệp:

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

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

      bazel build //scripts:bazel-complete.bash
      
    2. Tệp 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 hoàn thành (nếu bạn có) một.

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

      • Sao chép tệp vào một nơi nào đó trên ổ đĩa cục bộ, chẳng hạn như vào $HOME và tìm nguồn cho tệp 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 của bạn (trên Ubuntu) hoặc ~/.bash_profile (trên macOS), bằng cách sử dụng đường dẫn đến trang hoàn tất đường dẫn tuyệt đối của tệp:

        source /path/to/bazel-complete.bash
        

Zsh

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

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

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

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

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

  • Từ trình cài đặt được tải xuống từ GitHub, sau đó:

    1. Xác định đường dẫn tuyệt đối của tệp hoàn thành. Trình cài đặt đã sao chép thông tin 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ì kết quả sẽ là $HOME/.bazel/bin. Nếu bạn đã chạy trình cài đặt dưới dạng thư mục gốc, /usr/local/lib/bazel/bin.

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

      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 cho rm -f ~/.zcompdump; compinit lần đầu tiên để ứng dụng hoạt động được.

    3. Bạn có thể thêm đoạn mã sau vào tệp .zshrc của mình (không bắt buộc).

      # 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