Visual Studio Codeを自分が使用する際に便利なショートカットキーを、忘れないようにまとめておく。Windows版。mac版はカッコ書きで随時追記中。Windowsはv1.57で再確認済み。macはv1.96~98で確認中。
なお、Windows版からmac版への読み替えは基本的にはCtrl→Cmd、Alt→Optで成り立つ場合がほとんどだが一部例外がある。
編集系 win(mac)
-
Ctrl(Cmd) +Enterカーソル行の下に空行を挿入 -
Ctrl(Cmd) +Shift+Enterカーソル行の上(というかカーソル行?)に空行を挿入 -
Alt(Opt) +↑/↓カーソル行/選択行をまるっと移動(複数行対応) -
Alt(Opt) +Shift+↑/↓カーソル行/選択行をまるっとコピー(複数行対応) -
Ctrl(Cmd) +C選択範囲をコピー。非選択状態で使用すると行コピーになる -
Ctrl(Cmd) +X選択範囲を切り取り。非選択状態で使用すると行切り取りになる -
Ctrl(Opt) +BS単語の部分削除(カーソル位置より左側) -
Ctrl(Opt) +Del単語の部分削除(カーソル位置より右側) - (
Cmd) +BSカーソル位置より左側をすべて削除 - (
Cmd) +Delまたは (Ctrl) +Kカーソル位置より右側をすべて削除
1.は次の行を入力したい時、今まではカーソルを一旦行末に持っていってからEnterとかやっていたが、カーソルが行の途中にあってもパッと次の行が入力できるので便利。
3.は移動距離が近ければいちいちコピペしなくてよいので便利。
7.8.に関連して単語の削除(Delete Word)というコマンドがv1.52から追加されたがショートカットキーは定義されていない。
9.10.はmacのみショートカットキーが登録されていてWinでは未登録。ただしコマンド自体は存在するので自分で登録するかF1でコマンド(Delete All Left/Right)を入力して呼び出すかすれば使用できる。
カーソル移動/スクロール/分割系 win(mac)
-
Ctrl+Home/End(Cmd+↑/↓) エディタの先頭/末尾にカーソルを移動 -
Home(Cmd+←) カーソルを行頭に移動- インデントされている行の場合は文字の先頭にカーソルを移動する。もう一度押すと行頭に移動する。さらに押すとまた文字の先頭に移動する
- さらに、折り返し表示の行の場合は、物理行の文字の先頭→論理行の文字の先頭→行頭と移動する
-
End(Cmd+→) 行末にカーソルを移動- 折り返し表示の行の場合は、物理行の行末→論理行の行末と移動する
-
Shift+Alt(Opt) +I範囲選択の末尾にカーソルを移動(複数選択時でも可) -
Alt(Opt) +Z折り返し表示する/しないの切り替え -
Ctrl(Opt) +←/→単語の先頭にジャンプ -
Ctrl+↑/↓カーソル位置はそのままで上下にスクロール(macの場合もキーは同じだがただしmacの場合はMissionControlのショートカット操作が優先されてしまう) -
Alt+PgUp/PgDn(Cmd+fn+↑/↓) カーソル位置はそのままでPageUp/PageDown -
Ctrl(Cmd) +Shift+¥対応する括弧にジャンプ(言語によっては対応していない)-
¥はキーボード右上の円記号のキーを使用する。右下にバックスラッシュのキーがあるがこちらは反応しないので注意
-
-
Ctrl+G指定した行(列)にジャンプ(macも同じキー)- 行番号を入力するとその行に仮ジャンプする。
Enterを押すと行移動が確定し、Escを押すと元の位置に戻る - 行番号にマイナス値を指定すると、最下行からの相対行にジャンプできる(v1.38以降)
- 行番号の後ろにカンマ区切りで列位置も指定できる
- 行番号を入力するとその行に仮ジャンプする。
-
Ctrl(Cmd) +KCtrl(Cmd) +Q最後の編集位置に移動(ver1.28以降)- 間違えて変な場所にジャンプしてしまった時に便利!
-
Ctrl(Cmd) +Uカーソル移動を1つ前に戻す(CursorUndo)。ただしカーソル移動のみのundoなので途中に文字入力などの編集操作があるとそれ以前には戻れない。また、逆の操作のCursorRedoコマンドも存在する(ver1.40以降)がショートカットキーには登録されていないので自分で登録するか毎回コマンドパレット(F1)で呼び出す必要がある。 -
Ctrl(Cmd) +KCtrl(Cmd) +Shift+¥同一エディタ内でエディタを分割/解除(v1.61以降)- 分割方向を変更するにはエディタを分割した状態で右上の
レイアウトの切り替えボタンを押す
- 分割方向を変更するにはエディタを分割した状態で右上の
なお、キャメルケースやスネークケースの単位で移動や選択などを行うコマンドも存在するが、デフォルトではキー割り当てはされていないため、使用したい場合は自身でキー定義を行う必要がある。
- 左へ移動(cursorWordPartLeft)
- 右へ移動(cursorWordPartRight)
- 左へ選択(cursorWordPartLeftSelect)
- 右へ選択(cursorWordPartRightSelect)
- 左へ削除(deleteWordPartLeft)
- 右へ削除(deleteWordPartRight)
選択系 win(mac)
-
Shift+←/→カーソル移動しつつ文字選択(macでも同じキー) -
Ctrl(Opt) +Shift+←/→単語単位でカーソル移動しつつ選択- 上記2つのコマンドは非選択状態で使用すると現在のカーソル位置を起点に選択が始まる。選択状態で使用するとその選択をキープしたままの追加選択となる。さらに
←/→の代わりに↑/↓キーを押すとカーソルを行移動しつつの選択となる(ただしmacの場合はOpt+Shift+↑/↓は別機能)。
- 上記2つのコマンドは非選択状態で使用すると現在のカーソル位置を起点に選択が始まる。選択状態で使用するとその選択をキープしたままの追加選択となる。さらに
-
Ctrl(Cmd) +D単語選択。本来は複数選択のためのキーだが1回だけ使用する場合は実質的な単語選択として使える(ことが多い)。 -
Ctrl(Cmd) +L行選択してカーソルを下の行に移動。つまり連続して押していくと1行ずつ行選択が増えていく。- ver1.31以前は
Ctrl+Iだった
- ver1.31以前は
アンカーを使用した範囲選択(v1.46~)
-
Ctrl(Cmd) +KCtrl(Cmd) +Bカーソル位置にアンカー(目印)をセットする -
Ctrl(Cmd) +KCtrl(Cmd) +Kアンカーからカーソル位置までの間を選択する -
Escアンカーの解除
なお、関連するコマンドとして**選択アンカーへ移動(Go to Selection Anchor)**というのが存在するがデフォルトではキー定義されていない。
選択範囲の拡大/縮小
-
Shift+Alt(Ctrl) +→/←選択範囲の拡大/縮小(macの場合は+Cmdでも同じ動作)
どのような単位で選択されるかは言語モードによって異なる。
IntelliJ IDEAでいうところのCtrl+W/Ctrl+Shift+W(Opt+↑/↓)に相当。
Javaコードの例
リテラル値にカーソルがある状態で選択範囲を広げると、まずリテラル値全体が選択され、次に引用符までが選択され、次にステートメント全体まで、...と拡がっていく。

