Visual Studio Code 編輯器使用和設定說明
Visual Studio Code 編輯器
編輯器是 Visual Studio Code 的重要組成部分,承擔了程式碼編輯的工作,通常會占據 Visual Studio Code 的大部分區域並顯示在中間位置。
在 Visual Studio Code 編輯器中使用次要遊標
如果希望在 Visual Studio Code 編輯器的多個位置同時進行某種操作,則需要首先新增次要遊標,這可以通過按住Alt鍵並在編輯器的其他位置(可在同一行中)點選滑鼠左鍵來完成。
使用鍵盤快速鍵Ctrl+Alt+Up或Ctrl+Alt+Down,或選擇 Visual Studio Code 功能表項選取項目 | 在上方新增遊標或選取項目 | 在下方新增遊標,或在命令選擇區中執行命令Add Cursor Above
或Add Cursor Below
,可以為目前遊標所在行的上一行或下一行新增次要遊標。
在 Visual Studio Code 命令選擇區中執行命令Add Cursors To Top
或Add Cursors To Bottom
,可以為目前遊標所在行的上面或下面的所有行新增次要遊標。
當 Visual Studio Code 編輯器中存在次要遊標時,使用者移動遊標,選擇或編輯文字將針對所有的次要遊標,在一些情況下,這將節省大量的工作時間。
如何取消 Visual Studio Code 編輯器中的次要遊標?
在 Visual Studio Code 編輯器的任意位置點選,或按下Escape鍵,即可取消編輯器中所有的次要遊標。
如果按住Alt鍵然後點選某個次要遊標,可取消對應的次要遊標,該操作也可以取消擁有焦點的目前遊標,這將使其他次要遊標獲得焦點。
如何使 Visual Studio Code 編輯器中的次要遊標獲得焦點?
在 Visual Studio Code 命令選擇區中執行命令Focus Previous Cursor
或Focus Next Cursor
,可以使上一個或下一個次要遊標獲得焦點從而成為目前遊標,這裏的上一個或下一個是按照次要遊標被新增的順序來計算的。
如何變更 Visual Studio Code 編輯器用於新增次要遊標的修飾元(按鍵)?
使用 Visual Studio Code 設定項editor.multiCursorModifier
,可以設定用於新增次要遊標的修飾元(按鍵),預設值為alt
,即 Linux/Windows 中的Alt鍵或 macOS 中的Option鍵。如果將該設定項設定為ctrlCmd
,那麽將在 Linux/Windows 中采用Ctrl鍵,在 macOS 中采用Command鍵。
另外,設定項editor.multiCursorModifier
的值可通過 Visual Studio Code 功能表項選取項目 | 切換到 Ctrl+ 按一下啟用多重遊標或選取項目 | 切換到 Alt+ 按一下啟用多重遊標,或通過在命令選擇區中執行命令Toggle Multi-Cursor Modifier
進行切換。
需要說明的是,如果將設定項editor.multiCursorModifier
變更為ctrlCmd
,那麽 Visual Studio Code 的移至定義和開啟連結功能將調整為使用Alt+Click,以避免鍵盤快速鍵之間的沖突。
{
// 使用 Ctrl 或 Command 鍵來新增次要遊標
"editor.multiCursorModifier": "ctrlCmd",
}
在 Visual Studio Code 編輯器中復原和取消復原遊標操作
使用 Visual Studio Code 鍵盤快速鍵Ctrl+U,或在命令選擇區中執行命令Cursor Undo
,可以復原之前的遊標操作,比如,移動遊標或新增次要遊標。如果你在某個遊標操作之後對文字進行了編輯,那麽該遊標操作將無法被復原。
在 Visual Studio Code 命令選擇區中執行命令Cursor Redo
,可以取消復原之前復原的遊標操作,比如,移動遊標或新增次要遊標。
為 Visual Studio Code 編輯器中的遊標設定環繞行
在使用 Visual Studio Code 編輯器編輯檔案時,如果你不希望遊標距離編輯器底部或頂部(對於頂部似乎無效)太近,則可以為遊標設定環繞行。Visual Studio Code 設定項editor.cursorSurroundingLines
是一個數值,表示遊標環繞行的數量,設定項editor.cursorSurroundingLinesStyle
用於設定何時啟用環繞行,其預設值default
表示僅在使用者執行特定操作或 API 被呼叫時啟用環繞行,如果將其設定為all
,則會在更多時間點啟用環繞行。
這裏需要指出,由於與遊標環繞行相關的設定項擁有預設值,因此,即便不進行任何設定,遊標也不會過於靠近編輯器底部,當你在 Visual Studio Code 編輯器中編輯文字時。
Visual Studio Code 編輯器中的遊標環繞行是什麽?
所謂的遊標環繞行,是指在 Visual Studio Code 編輯器中,遊標之前和之後應該出現的可見的行,他們可以使遊標不會過於接近編輯器的底部或頂部。
{
// 設定遊標環繞行的數量,並在更多時間點啟用環繞行
"editor.cursorSurroundingLines": 20,
"editor.cursorSurroundingLinesStyle": "all",
}
選擇 Visual Studio Code 編輯器中文字的基本操作
Visual Studio Code 編輯器支援以下常見的文字選擇操作,這些操作通常也適用於其他文字編輯軟體,比如 Windows 中的記事本。
按住滑鼠左鍵(遊標會移動至滑鼠所在位置)然後移動滑鼠,或按住Shift鍵然後在某個位置點選滑鼠左鍵,可以在 Visual Studio Code 編輯器中選擇原始遊標位置和滑鼠位置之間的文字內容,並將遊標移動至滑鼠所在的位置。
使用鍵盤快速鍵Shift+LeftArrow或Shift+RightArrow,可以在 Visual Studio Code 編輯器中選擇或取消選擇遊標左邊或右邊的文字內容,並移動遊標。
使用鍵盤快速鍵Shift+UpArrow或Shift+DownArrow,可以在 Visual Studio Code 編輯器中移動遊標至上一行或下一行,並選擇原始遊標位置和目前遊標位置之間的文字內容。
使用鍵盤快速鍵Shift+Home或Shift+End,可以在 Visual Studio Code 編輯器中選擇原始遊標位置至目前行開頭或行結尾之間的文字內容,並將遊標移動至行開頭或行結尾。
在 Visual Studio Code 編輯器中連續三次點選滑鼠左鍵,可以選擇滑鼠所在行的所有文字內容,即選擇整個行。
使用鍵盤快速鍵Shift+PageUp或Shift+PageDown,可以在 Visual Studio Code 編輯器中移動遊標至上一頁或下一頁,並選擇原始遊標位置和目前遊標位置之間的文字內容。
使用鍵盤快速鍵Ctrl+Shift+Home或Ctrl+Shift+End,可以在 Visual Studio Code 編輯器中選擇原始遊標位置至檔案開頭或檔案結尾之間的文字內容,並將遊標移動至檔案開頭或檔案結尾。
使用鍵盤快速鍵Ctrl+A,或連續四次點選滑鼠左鍵,或選擇功能表項選取項目 | 全選,可以選擇 Visual Studio Code 編輯器中的所有文字內容。
如何在 Visual Studio Code 編輯器中擴充或縮小文字選擇範圍?
使用鍵盤快速鍵Shift+Alt+Right或Shift+Alt+Left,或選擇功能表項選取項目 | 展開選取範圍或選取項目 | 壓縮選取範圍,或在命令選擇區中執行命令Expand Selection
或Shrink Selection
,可以在 Visual Studio Code 編輯器中擴充或縮小文字選擇範圍,擴充或縮小會依據縮排層級進行,這對於程式碼檔案非常有效。
使用鍵盤快速鍵Ctrl+L,或在命令選擇區中執行命令Expand Line Selection
,可以在 Visual Studio Code 編輯器中選擇遊標所在的行,或以行為單位向下擴充選擇範圍。
選擇 Visual Studio Code 編輯器中的單詞
使用鍵盤快速鍵Ctrl+Shift+LeftArrow或Ctrl+Shift+RightArrow,可以在 Visual Studio Code 編輯器中選擇或取消選擇遊標左邊或右邊的單詞或單詞邊界,並移動遊標。
在 Visual Studio Code 編輯器中按兩下滑鼠左鍵會選擇滑鼠所在位置的單詞或單詞邊界,並將遊標移動至選取內容的末尾。
使用鍵盤快速鍵Ctrl+D,或選擇功能表項選取項目 | 新增下一個項目,或在命令選擇區中執行命令Add Selection To Next Find Match
,可以在 Visual Studio Code 編輯器中選擇遊標所在位置的單詞並將遊標移動至單詞的末尾,如果遊標位置存在單詞的話。再次執行上述操作,將選擇出現在下一個位置的該單詞,並新增次要遊標至單詞的末尾。
選擇 Visual Studio Code 功能表項選取項目 | 新增上一個項目或在命令選擇區中執行命令Add Selection To Previous Find Match
,可以產生與上述操作類似的效果,只不過會選擇出現在上一個位置的單詞,而不是下一個。
使用鍵盤快速鍵Ctrl+Shift+L或Ctrl+F2,或選擇功能表項選取項目 | 選取所有項目,或選擇編輯器的操作功能表項變更所有發生次數,或在命令選擇區中執行命令Select All Occurrences of Find Match
,可以在 Visual Studio Code 編輯器中選擇遊標所在位置的單詞,以及出現在編輯器其他位置的該單詞,並將遊標移動至單詞的末尾(如果遊標位置存在單詞的話),這會導致次要遊標被自動新增。如果在執行以上操作時,Visual Studio Code 編輯器中存在選取的文字,則將選擇編輯器中所有重複出現的該文字。
Visual Studio Code 編輯器不會對某些文字進行單詞劃分
Visual Studio Code 編輯器不會對所有語言的文字進行單詞劃分,比如漢字,一段漢字文字可能被當作一個“單詞”被選取。
選擇 Visual Studio Code 編輯器中的括弧
在 Visual Studio Code 命令選擇區中執行命令Select to Bracket
,可以選擇靠近遊標的括弧以及括弧中的文字內容,這些括弧包括()
,[]
和{}
(不包括漢字的括弧)。
對 Visual Studio Code 編輯器中的文字進行多選操作
在新增次要遊標之後,你可以在 Visual Studio Code 編輯器中對文字進行多選操作,這包括本節其他段落所提到的一些鍵盤快速鍵。
對 Visual Studio Code 編輯器中的文字進行列選擇操作
一般情況下,在 Visual Studio Code 編輯器中選擇多行文字時(超過兩行),中間的行會被整行選擇。如果按住Shift+Alt(如果設定項editor.multiCursorModifier
為ctrlCmd
,那麽需要按住Shift+Ctrl或Shift+Command)然後移動滑鼠或在某個位置點選滑鼠左鍵,可以對原始遊標位置和滑鼠位置之間的文字內容進行列選擇(中間的行不會被整行選擇),這會盡量保證整個選擇區域為矩形。
由於並非選擇整行,在 Visual Studio Code 編輯器中對文字進行列選擇,會導致次要遊標被自動新增。事實上,這相當於先新增次要遊標,然後進行文字的多選。
如何簡化 Visual Studio Code 編輯器的列選擇?
如果需要進行大量的列選擇操作,那麽可通過 Visual Studio Code 功能表項選取項目 | 資料行選取模式,或在命令選擇區中執行命令Toggle Column Selection Mode
來啟用或停用資料行選取模式,在該模式下,不需要按住Shift+Alt即可對編輯器中的文字進行列選擇。
除了上述方式,修改 Visual Studio Code 設定項editor.columnSelection
可以實作相同的效果(點選功能表項選取項目 | 資料行選取模式等同於修改設定項editor.columnSelection
),該設定項表示是否啟用資料行選取模式,預設值為false
(不啟用)。
{
// 啟用資料行選取模式
"editor.columnSelection": true,
}
Visual Studio Code 編輯器的複製操作
在 Visual Studio Code 編輯器中,使用鍵盤快速鍵Ctrl+C,或選擇功能表項編輯 | 複製,或選擇編輯器的操作功能表項複製,可以複製編輯器中選取的文字內容,如果沒有任何文字被選取,那麽將複製遊標所在的整個行。
使用鍵盤快速鍵Shift+Alt+UpArrow或Shift+Alt+DownArrow,或選擇功能表項選取項目 | 將行向上複製或選取項目 | 將行向下複製,或在命令選擇區中執行命令Copy Line Up
或Copy Line Down
,可以在 Visual Studio Code 編輯器中複製遊標所在的行,並在該行的上方或下方新增新行,新的行將被貼上原有行的內容。
選擇功能表項選取項目 | 重複選取項目,或在命令選擇區中執行命令Duplicate Selection
,可以在 Visual Studio Code 編輯器中複製選取的文字內容,並貼上至選取的文字內容之後。
Visual Studio Code 編輯器的剪下操作
在 Visual Studio Code 編輯器中,使用鍵盤快速鍵Ctrl+X,或選擇功能表項編輯 | 剪下,或選擇編輯器的操作功能表項剪下,可以剪下編輯器中選取的文字內容,如果沒有任何文字被選取,那麽將剪下遊標所在的整個行。
Visual Studio Code 編輯器的貼上操作
在 Visual Studio Code 編輯器中,使用鍵盤快速鍵Ctrl+V,或選擇功能表項編輯 | 貼上,或選擇編輯器的操作功能表項貼上,或在命令選擇區中執行命令Paste as Text
,可以將複製或剪下的內容貼上至編輯器中,如果編輯器中有被選取的文字,那麽這些被選取的文字將被取代。
在 Visual Studio Code 命令選擇區中執行命令Paste As…
,可以將複製或剪下的內容貼上為其他特殊的內容,比如,貼上為純文字,HTML,路徑等。
Visual Studio Code 編輯器的刪除操作
在 Visual Studio Code 編輯器中,按下Delete或Backspace鍵,可以刪除遊標右邊或左邊的文字內容。如果是按下Backspace鍵,那麽遊標將嘗試向左移動。
使用鍵盤快速鍵Ctrl+Delete或Ctrl+Backspace,可以在 Visual Studio Code 編輯器中刪除遊標右邊或左邊的單詞或單詞邊界。
在 Visual Studio Code 命令選擇區中執行命令Delete Word
,可以刪除遊標附近(可能是左邊或右邊)的單詞或單詞邊界。
使用鍵盤快速鍵Shift+Delete,或在命令選擇區中執行命令Delete Line
,可以在 Visual Studio Code 編輯器中刪除遊標所在的行。
在 Visual Studio Code 命令選擇區中執行命令Delete All Left
或Delete All Right
,可以刪除遊標位置至行開頭或行結尾之間的文字內容。
在 Visual Studio Code 命令選擇區中執行命令Delete Duplicate Lines
,可以刪除編輯器中重複的行,但會保留其中的一個。
Visual Studio Code 編輯器的尋找和取代操作
使用鍵盤快速鍵Ctrl+F,或選擇功能表項編輯 | 尋找,或在命令選擇區中執行命令Find
,可以在 Visual Studio Code 編輯器中開啟尋找小工具。如果 Visual Studio Code 編輯器中存在已經選取的文字,那麽這些文字將作為被尋找的內容,否則會嘗試將遊標所在位置的單詞作為被尋找的內容,如果單詞不存在,那麽會保留上一次的尋找內容。
使用鍵盤快速鍵Ctrl+H,或選擇功能表項編輯 | 取代,或在命令選擇區中執行命令Replace
,可以在 Visual Studio Code 編輯器中開啟尋找小工具並進入取代模式。如果 Visual Studio Code 編輯器中存在已經選取的文字,那麽這些文字將作為被尋找的內容,否則會保留上一次的尋找內容。
除了通過尋找小工具進行尋找和取代的相關操作,Visual Studio Code 編輯器還提供了一些鍵盤快速鍵(一般需要編輯器處於活動狀態)和命令選擇區命令來實作相同的效果。
鍵盤快速鍵Alt+R可用於設定是否采用規則運算式進行尋找。鍵盤快速鍵Alt+W可用於設定是否采用全字拼字。鍵盤快速鍵Alt+C可用於設定是否區分大小寫。鍵盤快速鍵Alt+P可用於設定是否在取代過程中保留大小寫。
鍵盤快速鍵Enter(需要尋找小工具的尋找文字方塊處於活動狀態)和命令Find Next
可用於尋找下一個符合條件的文字。鍵盤快速鍵Shift+Enter(需要尋找小工具的尋找文字方塊處於活動狀態)和命令Find Previous
可用於尋找上一個符合條件的文字。
鍵盤快速鍵Enter(需要尋找小工具的取代文字方塊處於活動狀態)可用於取代下一個符合條件的文字。鍵盤快速鍵Ctrl+Alt+Enter可用於取代所有符合條件的文字。
鍵盤快速鍵Escape可用於隱藏尋找小工具。
設定 Visual Studio Code 編輯器對應的檔案的編碼
Visual Studio Code 設定項files.encoding
是一個用於設定預設檔案編碼的字串(預設值為utf8
),如果沒有啟用自動推斷檔案編碼或無法推斷檔案的編碼,那麽 Visual Studio Code 編輯器將嘗試采用預設編碼新增,開啟(讀取)或儲存(寫入)檔案,在大部分情況下,修改設定項files.encoding
是沒有必要的,保持其預設值即可。Visual Studio Code 設定項files.autoGuessEncoding
可用於設定是否在編輯器開啟檔案時自動推斷檔案的編碼(預設值為false
,不進行自動推斷)。
點選 Visual Studio Code 狀態列的右邊區域的檔案編碼資訊,或在命令選擇區中執行命令Change File Encoding
,可變更目前編輯器對應的檔案的編碼,Visual Studio Code 會為使用者提供Reopen with Encoding
和Save with Encoding
兩個選項。其中Reopen with Encoding
會采用指定的編碼重新開打編輯器對應的檔案,但不會真正的修改檔案的編碼,除非對檔案進行儲存,Save with Encoding
會采用指定的編碼儲存編輯器對應的檔案。
{
// 指定預設的編碼為 utf16be
"files.encoding": "utf16be",
// 在開啟檔案時推斷編碼
"files.autoGuessEncoding": true,
}
設定 Visual Studio Code 編輯器的自動儲存功能
在預設情況下,Visual Studio Code 編輯器並不會自動儲存已變更的檔案,你需要修改設定項files.autoSave
來實作檔案的自動儲存,該設定項擁有以下有效取值。
- off
off
是預設值,表示 Visual Studio Code 編輯器不會自動儲存檔案。- afterDelay
afterDelay
表示當 Visual Studio Code 編輯器對應的檔案被變更並經過一定的延遲之後,將自動儲存已變更的檔案,延遲的時間由設定項files.autoSaveDelay
來決定(以毫秒為單位,預設值為1000
)。- onFocusChange
onFocusChange
表示當 Visual Studio Code 編輯器失去焦點時,將自動儲存其對應的已變更檔案。- onWindowChange
onWindowChange
表示當 Visual Studio Code 視窗失去焦點時,將自動儲存已變更的檔案。
此外,在 Visual Studio Code 命令選擇區中執行命令File: Toggle Auto Save
,可以讓設定項files.autoSave
保持預設值,或被設定為afterDelay
。
不對 Visual Studio Code 編輯器對應的特定檔案執行自動儲存
Visual Studio Code 設定項files.autoSaveWhenNoErrors
(預設值為false
)可用於設定是否不對存在錯誤的檔案執行自動儲存,如果將該設定項設定為true
並且編輯器對應的檔案存在錯誤(不包括警告),那麽檔案不會被自動儲存。
Visual Studio Code 設定項files.autoSaveWorkspaceFilesOnly
(預設值為false
)可用於設定是否不對非工作區的檔案執行自動儲存,如果將該設定項設定為true
,那麽非工作區的檔案不會被自動儲存。
{
// 變更的檔案在 3 秒後被自動儲存
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 3000,
// 存在錯誤的檔案不會被自動儲存
"files.autoSaveWhenNoErrors": true,
// 非工作區的檔案不會被自動儲存
"files.autoSaveWorkspaceFilesOnly": true,
}