[VSCode] USキーボードの「Ctrl-`」でターミナルが開けないときの対処法

  • 2022年7月10日
  • 2022年9月17日
  • IDE
  • 145View
  • 0件
IDE

はじめに

VSCode ではターミナルを開くためのショートカットが用意されています。
キーボードが日本語配列の場合は Ctrl-@ で、英語配列の場合は Ctrl-backquote が割り当てられています。

問題点として、英語配列キーボードで日本語IMEを利用している場合は、Ctrl-backquote が無効になってしまい、VSCode でターミナルを開くことができません。

対処方法

解決策1:US の言語オプションを利用する

US の言語オプションをインストールしてこれに切り替えることで、Ctrl-backquote が使えるようになります。
日本語IMEを無効にするやり方です。

デメリットとして、言語オプションを US に切り替えている間は日本語入力ができません。
Win+Space のショートカットで切り替えはできるのですが、めんどうです。

解決策2:Ctrl-j を利用する

実は VSCode でターミナルを起動するためのショートカットがもう一つあります。
Ctrl-j でターミナルを起動することができます。

ただし、VSCode で vim のプラグインを利用している場合は罠があります。
Ctrl-j のショートカットが vim のショートカットキーとして認識されてしまいます。
これを解消したい場合は VSCode の setting.json に次の設定を追加しましょう。

{
    "vim.handleKeys": {
        "<C-j>": false,
    }
}

これによって、vim が該当のショートカットを素通りするようになります。

デメリットとして、Ctrl-j は、厳密にはターミナル起動ではなく、パネルの ON/OFF のためのショートカットキーです。
Ctrl-backquote とはやや異なる挙動があり、少しストレスがあります。

解決策3:キーのマッピングを変更する

私は最終的にこれに落ち着きました。

  • PowerToys で VK244 のキーを Pause に再マップする
  • VSCode の 「表示:ターミナルの切り替え」を Ctrl-Pause に割り当てる

PowerToys

まず PowerToys ですが、これは Microsoft が公式でリリースしている Windows ユーティリティツールです。
Windows Store からインストール可能です。

Keyboard Manager より、キーの再マップが可能です。
日本語 IME で英語キーボードを利用している場合は、Ctrl-backquote を入力すると VK244 として認識されます。
これを利用頻度の低い別のキーに再マップします。
Pause キーあたりがおすすめです。

VSCode

次に VSCode にて、ターミナル表示のショートカットキーを割り当てしなおします。
ファイル > ユーザー設定 >キーボードショートカット で設定することができます。

“ターミナル” で検索すると「表示: ターミナル の切り替え」というのがありますので、これを Ctrl-Pause に置き換えましょう。
表示上は Ctrl+PauseBreak となります。