《Laravel – php artisan zsh中指令自動補完設定 – 學習筆記》

Telegram share !

相信很多laravel的開發者都一定使用過php artisan這個指令,但是實務的開發情境中,我們要記憶的指令實在太多了,所以往往一段時間沒用就會有點忘記完整的拼法,這時候就要仰賴各式的AutoComplete套件,這次為大家介紹的是php artisan的 AutoComplete,我也將相關過程記錄下來當成備忘錄,也希望藉由此次分享讓初學者能更快掌握相關語法。

安装 bash-completion@2

> brew install bash-completion@2

設定 ~/.zshrc

使用vim ~/.zshrc 打開設定檔,並且在任一空白處加上以下指令

# Laravel basic command completion
_laravel_get_command_list () {
	php artisan --no-ansi | sed "1,/Available commands/d" | awk '/^ +[a-z]+/ { print $1 }'
}

_artisan () {
  if [ -f artisan ]; then
    compadd `_laravel_get_command_list`
  fi
}

compdef _artisan artisan

Windows 開發環境

如果在 Windows 的 Git-Bash 上出現類似於 stdout is not a tty 的錯誤,只需要把 ARTISAN_COMMANDS= 這一行改成:

php.exe artisan --no-ansi | sed "1,/Available commands/d" | awk '/^ +[a-z]+/ { print $1 }'

驗證設定後結果

❯ php artisan make:[TAB]
make:cast          make:controller    make:job           make:migration     make:policy        make:rule
make:channel       make:event         make:listener      make:model         make:provider      make:seeder
make:command       make:exception     make:mail          make:notification  make:request       make:test
make:component     make:factory       make:middleware    make:observer      make:resource

實際操作截圖

Reference