Bash 및 Zsh에서 명령줄 완성 (탭 완성이라고도 함)을 사용 설정할 수 있습니다. 이를 통해 명령어 이름, 플래그 이름 및 플래그 값, 대상 이름을 탭에서 완성할 수 있습니다.
Bash
Bazel에는 Bash 완료 스크립트가 함께 제공됩니다.
Bazel을 설치한 경우:
APT 저장소에서 다음 명령어를 실행하면 다시 실행됩니다. Bash 완료 스크립트는 이미
/etc/bash_completion.d
에 설치되어 있습니다.Homebrew에서는 다시 실행되었습니다. Bash 완료 스크립트는 이미
$(brew --prefix)/etc/bash_completion.d
에 설치되어 있습니다.GitHub에서 다운로드한 설치 프로그램에서 다음을 수행합니다.
완료 파일의 절대 경로를 찾습니다. 설치 프로그램이 이를
bin
디렉터리에 복사했습니다.예:
--user
로 설치 프로그램을 실행한 경우$HOME/.bazel/bin
입니다. 설치 프로그램을 루트로 실행한 경우/usr/local/lib/bazel/bin
입니다.다음 중 하나를 수행합니다.
이 파일을 완료 디렉터리 (있는 경우)에 복사합니다.
예: Ubuntu에서는
/etc/bash_completion.d
디렉터리입니다.또는 Bash의 RC 파일에서 완료 파일을 가져옵니다.
완료 파일의 절대 경로를 사용하여
~/.bashrc
(Ubuntu) 또는~/.bash_profile
(macOS)에 다음과 같은 줄을 추가합니다.source /path/to/bazel-complete.bash
bootstrapping을 통해 다음을 수행합니다.
완료 스크립트를 빌드합니다.
bazel build //scripts:bazel-complete.bash
완료 파일은
bazel-bin/scripts/bazel-complete.bash
아래에 빌드됩니다.다음 중 하나를 수행합니다.
이 파일이 있다면 완료 디렉터리에 복사합니다.
예: Ubuntu에서는
/etc/bash_completion.d
디렉터리입니다.이 파일을 로컬 디스크(예:
$HOME
)에 복사하고 Bash RC 파일의 완료 파일을 소싱합니다.완료 파일의 절대 경로를 사용하여
~/.bashrc
(Ubuntu) 또는~/.bash_profile
(macOS)에 다음과 같은 줄을 추가합니다.source /path/to/bazel-complete.bash
즈시어
Bazel에는 Zsh 완료 스크립트가 함께 제공됩니다.
Bazel을 설치한 경우:
APT 저장소에서 Zsh 완료 스크립트가 이미
/usr/share/zsh/vendor-completions
에 설치되어 있습니다.크게 맞춤설정된
.zshrc
가 있고 자동 완성이 작동하지 않는 경우 다음 해결 방법 중 하나를 사용해 보세요..zshrc
에 다음을 추가합니다.zstyle :compinstall filename '/home/tradical/.zshrc' autoload -Uz compinit compinit
또는
여기의 안내를 따르세요.
oh-my-zsh
를 사용하는 경우zsh-autocomplete
플러그인을 설치하고 사용 설정하는 것이 좋습니다. 사용하지 않으려면 위에 설명된 해결 방법 중 하나를 사용하세요.Homebrew에서 Zsh 완료 스크립트가 이미
$(brew --prefix)/share/zsh/site-functions
에 설치되어 있습니다.GitHub에서 다운로드한 설치 프로그램에서 다음을 수행합니다.
완료 파일의 절대 경로를 찾습니다. 설치 프로그램이 이를
bin
디렉터리에 복사했습니다.예:
--user
로 설치 프로그램을 실행한 경우$HOME/.bazel/bin
입니다. 설치 프로그램을 루트로 실행한 경우/usr/local/lib/bazel/bin
입니다.이 스크립트를
$fpath
의 디렉터리에 추가합니다.fpath[1,0]=~/.zsh/completion/ mkdir -p ~/.zsh/completion/ cp /path/from/above/step/_bazel ~/.zsh/completion
이 기능을 사용하려면 처음
rm -f ~/.zcompdump; compinit
를 호출해야 할 수도 있습니다.원하는 경우 다음을 .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