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ờ cũng như 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 đã đượ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 đã đượ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 đó:
Tìm đường dẫn tuyệt đối của tệp hoàn tất. 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ì giá trị này 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, thì đây sẽ là/usr/local/lib/bazel/bin
.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 tất (nếu bạn có).
Ví dụ: trên Ubuntu, đây là thư mục
/etc/bash_completion.d
.Hoặc lấy nguồn tệp hoàn tất 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 hoàn tất:source /path/to/bazel-complete.bash
Thông qua quá trình khởi động, sau đó:
Tạo tập lệnh hoàn tất:
bazel build //scripts:bazel-complete.bash
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 có).
Ví dụ: trên Ubuntu, đây là thư mục
/etc/bash_completion.d
Sao chép tệp đó vào một vị trí trên ổ đĩa cục bộ, chẳng hạn như vào
$HOME
, rồi lấy nguồn tệp hoàn tất 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 hoàn tất: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, bạn đã hoàn tất – tập lệnh hoàn thành Zsh đã đượ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 đoạn mã 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 nên cài đặt và bật trình bổ trợzsh-autocomplete
. Nếu bạn 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, như vậy là bạn đã hoàn tất -- tập lệnh hoàn thành Zsh đã đượ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 đó:
Tìm đường dẫn tuyệt đối của tệp hoàn tất. 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ì mã này sẽ là$HOME/.bazel/bin
. Nếu bạn chạy trình cài đặt với quyền root, thì giá trị này sẽ là/usr/local/lib/bazel/bin
.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 để nó hoạt động.Bạn có thể thêm nội dung sau vào tệp .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