最近職場ではVSCodeを使ってて、自宅でも使えるようにしたいなと思って調べていたところ自分の場合は
という拡張を使うのが良さそうだったので試してみたところ、VSCode上のターミナルで__git_ps1なんて無いよ的なエラーが表示されて気になったので調べて解消しました。
__git_ps1ってどこで定義されてるんだっけ?と思って調べると、どうやらbash_completion.dというディレクトリ内にあるファイルで定義されているらしいということが分かった。
このディレクトリがどこにあるのか find / -type d -name bash_completion.d
とかやって適当に眺めてみると、 /etc/bash_completion.d
にあることが分かりました。雑に検索すると
ということでした。
ここで、そういえば以前 .bash_profile
が読み込まれたり読み込まれなかったりしたことがあったな……と思って嫌な予感がしたので調べてみたところ、
ということなので、勘ですがこの起動の仕方をしていて /etc/profile
が読み込まれてないのだろうと予想しました(検証していません、間違っているかも)。
それで、 /etc/bash_completion.d/git-prompt
の中身を見ると何度呼び出してもぶっ壊れないように作られていたので、とりあえず雑に ~/.bashrc
の中で雑に [[ -s /etc/profile.d/bash_completion.sh ]] && source /etc/profile.d/bash_completion.sh
としてあげることでこの問題を回避することができました。
このあたりの設定ファイルってどうまとめるのかというベストプラクティスって無いんですかね? あまり関心がないので雑に継ぎ足し継ぎ足し使ってきていてメチャクチャになってきているので、一度整理しても良いかも知れません。