🐥note.

小鳥とMicrosoft <3 なエンジニアの技術Blog📚

Visual Studio CodeのPreview状態のタブを通常状態にする地味に便利なKeyBind

Ctrl + PのQuickOpenでファイルを開いたりF12でコードジャンプすると、タブがPreview状態(タブ名がイタリック表記)で開かれます。

f:id:piyo_esq:20191010213847p:plain
左:通常状態 右:Preview状態のタブ

これはworkbench.editor.enablePreviewFromQuickOpenが有効なためです。

f:id:piyo_esq:20191010213643p:plain
workbench.editor.enablePreviewFromQuickOpen 有効状態

この状態で別ファイルを開くと、同じタブでファイルが開かれてしまいます。
せっかくファイルを開いたのに。本当は別タブで開いて欲しいのに…。

F12でコードジャンプした先のタブを開いたままにしておきたい!
Ctrl + Pでファイルを開く際に、Preview表示と普通に開くのを使い分けたい!

という方への記事です。

右矢印で開く

Ctrl + Pで開きたいファイルをハイライト状態にしたあと、キーボードの右矢印キーを押下します。

すると通常状態でファイルが開けます。ファイルを開いてもQucikOpen Windowは表示されたままなので、沢山ファイルを開きたいときに便利です。

f:id:piyo_esq:20191010214354g:plain
QuickOpen時 右矢印でファイルを開いていく

ちなみにAlt + Enterで画面をSplitしてファイルを開くことも可能です。

Preview状態のタブをキーボードショートカットを使って非Preview状態にする

ではF12などでコードジャンプをした際に開かれるPreview状態のタブを通常状態に切り替えるにはどうしたらよいでしょうか。

調べた結果"ビュー:エディターを保持"でPreview状態のタブを通常状態に変更できるらしいです。

デフォルトではCtrl + K, Enterに割り当てされています。
※私の環境では。

ショートカットキーの変更

よく使う機能なのにデフォルトのCtrl + K, Enterでは使いにくい!Bindを変更します。

テキストエディタがアクティブ かつ タブがPreview状態のときにEscapeキーというBindに変更します。

    {
        "key": "escape",
        "command": "workbench.action.keepEditor",
        "when": "editorTextFocus && editorPinned == false"
    }

参考

stackoverflow.com

stackoverflow.com

code.visualstudio.com

おわり

結構長い間どうにかしたいと思っていたので、"ビュー:エディターを保持"の存在を知ったときは@okazukiさんが以前書いていたcode -r .に匹敵する衝撃を受けました