定期的にVSCodeやInteliJでGitの操作をしたい期がやってくる。4年前も挑戦して挫折している。
最近はInteliJを使ってなくてVSCodeだけになってる。Gitの操作をするときは、VSCodeからiTerm2に移動していてまあそれでも大きくは困ってないんだけど、VSCodeからiTerm2に移動するときはVSCodeで開いてるディレクトリでGitを操作すること以外していないのでVSCodeで完了させたい気がしてきた。
VSCodeのGUIでGitを操作することもやってみたけど、自分には無理だったのでVSCodeのTerminalを使うことにする。
TerminalとEditorの移動をキーバインドでできるようにする
VSCodeのUserInterfaceドキュメントを見て何から何に移動したいのか確認する。以下を満たしたい。
- 特定のEditor GroupsからPanel(Terminal)に移動する
- Panel(Terminal)から特定のEditor Groupsに移動する
キーバインドの設定を検索する。
Terminal: Focus Terminal
というのがあったのだけど、デフォルトではキーバインドが設定されていない(!)- パネルのターミナルにフォーカスを当てると ^` と表示されていてcontrol+@で移動できるのでこれで良い
- Editor Groupsには、command+1-9で移動できる
ちなみにcommand+0でサイドバーに移動できる。エクスプローラーとか具体的なのは command+shift+eとか。
また他のパネルは、command+shift+mなどなのでcommand+shift+なんかに統一したい気持ちを抑えてcontrol+@を使う。
ただターミナルにフォーカスが当たっているときにcontrol+@したらEditor Group 1に戻れるように追加した。
[ { "key": "ctrl+[BracketLeft]", "command": "workbench.action.focusFirstEditorGroup", "when": "terminalFocus" } ]
Terminalを開いたらtmuxを開くようにする
tmuxのキーバインドに手が慣れているのでそうした。すでにセッションがある場合は、attachするなどは不要だと思ったのでやっていない。複数のディレクトリをVSCodeで開くのでattachされるとむしろ困るかもしれない。
- コマンドパレットを出して、Terminal: Select Default Profile を選択
- tmuxを選択
Terminalを開いたらVSCodeで開いてるディレクトリを開く
VSCodeでTerminalを操作するときは、ほぼ確実にVSCodeで開いてるディレクトリに移動している。
設定に以下を追加
"terminal.integrated.cwd": "./",
ちゃんとキーバインドを覚える
環境というか自分の問題である…………。
InteliJからVSCodeを使うようになってからキーバインドがわからないままになってたりしてたんだけどちゃんと確認した。
あと最近もともと使えてたキーバインドが使えなくなったりして困ってたんだけどちゃんと原因を調べたりした。Karabiner-Elementsの設定がオフになってた……。
TerminalからVSCodeを開くようにする
日々何個かのディレクトリを行き来している。たくさん開いてると重くなる気がするので不要になったらウインドウを閉じている。再度開く必要があるとき毎回マウスでポチポチしていたけど、fzfで移動出来たら便利じゃんと思ったので作った。 ちなみにすでに開いてるとそのウインドウに移動してくれる。
control+@ -> control+v -> 文字入力 -> 移動 という感じになって楽
fzf-open-vscode() { local repo=$(ghq list | fzf --preview "ghq list --full-path --exact {} | xargs exa --color=never --no-permissions --no-user --no-filesize --git-ignore --sort name --tree --level 2") if [ -n "$repo" ]; then repo=$(ghq list --full-path --exact $repo) BUFFER="cd ${repo} && code . && cd -" zle accept-line fi zle clear-screen } zle -N fzf-open-vscode bindkey '^v' fzf-open-vscode
まとめ
手癖でiTermを開いてしまうことがあるけど減らしていける気がする