การกรอกข้อมูลในบรรทัดคำสั่ง

คุณสามารถเปิดใช้การเติมคำสั่งอัตโนมัติ (หรือที่เรียกว่าการเติมคำอัตโนมัติด้วยแท็บ) ใน Bash และ Zsh ได้ ซึ่งจะช่วยให้คุณเติมคำอัตโนมัติด้วยแท็บสำหรับชื่อคำสั่ง ชื่อแฟล็กและค่าแฟล็ก รวมถึงชื่อเป้าหมายได้

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

      • หรือเรียกใช้ไฟล์การเติมคำอัตโนมัติจากไฟล์ RC ของ Bash

        เพิ่มบรรทัดที่คล้ายกับบรรทัดด้านล่างลงใน ~/.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 แล้วเรียกใช้ไฟล์การเติมคำอัตโนมัติจากไฟล์ RC ของ Bash

        เพิ่มบรรทัดที่คล้ายกับบรรทัดด้านล่างลงใน ~/.bashrc (ใน Ubuntu) หรือ ~/.bash_profile (ใน macOS) โดยใช้เส้นทางสัมบูรณ์ของไฟล์การเติมคำอัตโนมัติ

        source /path/to/bazel-complete.bash
        

Zsh

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