$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

VSCodeのExplorerでフォーカスしているファイルを、ActiveなEditor Groupの隣に開く拡張を作った

https://marketplace.visualstudio.com/items?itemName=shibayu36.open-to-other-editor-group

こういう拡張を作ったので紹介。

困っていたこと

VSCodeで開発している時に、今書いているコードの参考にするため別のファイルを開こうと思ったり、今の実装のテストファイルを開こうと思ったりすることがある。こういう時には毎回以下のどちらかを行っていた。

  • 別のEditor Groupにフォーカスを移して「Go to File...」を実行
  • Explorer Viewにフォーカスを移してファイルを開いた後、別のEditor Groupでもう一度今見ていたファイルを開き直す

これがめちゃくちゃ面倒だった。

Explorer Viewには「Open to the Side」というメニューコマンドもあるのだけど、これは一番端のEditor Groupにいた時にどんどん新しいEditor Groupが作られてしまって、コレジャナイ感がすごかった。

Image from Gyazo

解決策

以上困っていたことを解決してみようと思い、「Open to Other Editor Group」を作った。やってることは単純でExplorer Viewにいる時に「Open to Other Editor Group」コマンドを発行すると、フォーカスしているファイルが

  • 1 Editor Groupしかなければ、新しくEditor Groupを作って開く
  • 複数Editor Groupあれば、現在ActiveなEditor Groupの隣に開く
  • 一番端のEditor GroupがActiveなら、1番目のEditor Groupに開く

ということをやっているだけ。

Image from Gyazo

これだけでも超便利で愛用しています。

便利設定

ショートカットを登録しておくと便利です。

// Open the focused file in Explorer View to next to the active editor group.
{
  "key": "ctrl+o",
  "command": "open-to-other-editor-group.openToOtherEditorGroup",
  "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsFolder && !inputFocus"
}

まとめ

今回は「VSCodeExplorerでフォーカスしているファイルをActiveなEditor Groupの隣に開く拡張」を作ったので、その紹介をした。地味に便利なので、どうぞご利用ください。