指令列完成

回報問題 查看來源 夜間 7.2 7.1 7.0 6.5 6.4

您可在 Bash 中啟用指令列完成功能 (也稱為 Tab 鍵完成功能) 和 Zsh以便使用 Tab 鍵完成指令名稱、旗標名稱和旗標值 和目標名稱

Bash

Bazel 隨附 Bash 完成指令碼。

如果您安裝了 Bazel:

  • 從 APT 存放區開始就大功告成了,Bash 完成指令碼會 已安裝在「/etc/bash_completion.d」中。

  • 從 Homebrew 到,一切都完成了 - Bash 完成指令碼是 已安裝在「$(brew --prefix)/etc/bash_completion.d」中。

  • 從 GitHub 下載的安裝程式,然後:

    1. 找出完成檔案的絕對路徑。安裝程式複製了 到 bin 目錄。

      範例:如果使用 --user 執行安裝程式, $HOME/.bazel/bin。如果以根層級執行安裝程式, /usr/local/lib/bazel/bin

    2. 請執行下列任一步驟:

      • 您可以將這個檔案複製到完成目錄 (如果有 一)。

        範例:在 Ubuntu 中,這是 /etc/bash_completion.d 目錄。

      • 或者從 Bash 的 RC 檔案取得完成檔案。

        將類似以下這一行的內容新增到 ~/.bashrc (在 Ubuntu) 或 ~/.bash_profile (在 macOS 上則為) 檔案的絕對路徑:

        source /path/to/bazel-complete.bash
        
  • 透過「啟動程序」,然後:

    1. 建立完成指令碼:

      bazel build //scripts:bazel-complete.bash
      
    2. 系統會在 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 下載的安裝程式,然後:

    1. 找出完成檔案的絕對路徑。安裝程式複製了 到 bin 目錄。

      範例:如果使用 --user 執行安裝程式, $HOME/.bazel/bin。如果以根層級執行安裝程式, /usr/local/lib/bazel/bin

    2. 將此指令碼新增至 $fpath 的目錄中:

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

      您可能需要致電 rm -f ~/.zcompdump; compinit 開始執行。

    3. 視需要將下列內容新增至 .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