botchy hack note

TypeScript、Ruby、Golang とか Macとかの備忘録です.間違いがあるとご指摘くださると嬉しいです.

Visual Studio Code で統合端末を毎回起動し直してしまう問題の解法

結論

早く解法を知りたい方のために、結論を最初に書くと、”新しい統合端末の作成” と ”統合端末の切り替え” のキーボードショートカットがバッティングしているのでキーボードショートカットを変更しましょう。

以下になんで起こってるのか、具体的にどうやってキーボードショートカットを変更するのか紹介していきます。

問題の内容

Mac 環境において、 Visual Studio Code で端末ペインを開こうと ⌘ + ` を押すたびに新しい端末を起動してしまいます。

下記の図にある統合ターミナルをショートカットキー*1で開くと、一度目は下図のようにデフォルト動作をして端末のペイン(下部のピンクの枠)を起動します。

f:id:bokken31:20170413234811p:plain

しかし、二度目に ⌘ + ` を押すとターミナルがもう一つ起動されてしまいます。(枠内の番号が2になりました)

f:id:bokken31:20170413235137p:plain

これでは、端末起動の時間がかかりますし、無駄なプロセスを起動してしまうことになります。

問題の解法

これは、⌘ + ⇧ + ` が ”新しい統合端末の作成” のショートカットキーだから起こっている問題です。

JIS キーボードは ` を入力するために シフト(⇧)を押す必要があって ⌘ + ` を入力しているつもりが、 ⌘ + ⇧ + ` が入力されていた。つまり、デフォルトでキーバインディングがバッティングしている状態だったということです。

US キーボード的にはバッティングしていないので、US キーボード使いの人たちには問題なく使えていたようです。

[US キーボード配列参考:http://blog.jnito.com/entry/2012/10/10/074739]

回避策

そのため、“新しい統合端末の作成” か ”統合端末の切り替え” のキーボードショートカットを変更すれば回避可能です。

Mac の場合だと、⌘ + K をおした後に ⌘ + S を押せば下図のようにキーボードショートカットの画面に遷移できるので、その後に"統合端末"で検索。 鉛筆のマークが出てくるので、そこからショートカットキーを設定しなおせば OK です。

f:id:bokken31:20170414000156p:plain

以降はもう ⌘ + ` を押しても新しい端末が起動しなくなっているはずです。

これでコーディングしつつ、キーボードショートカットで素早く端末へ移動することができますね。

それでは、良い Visual Studio Code ライフをお送りください!

*1:図ではメニューバーを出してますが