最近、zellij を使ったワークフローが手に馴染んできたので、VSCode (実際は Cursor 使ってる) の Terminal でも自動起動するようにした。
ドキュメント によると eval "$(zellij setup --generate-auto-start zsh)" って書いておけば自動起動できるのだけれど、各リポジトリ毎に別の Session になってほしいので以下のようにした。
# zellij https://github.com/zellij-org/zellij if [[ "$TERM_PROGRAM" == 'vscode' ]]; then if [[ -z "$ZELLIJ" ]]; then zellij attach --create "$(basename "$(git rev-parse --show-toplevel 2>/dev/null || echo "$PWD")")" exit fi else if [[ -z "$VSCODE_RESOLVING_ENVIRONMENT" ]]; then # export ZELLIJ_AUTO_ATTACH=true export ZELLIJ_AUTO_EXIT=true eval "$(zellij setup --generate-auto-start zsh)" fi fi
補足として、通常のターミナル側の処理で $VSCODE_RESOLVING_ENVIRONMENT を見ているのは、VSCode の起動時にユーザーのシェルの設定を読みに行く処理が失敗してぶっ壊れるので回避策。