Visual Studio Code 編輯器使用和設定說明

閱讀 23:12·字數 6961·更新 
Youtube 頻道
訂閱 133

Visual Studio Code 編輯器

編輯器是 Visual Studio Code 的重要組成部分,承擔了程式碼編輯的工作,通常會占據 Visual Studio Code 的大部分區域並顯示在中間位置。

Visual Studio Code檔案總管test.pyinit.py

在 Visual Studio Code 編輯器中使用次要遊標

如果希望在 Visual Studio Code 編輯器的多個位置同時進行某種操作,則需要首先新增次要遊標,這可以通過按住Alt鍵並在編輯器的其他位置(可在同一行中)點選滑鼠左鍵來完成。

使用鍵盤快速鍵Ctrl+Alt+UpCtrl+Alt+Down,或選擇 Visual Studio Code 功能表項選取項目 | 在上方新增遊標選取項目 | 在下方新增遊標,或在命令選擇區中執行命令Add Cursor AboveAdd Cursor Below,可以為目前遊標所在行的上一行或下一行新增次要遊標。

在 Visual Studio Code 命令選擇區中執行命令Add Cursors To TopAdd Cursors To Bottom,可以為目前遊標所在行的上面或下面的所有行新增次要遊標。

當 Visual Studio Code 編輯器中存在次要遊標時,使用者移動遊標,選擇或編輯文字將針對所有的次要遊標,在一些情況下,這將節省大量的工作時間。

如何取消 Visual Studio Code 編輯器中的次要遊標?

在 Visual Studio Code 編輯器的任意位置點選,或按下Escape鍵,即可取消編輯器中所有的次要遊標。

如果按住Alt鍵然後點選某個次要遊標,可取消對應的次要遊標,該操作也可以取消擁有焦點的目前遊標,這將使其他次要遊標獲得焦點。

如何使 Visual Studio Code 編輯器中的次要遊標獲得焦點?

在 Visual Studio Code 命令選擇區中執行命令Focus Previous CursorFocus 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,以避免鍵盤快速鍵之間的沖突。

settings.json
{
	// 使用 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 編輯器中,遊標之前和之後應該出現的可見的行,他們可以使遊標不會過於接近編輯器的底部或頂部。

settings.json
{
	// 設定遊標環繞行的數量,並在更多時間點啟用環繞行
	"editor.cursorSurroundingLines": 20,
	"editor.cursorSurroundingLinesStyle": "all",
}

選擇 Visual Studio Code 編輯器中文字的基本操作

Visual Studio Code 編輯器支援以下常見的文字選擇操作,這些操作通常也適用於其他文字編輯軟體,比如 Windows 中的記事本

按住滑鼠左鍵(遊標會移動至滑鼠所在位置)然後移動滑鼠,或按住Shift鍵然後在某個位置點選滑鼠左鍵,可以在 Visual Studio Code 編輯器中選擇原始遊標位置和滑鼠位置之間的文字內容,並將遊標移動至滑鼠所在的位置。

使用鍵盤快速鍵Shift+LeftArrowShift+RightArrow,可以在 Visual Studio Code 編輯器中選擇或取消選擇遊標左邊或右邊的文字內容,並移動遊標。

使用鍵盤快速鍵Shift+UpArrowShift+DownArrow,可以在 Visual Studio Code 編輯器中移動遊標至上一行或下一行,並選擇原始遊標位置和目前遊標位置之間的文字內容。

使用鍵盤快速鍵Shift+HomeShift+End,可以在 Visual Studio Code 編輯器中選擇原始遊標位置至目前行開頭或行結尾之間的文字內容,並將遊標移動至行開頭或行結尾。

在 Visual Studio Code 編輯器中連續三次點選滑鼠左鍵,可以選擇滑鼠所在行的所有文字內容,即選擇整個行。

使用鍵盤快速鍵Shift+PageUpShift+PageDown,可以在 Visual Studio Code 編輯器中移動遊標至上一頁或下一頁,並選擇原始遊標位置和目前遊標位置之間的文字內容。

使用鍵盤快速鍵Ctrl+Shift+HomeCtrl+Shift+End,可以在 Visual Studio Code 編輯器中選擇原始遊標位置至檔案開頭或檔案結尾之間的文字內容,並將遊標移動至檔案開頭或檔案結尾。

使用鍵盤快速鍵Ctrl+A,或連續四次點選滑鼠左鍵,或選擇功能表項選取項目 | 全選,可以選擇 Visual Studio Code 編輯器中的所有文字內容。

如何在 Visual Studio Code 編輯器中擴充或縮小文字選擇範圍?

使用鍵盤快速鍵Shift+Alt+RightShift+Alt+Left,或選擇功能表項選取項目 | 展開選取範圍選取項目 | 壓縮選取範圍,或在命令選擇區中執行命令Expand SelectionShrink Selection,可以在 Visual Studio Code 編輯器中擴充或縮小文字選擇範圍,擴充或縮小會依據縮排層級進行,這對於程式碼檔案非常有效。

使用鍵盤快速鍵Ctrl+L,或在命令選擇區中執行命令Expand Line Selection,可以在 Visual Studio Code 編輯器中選擇遊標所在的行,或以行為單位向下擴充選擇範圍。

選擇 Visual Studio Code 編輯器中的單詞

使用鍵盤快速鍵Ctrl+Shift+LeftArrowCtrl+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+LCtrl+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.multiCursorModifierctrlCmd,那麽需要按住Shift+CtrlShift+Command)然後移動滑鼠或在某個位置點選滑鼠左鍵,可以對原始遊標位置和滑鼠位置之間的文字內容進行列選擇(中間的行不會被整行選擇),這會盡量保證整個選擇區域為矩形。

