VS Codeでテキストを矩形選択するにはVisual Studio Code TIPS

VS Codeで、マウス/キーボードを使い、複数行にわたって特定のカラムから別のカラムまでを矩形状に選択する方法を解説する。

» 2018年05月11日 05時00分 公開
[かわさきしんじInsider.NET編集部]
「Visual Studio Code TIPS」のインデックス

連載「Visual Studio Code TIPS」

 一定のフォーマットで、プログラムで使用するデータを列挙しているような場合には、それらをまとめて選択できると都合が良いことがある。Visual Studio Code(以下、VS Code)で、複数行にわたって、特定のカラムから別のカラムまでを矩形状に範囲選択するには以下の操作を行う(本稿ではLinuxについてはUbuntu版で動作を確認している)。

OS マウスによる矩形選択 キーボードによる矩形選択
Windows 始点をクリックしてから、終点を[Shift]+[Alt]+左クリック(したままドラッグ) [Ctrl]+[Shift]+[Alt]+矢印キー
macOS 始点をクリックしてから、終点を[Shift]+[Option]+左クリック (したままドラッグ)[Shift]+[Option]+[Command]+矢印キー
Linux 始点を左クリックしてから、終点を[Shift]+[Alt]+左クリック(したままドラッグ) 既定では設定なし
矩形選択を行う操作

 以下ではそれぞれを少し詳しく見てみよう。

マウスによる矩形選択

 マウスを使用する場合は、始点となる位置をクリックして、次に[Shift]+[Alt]キー(Windows/Linuxの場合。macOSでは[Shift]+[Option]キー)を押しながら終点となる位置をクリックすると、始点と終点で表される矩形状の領域を範囲選択できる。以下に例を示す。

マウスによる矩形選択 マウスによる矩形選択

 ここでは13行目の「Name」の「N」をクリックして(始点)、15行目のカンマの辺りを[Shift]+[Alt]キーを押しながらクリックすることで矩形状に範囲選択を行っている。画像を見れば分かる通り、2つのキーを押し続けながら、マウスを動かすことで選択する範囲をマウスで変更することも可能だ。

 Linuxで[Shift]+[Alt]キー+クリックによる範囲選択がうまくできない場合は「Linux版Visual Studio Codeで矩形選択によるコピー/カットアンドペーストをしたい」などを参考にされたい(筆者がUbuntu 16.04 LTSで試したところでは範囲選択できたが、デスクトップ環境によってはうまく機能しないかもしれない)。

キーボードによる矩形選択

 キーボードでも矩形選択は可能だ。WindowsとmacOSでは以下のキーコンビネーションを利用すればよい。

  • Windows:[Ctrl]+[Shift]+[Alt]+矢印キー([PageUp]キー/[PageDown]キーも利用可能)
  • macOS:[Shift]+[Option]+[Command]+矢印キー([PageUp]キー/[PageDown]キーも利用可能)

 Linux版(Ubuntu版)だと既定では矩形選択を行う機能に対してキーバインドが設定されていないため、[ファイル]メニューから[基本設定]−[キーボードショートカット]を選択して、キーバインドの設定を行う必要がある(この方法については後述)。

 範囲選択を開始したい位置にカーソルを移動したら、上記のキーを押しながらカーソルを移動させればよい。以下に例を示す。

キーボードによる矩形選択 キーボードによる矩形選択

 上の例では、カーソルを13行目の「Name」の「N」に移動してから、[Ctrl]+[Shift]+[Alt]+[→]キーと[Ctrl]+[Shift]+[Alt]+[↓]キーなどを利用して、カーソルを移動させることで矩形選択を行っている。匿名型の配列の範囲を超えてカーソルを移動させているが、そこでも同じ幅の領域が選択されていることが分かる。

 キーボードによる矩形選択にはもう1つ方法がある。それはマルチカーソル機能を使うものだ。

  • Windows:[Ctrl]+[Alt]+上下矢印キー
  • Linux:[Shift]+[Alt]+上下矢印キー
  • macOS:[Option]+[Command]+上下矢印キー

 上記のキー操作によって、カーソルを現在のカーソル位置の上または下に挿入し、その後、[Shift]キーを押しながらカーソルを移動させても矩形選択が可能だ。以下に例を示す。

マルチカーソルによる矩形選択 マルチカーソルによる矩形選択

 この方法の場合、上の画像を見て分かるように、(恐らく)現在のカーソル位置よりも短い行をまたいで範囲選択を続けようとすると、範囲選択が崩れてしまう。ここは先に取り上げた方法とは異なる点なので注意しよう。

 余談となるが、マウスを使っている場合には、[Alt]キー+クリック(macOSでは[Option]キー+クリック)で任意の位置に複数のカーソルを設定できる(Linuxで[Alt]キー+クリックがうまく機能しない場合も前述のリンクなどを参考にされたい)。

キーバインドの設定

 Linux版ではキーボードで矩形選択を行うためのキーバインドが既定では設定されていない。そのためには[ファイル]メニューの[基本設定]−[キーボードショートカット]を選択して、キーボードバインドを割り当てる必要がある。Windows/macOSでも同様な手順でデフォルトの割り当てを変更可能だ。

 矩形選択を行うためのコマンドは「cursorColumnSelect〜」となっている(「〜」には「Down」「Left」など、キー操作を行う矢印キーが入る)。よって、[キーバインドの検索]ボックスに「cursorColumnSelect」と入力して、これらの項目を表示し、各項目の左に表示される[+]アイコン(や、変更する場合には鉛筆アイコン)をクリックして、適当なキーコンビネーションを割り当ててやればよい。例えば、以下は[Alt]+[Windows]+矢印キーにこれらのコマンドを割り当てたものだ。

[Alt]+[Windows]+矢印キーに矩形選択コマンドを割り当て [Alt]+[Windows]+矢印キーに矩形選択コマンドを割り当て

 もちろん、自分でkeybindings.jsonファイルを変更してもよい。これを行うには上の画像にある[次を開いて編集: keybindeings.json]をクリックして、エディタに[Default Keybindings]と[keybindings.json]を開き、「cursorColumnSelect〜」を検索するなどしながら、keybindings.jsonファイルに設定を記述していく。

 なお、矩形選択についてはVS Codeのドキュメントにある「Column (box) selection」や「Multiple selections (multi-cursor)」なども参考にされたい。

「Visual Studio Code TIPS」のインデックス

Visual Studio Code TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。