マルチカーソル/複数選択/矩形選択系 win(mac)
マルチカーソル
-
Alt(Opt) +Ctrl(Cmd) +↑/↓マルチカーソルを上/下に広げる- マウス操作の場合は
Alt(Opt)を押しながらポチポチとクリックしていくと任意の位置にマルチカーソルを追加できる。この操作をCtrl(Cmd)で行いたい場合は、コマンドマルチカーソル修飾子の切り替え(Toggle Multi-Cursor Modifier、メニューバーの場合は選択-マルチカーソルをCtrl(Cmd)+Clickに切り替える)を実行すると切り替わる
- マウス操作の場合は
複数選択
-
Ctrl(Cmd) +D選択されている文字列(あるいはカーソル周辺の単語)を選択に追加。複数回追加するとマルチカーソル状態になる。Ctrl(Cmd)+Shift+Lの個別版。選択状態を1つ前に戻したい時はカーソルUNDO(Ctrl(Cmd)+U)を使用する -
Ctrl(Cmd) +Shift+L選択されている文字列(あるいはカーソル周辺の単語)と一致する文字列をすべて選択する。複数個選択した場合はマルチカーソル状態になる。Ctrl(Cmd)+Dの一括版
矩形選択
-
Ctrl(Cmd) +Shift+Alt(Opt) +↑/↓/←/→現在のカーソル位置を起点に矩形選択。選択が複数行の場合はマルチカーソル状態になる- マウス操作の場合は起点にカーソルを置いた状態で終点で
Alt(Opt)+Shift+クリック
- マウス操作の場合は起点にカーソルを置いた状態で終点で
- 矩形選択された状態で
Ctrl(Cmd) +Shift+Alt(Opt) +PgUp/PgDnを押すと、上/下方向にページ単位で選択を拡張する
いずれもESCを押すかあるいはマウスクリックで解除される。
マルチカーソル機能はすべてのカーソル位置に対して同じキー操作が行われるので、コードの中の複数箇所を同じように修正したい場合などに結構便利。
検索系 win(mac)
エディタ内検索
-
Ctrl(Cmd) +Fエディタ内の検索- 文字を選択している(またはハイライトされている)状態の時は、その文字列が自動的に入力フィールドにセットされる
- 文字が未選択(ハイライトもされていない)状態の時は、前回の検索の内容が表示される
-
Ctrl+H(Cmd+Opt+F) エディタ内の置換- 文字を選択している(またはハイライトされている)状態の時は、その文字列が自動的に検索入力フィールドにセットされ、フォーカスが置換入力フィールドに移動する
- 置換ダイアログが開いている状態でもう一度押すと、押す度に検索と置換の2つの入力フィールド間でフォーカスが移動する
検索中の操作
-
ESCダイアログを閉じる -
F3/Shift+F3次の/前の検索結果にジャンプ- 検索の入力フィールドにフォーカスがある時は
Enter/Shift+Enterでも可
- 検索の入力フィールドにフォーカスがある時は
- エディタにフォーカスがある時に検索のダイアログにフォーカスを移動させるには
Ctrl(Cmd)+Fを押す -
Alt(Cmd+Opt) +C大文字小文字の区別をする/しないの切り替え -
Alt(Cmd+Opt) +W単語単位で検索する/しないの切り替え -
Alt(Cmd+Opt) +R正規表現で検索する/しないの切り替え
フォルダ/ワークスペース全体
-
Ctrl(Cmd) +Shift+Fフォルダ/ワークスペース全体を検索- 特定のフォルダ配下を検索したい場合はファイルエクスプローラでフォルダを右クリックして「フォルダー内を検索」
-
Ctrl(Cmd) +Shift+Hフォルダ/ワークスペース全体を置換 -
F4/Shift+F4次の/前の検索結果にジャンプ
共通
- (入力フィールド内で)
↑/↓検索(置換)履歴の呼び出し
いろいろ開く系 win(mac)
-
Ctrl(Cmd) +N新規にエディタを開く(閉じるのはCtrl(Cmd) +W) -
Ctrl(Cmd) +Shift+N新規にウィンドウを開く(閉じるのはCtrl(Cmd) +Shift+W) -
Ctrl(Cmd) +Pフォルダ/ワークスペース内のファイルを開く- キーワードを入力するとファイルが絞り込まれる。スペースで区切ってさらにフォルダ名で絞り込むことも可能。さらに
@で区切ってファイル内のシンボルを選択することも可能 -
↑/↓でファイル/シンボルを選択し、Enterでファイルを開く。Ctrl(Cmd)+Enterで現在開いているファイルの横に開く
- キーワードを入力するとファイルが絞り込まれる。スペースで区切ってさらにフォルダ名で絞り込むことも可能。さらに
-
Ctrl(Cmd) +,設定画面を開く -
Ctrl(Cmd) +KからのCtrl(Cmd) +Sショートカットキーの設定を開く(Keyborad Shortcutと覚える!) -
Ctrl+QQuick Open ビュー。macも同じキー。Ctrlを押しながらQを打つとメニューが表示されるので、そのままCtrlは離さずにQをポンポン打っていくとメニューフォーカスが移動する。開きたい項目までフォーカスが移動した状態でCtrlを離すとビューが開く。- フォーカスの移動は
↑/↓やShift+Qでも可(いずれもCtrlは押しっぱなし) - この操作で開けるビューは、サイドバー、パネルはもちろん、エクスプローラやデバッグの中のカスタムビューや、ターミナルや出力パネルの出力内容も直接選択して開くことができるので結構便利
- フォーカスの移動は
- サイドバー系
-
Ctrl(Cmd) +Bサイドバーを開く/閉じる -
Ctrl(Cmd) +Shift+Eエクスプローラーを開く -
Ctrl(Cmd) +Shift+F検索を開く -
Ctrl+Shift+Gソース管理を開く(macも同じキー) -
Ctrl(Cmd) +Shift+Dデバッグを開く -
Ctrl(Cmd) +Shift+X拡張機能を開く-
検索を開く以外は、もう一度キーを押すとサイドバーを開いたまま、エディタにフォーカスが戻る
-
-
- パネル系
-
Ctrl(Cmd) +Jパネルを開く/閉じる -
Ctrl(Cmd) +Shift+U出力を開く/閉じる -
Ctrl(Cmd) +Shift+M問題を開く/閉じる -
Ctrl(Cmd) +Shift+Yデバッグコンソールを開く/閉じる -
Ctrl+ (Shift) +@統合ターミナルを開く/閉じる(閉じても非表示になるだけでターミナル自体は終了しない) - Ctrl+J以外の個別パネル操作についてはv1.28から挙動が変わり、パネルが表示されていてフォーカスがパネル以外の場所にある時にキーを押すとそのパネルにフォーカスが移動するようになった
-
閉じる系 win
-
Ctrl+F4アクティブエディタを閉じる。 -
Ctrl+Wアクティブエディタを閉じる。開いているエディタが無い場合、VS Code自体を閉じる。(v1.57で廃止) -
Ctrl+KWエディタグループ内をすべて閉じる -
Ctrl+KCtrl+Wエディタをすべて閉じる -
Ctrl+Shift+WまたはAlt+F4ウィンドウを閉じる
ファイル保存系 win
-
Ctrl+S上書き保存 -
Ctrl+Shift+S名前を付けて保存 -
Ctrl+KSすべてのファイルを保存 -
Ctrl+KCtrl+Shift+S自動フォーマットをせずに保存(v1.28以降)- 通常の保存では言語モードごとのフォーマットが自動的に行われるが、それせずにそのまま保存したい時に使う
-
Ctrl+KD差分ビューが開き、未保存の変更箇所を確認できる-
Alt+F5で次の変更箇所にジャンプできる - また、差分ビューのまま編集をすることも可能
- 確認が終わったら
Ctrl+Wなどで閉じる - 「あれ?このファイルいつの間にか未保存状態になってるけどどこ直したっけ?」みたいな時に便利
-
フォーカス移動系 win
-
Ctrl+0サイドバーにフォーカスを移動 -
Ctrl+11つ目のエディタグループにフォーカスを移動- エディタグループを1つしか使用していない場合は上記2つのショートカットキーでサイドバーとエディタを行き来できる。
- +
2,+3...,+8まで可能
-
Ctrl+Mタブキーによるフォーカス移動モードになる。- 解除も同じキー操作だがフォーカスの位置によっては効かない場合もある。
言語モード系 win
-
Ctrl+KM言語モード(JavaとかHTMLとか)を変更する-
↑↓で選択、Enterで決定、Escでキャンセル - キーワードを入力すると選択肢の絞り込みができる
-
なお、WindowsでIMEがオンになっている場合、Mの入力がIMEに横取りされてしまい、正しくコマンドを実行することができないので、この機能をショートカットキーで多用する場合はキーバインドを変更したほうが便利。
例えばCtrl+K Ctrl+Mなど。ただしこのキーバインドはすでに定義されているが使用頻度が低い機能(各種キーマップ定義の拡張機能のおすすめを表示)なのでそちらのキーバインドは削除するか、またはエディタにフォーカスがある場合だけ言語モード切り替えが作動するように起動条件にeditorTextFocusを設定する。

