The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何在 Visual Studio Code 正確啟用「資料行選取模式」(區塊選取模式)

我之前有在我的 YouTube 頻道發佈過一部《示範 VS Code 強大的多重游標編輯能力》影片,當時有提到「資料行選取模式」(Column Selection Mode) 的功能,但是沒有特別說明如何正確啟用這個功能。重點是,我自己每次要找這個啟用的設定都要找個老半天,因為 VSCode 會自動同步設定,只要登入就會自動復原,而我上次調整這個設定已經是很多很多年前的事了。我為什麼還要找這個設定呢?因為有上課的學員會來問我,但我每次都找不到!所以我決定寫一篇文章來記錄這個設定。

VSCode Column Selection Mode

簡介「資料行選取模式」(Column Selection Mode)

這是一種非常方便的選取模式,可以讓你選取一個「矩形」的文字區塊,而且可以對選取區塊的內容進行編輯。這個功能在其他的編輯器也常看到,但名稱可能不太一樣,有的叫「區塊選取」模式!

我通常是這樣使用的:

按住 ALT 鍵不放,然後用滑鼠左鍵拖曳,就可以選取區塊範圍 (如下圖示)

SNAG-0075

由於這是我個人的使用習慣,且並非 VS Code 預設的「快速鍵」與使用方式,所以每次我只要用了別人的電腦,就會忘記這個設定倒底在哪裡。

啟用「資料行選取模式」的方法

另一種啟用「資料行選取模式」的方式,則是要透過 Selection 主選單,然後點擊 Column Selection Mode 項目進行模式切換,接著你就可以直接用滑鼠選取一個區塊,不需要特別按下 ALT 鍵。

SNAG-0076

但是你在選完之後,還要再點一次 Selection 主選單下的 Column Selection Mode 項目切換回來,否則你的選取模式會一直保持在「資料行選取模式」,這樣可能會讓你之後的操作感到困惑,所以我覺得這樣很難用。

注意: 這個選單的操作完全可以透過「鍵盤」完成,不需要藉助滑鼠的操作。使用方式就跟我們平常用鍵盤在選取文字一樣,用 SHIFT + 方向鍵 就可以選取一個區塊範圍,記得選取完之後要再透過 Selection 選單切換回來!

搭配快速鍵啟用「資料行選取模式」的方法

在 Visual Studio Code 內建就有支援一個快速鍵,在你按下 ALT + SHIFT 的情況下,用滑鼠選取一個範圍,也可以自動選取一個區塊,這樣就不需要特別切換模式了。不過,這種操作方式並不是非常直覺,因為正確的用法如下:

  1. 先將游標移至你準備要進行「區塊選取」的起始位置(搭配這組快速鍵就一定要做這個動作)
  2. 然後再將滑鼠游標移至你要「區塊選取」的結束位置
  3. 接著按下 ALT + SHIFT 不放,然後用滑鼠左鍵點擊一次,這樣就可以選取一個區塊範圍!

這操作太不直覺了,我個人不愛!

認識多重選取模式 (Multiple selections) (multi-cursor)

Visual Studio Code 另一個強大的功能,就是支援多重游標 (multi-cursor) 的編輯模式,又稱多重選取模式 (Multiple selections),這個功能可以讓你在同一時間對多個游標進行編輯,這樣可以大幅提升你的編輯效率。

使用方式如下:

  1. 先按著 ALT 不放,然後用滑鼠左鍵點擊,就可以新增多重游標的位置。
  2. 當你點擊多個游標位置後,就可以同時對這些游標進行編輯。

不過,這個「多重選取模式」跟「資料行選取模式」事實上是相關的,因為你在「資料行選取模式」下選取了一個區塊,也等同於新增了多個游標。

更好的使用方式

我認為 Visual Studio Code 要這樣設計的原因,就是希望在編輯器 SHIFT + 滑鼠左鍵 的操作模式外,增加一個「區塊選取」的選項,所以設計了 ALT + SHIFT + 滑鼠左鍵 的操作模式。但是沒想到這個操作模式完全以「游標目前所在位置」為出發點,如果你不想先定位鍵盤游標,而希望直接由「滑鼠」來決定起迄位置,那麼你最好調整一下這個預設的快速鍵!

我個人是這樣設定的:

  1. 先加入一段 editor.multiCursorModifier 設定,把多重選取的快速鍵改成 CTRL

    "editor.multiCursorModifier": "ctrlCmd"
    
  2. 然後就沒有然後了,整篇文章就是這個重點而已,一個步驟而已,也就是我經常被問起但想不起來的設定。

經過調整設定之後,你就會得到更棒的 Visual Studio Code 編輯體驗!

  1. 更方便的「資料行選取模式」使用方法

    首先,按住 ALT 鍵不放,然後用滑鼠左鍵直接拖曳一個區塊,就可以選取區塊範圍。

    重點是你不用先將鍵盤游標移至起始位置,可以先按 ALT 鍵就直接選範圍,這樣真的很方便!

    如果你已經定位到起始位置,也可以改按 CTRL + SHIFT 不放,然後將滑鼠移到結束位置,並用滑鼠左鍵點一下,這樣也可以選取區塊範圍。

  2. 改用 CTRL 鍵來選取多重游標 (因為 ALT 鍵已經被我們拿去做區塊選取)

總結

下次拿到一台新電腦,記得先做出以下設定:

"editor.multiCursorModifier": "ctrlCmd"

然後記得 2 件事:

  1. ALT 鍵搭配滑鼠拖曳進行區塊選取

    也可以用 CTRL + SHIFT 鍵來選取區塊範圍,使用方式有點差異。

  2. CTRL 鍵搭配滑鼠左鍵點擊來新增多重游標

本篇文章結束!😃

最後補充

我之前有開發過一個 Easy Insert Numbers 擴充套件,就是會利用到 Visual Studio Code 的「多重游標」功能,讓你可以快速在文字編輯器中插入一段連續的數字序號,對於某些編輯的情境下非常實用!

還有《示範 VS Code 強大的多重游標編輯能力》影片記得看,最後也別忘了到我的 YouTube 頻道「訂閱」、「按讚」、「分享」並「按下小鈴鐺」喔!😊

相關連結

留言評論