आप बैश और ज़ीश में कमांड-लाइन पूरा करने की सुविधा (जिसे टैब-पूरा करना भी कहा जाता है) चालू कर सकते हैं. इससे आपको कमांड के पूरे नाम, नाम और फ़्लैग वैल्यू फ़्लैग करने, और टारगेट के नाम पर टैब करने की सुविधा मिलती है.
बैश
Bazel के साथ बैश को पूरा करने की स्क्रिप्ट मिलती है.
अगर आपने Bazel इंस्टॉल किया है, तो:
एपीटी डेटा स्टोर करने की जगह से, आपका काम हो गया -- बैश पूरा होने की स्क्रिप्ट,
/etc/bash_completion.d
में पहले से ही इंस्टॉल है.Homebrew से, आपका काम हो गया -- बैश पूरा होने की स्क्रिप्ट
$(brew --prefix)/etc/bash_completion.d
में पहले से ही इंस्टॉल है.GitHub से डाउनलोड किए गए इंस्टॉलर से, फिर:
पूरी होने वाली फ़ाइल का ऐब्सलूट पाथ ढूंढें. इंस्टॉलर ने इसे
bin
डायरेक्ट्री में कॉपी किया है.उदाहरण: अगर आपने
--user
से इंस्टॉलर चलाया है, तो यह$HOME/.bazel/bin
होगा. अगर आपने इंस्टॉलर को रूट के तौर पर चलाया है, तो यह/usr/local/lib/bazel/bin
होगा.इनमें से कोई एक काम करें:
या तो इस फ़ाइल को अपनी कंप्लीशन डायरेक्ट्री में कॉपी करें (अगर आपके पास एक है).
उदाहरण: Ubuntu पर यह
/etc/bash_completion.d
डायरेक्ट्री है.या बैश की RC फ़ाइल से पूरा होने वाली फ़ाइल का सोर्स लें.
नीचे दी गई लाइन से मिलती-जुलती लाइन जोड़ें, जो आपके
~/.bashrc
(Ubuntu पर) या~/.bash_profile
(macOS पर) के लिए इस्तेमाल की जाती है. इसके लिए, पूरी हो चुकी फ़ाइल के ऐब्सलूट पाथ का इस्तेमाल करें:source /path/to/bazel-complete.bash
बूटस्ट्रैपिंग के ज़रिए, फिर:
पूरा होने की स्क्रिप्ट बनाएं:
bazel build //scripts:bazel-complete.bash
पूरी होने वाली फ़ाइल,
bazel-bin/scripts/bazel-complete.bash
के तहत बनाई गई है.इनमें से कोई एक काम करें:
अगर आपके पास कोई फ़ाइल है, तो उसे अपनी पूरी होने वाली डायरेक्ट्री में कॉपी करें.
उदाहरण: Ubuntu पर यह
/etc/bash_completion.d
डायरेक्ट्री हैइसे अपनी लोकल डिस्क पर, जैसे कि
$HOME
पर कॉपी करें और Bash की आरसी फ़ाइल से पूरा होने वाली फ़ाइल को सोर्स करें.नीचे दी गई लाइन से मिलती-जुलती लाइन जोड़ें, जो आपके
~/.bashrc
(Ubuntu पर) या~/.bash_profile
(macOS पर) के लिए इस्तेमाल की जाती है. इसके लिए, पूरी हो चुकी फ़ाइल के ऐब्सलूट पाथ का इस्तेमाल करें:source /path/to/bazel-complete.bash
ज़श
Bazel, Zsh के पूरा होने की स्क्रिप्ट के साथ आता है.
अगर आपने Bazel इंस्टॉल किया है, तो:
एपीटी रिपॉज़िटरी से, आपका काम हो गया -- 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