エディタレイアウト系 win
エディタグループについて
- 1つのエディタが表示されている領域のことをVS Codeでは
エディタグループと呼ぶ。 - 1つのエディタグループ内には複数のエディタを含めることができ、タブ切り替えによってアクティブなエディタを切り替える。
- エディタを並べて表示したい場合はエディタグループを分ける。
- v1.24まではエディタグループは最大3つまでしか配置できず、また可能な配置も単方向のみだったが、v1.25でグリッドエディタレイアウトが採用されそれらの制限が無くなった。詳しくはこちらの記事を参照。
エクスプローラからの操作
- ファイルを選択して
Ctrl+Enter新規のエディタグループでファイルを開く(開いたファイルがアクティブになる)- またはファイル右クリックで
横に並べて開く
- またはファイル右クリックで
-
またはこの機能はv1.20から複数選択の操作に変更になったCtrl+ ファイルクリック(アクティブエディタは変わらず)
エディタ/エディタグループの操作
分割/閉じる系
-
Ctrl+¥エディタの分割(設定されている方向) -
Ctrl+KCtrl+¥エディタの分割(設定とは逆方向)- デフォルトの分割方向は設定
workbench.editor.openSideBySideDirectionにて指定(右方向or下方向)する。
- デフォルトの分割方向は設定
-
Ctrl+1~8新たにエディタグループを作成する。あるいはすでに表示されているエディタグループにフォーカスを切り替える。- 新規の場合は空のエディタグループが作成される。
- 新規の場合は1つ前のエディタグループが存在する時のみ作成される。
-
Ctrl+W/Ctrl+F4アクティブなエディタを閉じる -
Ctrl+KWアクティブなエディタグループ内のエディタをすべて閉じる -
Ctrl+KCtrl+Shift+Wすべてのエディタグループを閉じる
エディタ移動系(別エディタグループへ)
-
Ctrl+Alt+←/→アクティブなエディタを隣のエディタグループに移動する。隣にエディタグループが存在しない場合は新たに作成される。 -
Shift+Alt+1/9アクティブなエディタを先頭/最後のエディタグループに移動する。新たにエディタグループは作成されない。
フォーカス移動系
-
Ctrl+PgUp/PgDnエディタグループを横断してのアクティブエディタの切り替え -
Ctrl+Tabエディタグループ内でのアクティブエディタの切り替え- 正確には、
Ctrlキーを押しっぱなしの状態でTabキーをポンポン押していくと切り替え先のエディタを選択でき、Ctrlキーを離すとエディタが切り替わる。 - また、
Ctrlキーを押しっぱなしの状態でTabキーを押して一旦離し、↑/↓キーで切り替えるエディタを選択し、Ctrlキーを離すとエディタが切り替わる。
- 正確には、
-
Ctrl+KCtrl+↑/↓/←/→アクティブなエディタグループを切り替える
エディタグループ移動系
-
Ctrl+K↑/↓/←/→アクティブなエディタグループをグループごと移動
レイアウト系
-
Alt+Shift+0エディタグループの横方向/縦方向の切り替え
なお、エクスプローラからのファイル配置や、エディタグループ間のエディタ移動、レイアウト変更などはドラッグ&ドロップでも行える。エディタの移動はタブをドラッグする。ドロップ先のエディタの選択状態が全面の時にドロップするとそのエディタグループへの移動となり、エディタの選択状態が半分の状態でドロップするとその方向に新たにエディタグループが作られる。
折りたたみ系 win
インデントの折りたたみ
-
Ctrl+KCtrl+0すべてのインデントを折りたたむ -
Ctrl+KCtrl+11段目のインデントをすべて折りたたむ(同様に9段目まで指定可 現在は7段目まで) -
Ctrl+KCtrl+Jすべてのインデントを展開する -
Ctrl+Shift+[カーソルのあるインデントを折りたたむ -
Ctrl+Shift+]カーソルのあるインデントを展開する -
Ctrl+KCtrl+[カーソルのあるインデントを子インデント含め折りたたむ -
Ctrl+KCtrl+]カーソルのあるインデントを子インデント含め展開する -
Ctrl+KCtrl+Lカーソルのあるインデントを折りたたむ/展開する(トグル操作。Ver1.39から) -
Ctrl+KCtrl+/すべてのブロックコメントを折りたたむ
言語モードによっては対応されていないコマンドもある。
また、インデントの対応が正しくなっていないとうまく動作しない場合がある。
任意の範囲の折りたたみ設定(v1.70~)
-
Ctrl+KCtrl+,選択された範囲の折りたたみ設定を有効にする -
Ctrl+KCtrl+.カーソル行の任意折りたたみ設定を解除する
任意範囲の折りたたみ設定はファイルを開き直しても維持される。
ワークベンチ内のフォーカス移動(v1.45~) win
-
F6ワークベンチ内のフォーカス移動 -
Shift+F6ワークベンチ内のフォーカス移動(逆方向)
F6を押す度にフォーカスが エディタ->パネル->ステータスバー->アクティビティバー->サイドバー と切り替わる。Shiftを押しながらだと逆方向。
ただしサイドバーやパネルを閉じている時はそれらへのフォーカス移動はスキップされる。
同様に、設定でステータスバーやアクティビティバーを非表示にしている時もそれらへのフォーカス移動はスキップされる。
各エリア内のフォーカス移動は矢印キーで行う。
設定系 win
設定画面(Ctrl+,)
-
設定の検索入力フィールドにキーワードを入力して絞り込み -
Esc入力フィールドをクリア -
↓設定項目にフォーカス移動
配色テーマの変更(Ctrl+K Ctrl+T)
(ショートカットはKolor Themeと無理やり覚えれば覚えやすい?)
-
↑/↓配色テーマのプレビュー -
Enter配色テーマの決定 -
Escキャンセル
フォントサイズ系 win
画面全体のサイズ変更
-
Ctrl+ テンキーの+フォントサイズ等を大きくする。-
Ctrl+Shift+;でも可(つまりCtrl++) -
Ctrl+;でも可
-
-
Ctrl+ テンキーの-フォントサイズ等を小さくする。-
Ctrl+Shift+-でも可 -
Ctrl+-でも可
-
-
Ctrl+ テンキーの0フォントサイズ等をリセットする。 - フォントだけでなく、左端や下部のバーのサイズも変わるので、全体的にサイズを変更できる。
エディタフォントのみのサイズ変更(v1.24~)
v1.24からエディタフォントのみのサイズ変更が行えるようになったが、デフォルトではキー設定されていないので自分でショートカットキーの設定を行う必要がある。
ショートカットキーの設定画面にて以下のコマンドにキーを割り当てると使用できるようになる。
editor.action.fontZoomIneditor.action.fontZoomOuteditor.action.fontZoomReset


