ショートカットキーを活用して、VS Codeをより快適に!:Visual Studio Codeで快適Pythonライフ(3/3 ページ)
VS Codeには多くの機能にショートカットキーが割り当てられています。その中でも覚えておくと日々の作業に役立つものを紹介します。
コード編集で役立つショートカット
ショートカットキーの紹介の最後に、コード記述で役立つものを一覧しておきましょう。カーソルを上下左右に移動する、[Shift]キーとカーソルキーで範囲選択を同時に行う、などはここで書かなくても分かっているでしょうから、それらは省略します。
| 動作 | ショートカットキー |
|---|---|
| 行頭へカーソルを移動 | Windows/Linux: [Home] macOS: [Home]/[Command]+[←]/[Ctrl]+[A] |
| ファイル先頭へカーソルを移動 | Windows/Linux: [Ctrl]+[Home] macOS: [Command]+[Home] |
| 行末へカーソルを移動 | Windows/Linux: [End] macOS: [End]/[Command]+[→]/[Ctrl]+[E] |
| ファイル末尾へカーソルを移動 | Windows/Linux: [Ctrl]+[End] macOS: [Command]+[End] |
| カーソル位置にある名前(識別子)の変更 | 全OS:[F2] |
| カーソル位置にある単語を全て変更 | Windows/Linux: [Ctrl]+[F2] macOS: [Command]+[F2] |
| カーソル位置の単語の先頭にカーソルを移動 | Windows/Linux: [Ctrl]+[←] macOS: [Option]+[←] |
| 範囲選択をしながら現在の単語の先頭にカーソルを移動 | Windows/Linux: [Ctrl]+[Shift]+[←] macOS: [Shift]+[Option]+[←] |
| カーソル位置の単語の末尾にカーソルを移動 | Windows/Linux: [Ctrl]+[→] macOS: [Option]+[→] |
| 範囲選択をしながら現在の単語の末尾にカーソルを移動 | Windows/Linux: [Ctrl]+[Shift]+[→] macOS: [Shift]+[Option]+[→] |
| 上の行にカーソルを挿入(マルチカーソル) | Windows: [Ctrl]+[Alt]+[↑] Linux: [Shift]+[Alt]+[↑] macOS: [Option]+[Command]+[↑] |
| 下の行にカーソルを挿入(マルチカーソル) | Windows: [Ctrl]+[Alt]+[↓] Linux: [Shift]+[Alt]+[↓] macOS: [Option]+[Command]+[↓] |
| かっこ「()または{}」にカーソルを移動 | Windows/Linux: [Ctrl]+[Shift]+[\] macOS: [Shift]+[Command]+[\] |
| ファイル全体を書式整形(フォーマット) | Windows: [Shift]+[Alt]+[F] Linux: [Ctrl]+[Shift]+[I] macOS: [Shift]+[Option]+[F] |
| 選択範囲を書式整形(フォーマット) | Windows/Linux: [Ctrl]+[K]→[Ctrl]+[F] macOS: [Command]+[K]→[Command]+[F] |
| コード編集で役立つショートカット | |
カーソルを行の先頭や末尾、あるいはファイルの先頭や末尾に移動するショートカットは全OSで[Home]と[End]を中心とした操作になります(macOSでは行頭と行末へのカーソル移動にはEmacsライクなショートカットキーも割り当てられています)。
VS Codeらしい機能としては「マルチカーソル」と呼ばれるものがあります。マルチカーソルの基本はWindows/Linuxでは[Alt]キーを、macOSでは[Option]キーを押しながらエディタのどこかをクリックすると、以前にあったカーソルに加えて、クリックした位置にもカーソルが挿入され、そこからカーソルキーでカーソルを移動したり、[Shift]キーを押しながら範囲選択をしたり、といった操作になります。
その一方で、コードを記述するときには、同じインデント位置にある識別子などをまとめて範囲選択して何らかの処理を行いたいということもあるかもしれません。こうしたときには上の表に示した「上の行にカーソルを挿入」や「下の行にカーソルを挿入」するためのショートカットが役立つかもしれません。
あるいは、[F2]キーを押すと、カーソル位置にある識別子を一括して変更できますし、[Ctrl]+[F2]キーもしくは[Command]+[F2]キーでカーソル位置にある単語を全て一括して変更することも可能です(こちらは、コメントとして書かれている語についても一括して変換できるので、docstringを記述しているときには便利に使えるでしょう)。
それから、「()」「{}」「[]」などのかっこはプログラムコードにおいては特別な意味を持つものです。そこで、VS Codeではかっこに移動するためのショートカットも用意されています。[Ctrl]+[→]キーや[Alt]+[→]キーなどでも単語単位でカーソルを移動できるので、これらを覚えておくとカーソル移動が快適にはなりますが、関数やメソッドの引数を編集する際には、[Ctrl]+[Shift]+[\]キーもしくは[Shift]+[Command]+[\]キーでかっこを目標にカーソル移動できることを覚えておくと、カーソル移動がより快適になるかもしれません。
ただし、このショートカットキーで行われるカーソル移動のルールは次のようなものになっている点には注意してください。
- カーソル位置がかっこに囲まれていなければ、ファイル末尾方向に向かって直近のかっこに移動する
- カーソル位置がかっこに囲まれていれば、それを囲む閉じかっこに移動する
- 閉じかっこでこのショートカットキーを押すと、開きかっこに移動する
かっこで囲まれた範囲にさらに別のかっこがあった場合、このショートカットキーでは思ったところにカーソル移動してくれないかもしれません。以下はその例です。
このように使い勝手がよくないところもありますが、覚えておくと損はないと筆者は感じています。
なお、ショートカットキーが割り当てられてはいないのですが、カーソル行にあるかっこの内部を一気に選択する[Select to Bracket]コマンドがコマンドパレットには用意されています(カーソル位置がかっこに囲まれているときには、その最も内側の範囲が選択されます)。
かっこの内部をコピーしたり、削除して書き換えたりするときには役立つでしょう。そこで、これを例にショートカットキーを割り当てる方法を最後に簡単に見ておきましょう。
ショートカットキーの割り当て
どんなショートカットキーが設定されているかを確認したり、ショートカットキーを変更したり、ショートカットキーを新規に割り当てたりするには、[Ctrl]+[K]→[Ctrl]+[S]もしくは[Command]+[K]→[Command]+[S]というショートカットキーを押して、[キーボード ショートカット]タブをエディタ領域に表示します。
上部にある検索ボックスには、キーの組み合わせや機能などを入力できます。検索ボックスの下には、対応する機能とそのショートカットキーが(あれば)表示されます。ここでは[Select to Bracket]にショートカットキーを割り当てたいので、これを入力すると次のようになります。
この場合は検索結果が1つに絞れるので、その左側にある[+]をクリックします。これにより、キーコンビネーションを入力するボックスが表示されます。ここで何かのキーコンビネーションを入力します。ここでは[Ctrl]+[K]キーに続けて、[Shift]+[B]キーを入力するように指定しました(最後に[Enter]キーを押して確定します)。オプションで[いつ]なども指定できますが、これについては今回は扱いません。
これで、いつでもこのショートカットキーでかっこ内部をコピーできるようになりました。このように、ショートカットキーは簡単に設定できるので、いつも使うコマンドでショートカットキーが割り当てられていないものがあれば、設定するのもよいでしょう。ただし、既に使われているキーコンビネーションとは衝突しないようにする必要がある点には注意しましょう。
今回は知っていると便利かもしれないショートカットキーと、ショートカットキーの設定について見ました。今回紹介したショートカットキーを全て覚える必要はありません。VS Codeをキーボード主体で使っているうちに、自分に必要なものがあれば、徐々に身体が覚えてくれるはずです。次回は、カスタマイズの基本について見ていくことにします。
Copyright© Digital Advantage Corp. All Rights Reserved.

![[F2]キーによる識別子の変更](https://image.itmedia.co.jp/ait/articles/2106/04/di-vscp0510.gif)


![14行目の「print」にカーソルを置いてコマンドパレットから[Select to Bracket]コマンドを実行](https://image.itmedia.co.jp/ait/articles/2106/04/di-vscp0513.gif)

![[キーボード ショートカット]タブ](https://image.itmedia.co.jp/ait/articles/2106/04/di-vscp0515.gif)
![[Select to Bracket]コマンドの検索結果](https://image.itmedia.co.jp/ait/articles/2106/04/di-vscp0516.gif)
![[Select to Bracket]コマンドへのショートカットキーの割り当て](https://image.itmedia.co.jp/ait/articles/2106/04/di-vscp0517.gif)