由於並非選擇整行,在 Visual Studio Code 編輯器中對文字進行列選擇,會導致次要遊標被自動新增。事實上,這相當於先新增次要遊標,然後進行文字的多選。

如何簡化 Visual Studio Code 編輯器的列選擇?

如果需要進行大量的列選擇操作,那麽可通過 Visual Studio Code 功能表項選取項目 | 資料行選取模式,或在命令選擇區中執行命令Toggle Column Selection Mode來啟用或停用資料行選取模式,在該模式下,不需要按住Shift+Alt即可對編輯器中的文字進行列選擇。

除了上述方式,修改 Visual Studio Code 設定項editor.columnSelection可以實作相同的效果(點選功能表項選取項目 | 資料行選取模式等同於修改設定項editor.columnSelection),該設定項表示是否啟用資料行選取模式,預設值為false(不啟用)。

settings.json
{
	// 啟用資料行選取模式
	"editor.columnSelection": true,
}

Visual Studio Code 編輯器的複製操作

在 Visual Studio Code 編輯器中,使用鍵盤快速鍵Ctrl+C,或選擇功能表項編輯 | 複製,或選擇編輯器的操作功能表項複製,可以複製編輯器中選取的文字內容,如果沒有任何文字被選取,那麽將複製遊標所在的整個行。

使用鍵盤快速鍵Shift+Alt+UpArrowShift+Alt+DownArrow,或選擇功能表項選取項目 | 將行向上複製選取項目 | 將行向下複製,或在命令選擇區中執行命令Copy Line UpCopy 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 編輯器中,按下DeleteBackspace鍵,可以刪除遊標右邊或左邊的文字內容。如果是按下Backspace鍵,那麽遊標將嘗試向左移動。

使用鍵盤快速鍵Ctrl+DeleteCtrl+Backspace,可以在 Visual Studio Code 編輯器中刪除遊標右邊或左邊的單詞或單詞邊界。

在 Visual Studio Code 命令選擇區中執行命令Delete Word,可以刪除遊標附近(可能是左邊或右邊)的單詞或單詞邊界。

使用鍵盤快速鍵Shift+Delete,或在命令選擇區中執行命令Delete Line,可以在 Visual Studio Code 編輯器中刪除遊標所在的行。

在 Visual Studio Code 命令選擇區中執行命令Delete All LeftDelete 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 EncodingSave with Encoding兩個選項。其中Reopen with Encoding會采用指定的編碼重新開打編輯器對應的檔案,但不會真正的修改檔案的編碼,除非對檔案進行儲存,Save with Encoding會采用指定的編碼儲存編輯器對應的檔案。

settings.json
{
	// 指定預設的編碼為 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,那麽非工作區的檔案不會被自動儲存。

settings.json
{
	// 變更的檔案在 3 秒後被自動儲存
	"files.autoSave": "afterDelay",
	"files.autoSaveDelay": 3000,
	// 存在錯誤的檔案不會被自動儲存
	"files.autoSaveWhenNoErrors": true,
	// 非工作區的檔案不會被自動儲存
	"files.autoSaveWorkspaceFilesOnly": true,
}

內容分類

程式碼

settings.json·codebeatme/vscode·GitHub