1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VSCode 本体と Integrated Terminal のキーバインドが被ってしまう場合の対処法

Posted at

要旨

  • VSCode の Integrated Terminal を利用している場合、デフォルトでは特定のキーバインド (ex:Ctrl + P) が Integrated Terminal ではなく VSCode 本体に優先的に作用してしまう。
  • 設定 (Integrated: Commands To Skip Shell) により、当該キーバインドを Integrated Terminal に作用させることができる。

環境

  • Visual Studio Code 1.79.2

本題

VSCode の Integrated Terminal

VSCode を利用してプログラミングをする際、自分は Integrated Terminal を多用します。別 Window に立ち上げたターミナルにフォーカスを移す手間が省けたり、何かと便利です。
ただ、不満点もあったりします。自分はターミナルを Emacs キーバインドで利用しているのですが、通常のターミナルアプリでは「前回入力したコマンドを再度呼び出す」場合は Ctrl + P で実行できます。
しかし、VSCode の Integrated Terminal では、VSCode 本体に Ctrl + P がデフォルトで割り当てられており、Integrated Terminal 上で実行しても VSCode 本体にキーバインドが吸われてしまいます。。。

image.png

Ctrl + P を Integrated Terminal に取り戻す!

いつから存在する機能なのかは存じ上げませんが、ちゃんと Integrated Terminal に優先的にキーバインドを割り当てられる設定がありました。

設定項目

VSCode の設定画面で [機能] → [ターミナル] → [Integrated: Commands To Skip Shell]

設定方法

VSCode の設定画面上では、Integrated Terminal に優先させるコマンド (キーバインド) をリスト形式で入力する方式になっています。今回のケースでは、Ctrl + P が VSCode では workbench.action.quickOpen というアクションに紐づいているので、このコマンドを VSCode 本体ではなく Integrated Terminal に優先的に送るようにリストに入力します。

注意点として、Integrated Terminal に優先させるコマンドを入力する際、当該コマンドの最初に - を付ける必要があります。
今回の場合は、-workbench.action.quickOpen と入力します。

設定画面上での設定箇所

これで Integrated Terminal 上で Ctrl + P を入力しても、従来のターミナルアプリ上と同じ挙動になってくれます。

参考資料

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?