普段は Windows メインで Unity 開発しているのですが、
やっぱり iOS の関係から Mac での開発も避けられません。
ssh でログインする AWS 上のサーバは Linux だったりします。
そうしたときにできる限り差を感じずに開発したいと考えていて、
ターミナルをどうするか迷って考えた結果の話です。
TL;DR
現時点では Windows Terminal + git bash がベスト(楽)だと思っています。
(git bash は Source Tree についてくるのをそのまま使っています)
こんな感じに使えます
経緯と理由と問題点
経緯
- mac では Iterm2 を使っていて、zsh で使用しているし、見た目も見やすくしている
- だから Windows でも zsh を使いたいし、見た目も変更したい
- この "Windows Terminal + WSL 2 + Homebrew + Zsh " を見つけて、zsh で Homebrew も使えるなんて最高じゃん。これしかないと思って環境構築。
- 少し使っていいなと思っていたところで、adb コマンドで詰まる。
- 解決策はあるが、Unity の android 環境で開発しているので、対応がしんどい。
- あきらめて git bash にすることにした。
です。
Windows Terminal + git bash がベスト(楽)な理由
- Power Shell、コマンドプロンプトもあるものの、Mac と総合運用を考えたときに楽
- shell の内容:同じシェルでなくても mac とある程度揃えられます
- コマンド:悩まず、すぐ grep、ssh、curl ができます
- ubuntu などを入れて使うのに対して、adb コマンド使うのも楽
- あくまで linux ライクなだけなので、exe をキックしているので Windows との親和性が高い
- git bash 単体で使用するのに対して、フォントなどのカスタマイズが楽
そして問題点もある
ubuntu を諦めたがために・・・
- zsh 使えない
- Homebrew 使えない
カスタマイズ内容
私自身は Source Tree に付属している git bash をそのまま利用しています。
そのため git bash だけを利用している場合と修正箇所が異なります。
フォントと色
Mac の Iterm2 で Iceberg というカラーテーマを使っているのでこちらもそうしています。
ちょっと柔らかい感じがするのが特徴で気に入っています。
設定方法
- Windows Terminal を起動した状態で
Ctrl
+,
を押すと setting.json が開くので編集していきます - まず "schemes" に色の設定を入れていきます(こちら を参考に)
- その後は "profiels" の "defaults" に設定を入れればOKです(共通箇所なので git bash だけでもOK)
- フォントはこちらを見て "Consolas" を使っていて、サイズは少し小さめの 9。
"profiles": {
"defaults": {
"colorScheme": "Iceberg",
"fontFace": "Consolas",
"fontSize": 9
},
SourceTree 付属の git bash の設定箇所
-
~
に .bashrc とかを置いて mac と同じ設定を書けば、同じように使えるはずです。- 私は Mac が zsh なので、必要そうなところ(alias)だけをピックアップしています。
-
~/AppData/Local/Atlassian/SourceTree/git_local/etc/profile.d/git-prompt.sh
を修正することで、プロンプトの見た目を変更できます。- なるべくすっきりタイプです(マシン名とかいらない派)
- git ブランチを右に持っていきたいができなかった。。。ので、(branch name) で表示
- ちょっと愉快な感じで絵文字プロンプトにしています
PS1="$PS1"'\n' # new line
PS1="$PS1"'\[\033[33m\]' # change to brownish yellow
PS1="$PS1"'\w' # current working directory
if test -z "$WINELOADERNOEXEC"
then
GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
if test -f "$COMPLETION_PATH/git-prompt.sh"
then
. "$COMPLETION_PATH/git-completion.bash"
. "$COMPLETION_PATH/git-prompt.sh"
PS1="$PS1"'\[\033[36m\]' # change color to cyan
PS1="$PS1"'`__git_ps1`' # bash function
fi
fi
PS1="$PS1"'\[\033[0m\]' # change color
PS1="$PS1"'\n' # new line
PS1="$PS1"'👉 ' # prompt
おまけ
- Unity + Rider で開発しているので、C# 周りはキーボードバインドとRiderである程度解決できています。その話はまた別に。