「Visual Studio Code」カテゴリーアーカイブ

Visual Studio Codeのインテリセンスで入力候補を選択するショートカットを無効にする方法

Visual Studio Codeを使い始めました。

インテリセンスが効いて、コードを入力するのが楽になりました。

ただ、1つ気になったのは、入力候補が出た時にエンターキーを押すとどんな場合にも入力候補が選択されて確定してしまうこと。

その入力候補を選びたくないときにはどうすればいいのか結構調べました。

その結果、3つの方法を考えました。

設定を変えない方法

行を変えたいときはCtrl+Enter。

それ以外の時は、スペースキーなどEnterキー以外のキー入力で無視できます。

この方法は、設定は変えませんが慣れるまで時間がかかりますね。

Enterキーによる確定を無効にする方法

Enterキーでは入力候補の確定をしないでTabキーのみで確定にする方法です。次のように設定を変えます。既定で"enter"に設定されているエントリーをkeybindings.jsonに入力するとエンターキーによる確定が無効になります。ここで注意したいのが、2つめの要素でacceptSelectedSuggestionOnEnterの前にマイナスがついていること。マイナスがつくことで既定のキーバインドが無効にされています。Tabで決定する設定は既定に入っていますので設定する必要はありません。

[
    {
        "key": "enter",
        "command": "-acceptSelectedSuggestionOnEnter",
        "when": "acceptSuggestionOnEnter && editorTextFocus && suggestWidgetVisible && suggestionMakesTextEdit"
    }
]

この方法は、確かにエンターキーでの確定はしなくなりますが、Tabキーを多く押す必要があってちょっと左手の小指の負担が多くなることが玉にきずです。

入力候補の確定をShift+Enterにする方法

変換候補の確定をShift+Enterキーにする方法。次のような設定をkeybindings.jsonに加えます。

[
    {
        "key": "shift+enter",
        "command": "acceptSelectedSuggestionOnEnter",
        "when": "acceptSuggestionOnEnter && editorTextFocus && suggestWidgetVisible && suggestionMakesTextEdit"
    },
    {
        "key": "enter",
        "command": "-acceptSelectedSuggestionOnEnter",
        "when": "acceptSuggestionOnEnter && editorTextFocus && suggestWidgetVisible && suggestionMakesTextEdit"
    }
]

これは、次のように作りました。

Visual Studio Code でファイル―>基本設定―>キーボードショートカットと進みます。

キーボードショートカットの画面で、検索窓にenterと入力してエンターキーを押します。

すると、Enterキーに関するショートカットの一覧が出ますので、マウスをacceptedSelectedSuggestionOnEnterの上にのせて、左にあるペンマークをクリックします。

任意のキーを押してくださいと出ますので、ShiftキーとEnterキーを同時に押して、もう一度エンターキーを押します。

すると、キーバインドがshift+enterになり、ソースがユーザーとなって完成です。設定された内容は、上部にあるkeybindings.jsonをクリックするとみることができます。

まとめ

Visual Studio Codeのショートカットを無効にする方法を紹介しました。実際に使ってみて、自分の場合は設定を変えない方法がいいかなと思っています。どれも一長一短がありますのでより自分になじむ方法を選んでください。