在 VS Code 中,您可以自由選擇將替代範圍限制在特定選取區域或套用到整份檔案(全部)。
🎯 情況一:只替代「所選區域」
如果您只想修改程式碼中的某幾個段落,請按照以下步驟:
- 圈選範圍:在編輯器中,用滑鼠或鍵盤選取您想要修改的文字區域。
- 開啟搜尋面板:按下
Ctrl + H(Mac 為Cmd + Option + F)。 - 啟用「在選取範圍中尋找」:
- 點擊搜尋面板右側的
|=圖示(外觀像一條水平線左右被括號包住)。 - 快速鍵: Windows/Linux 按
Alt + L,Mac 按Cmd + Option + L。
- 點擊搜尋面板右側的
- 執行替代:
- 點擊 全部替換 (Replace All) 按鈕(快速鍵:
Ctrl + Alt + Enter/ Mac:Cmd + Alt + Enter)。 - 此時 VS Code 只會把您剛剛圈選的區域內符合的文字換掉。
- 點擊 全部替換 (Replace All) 按鈕(快速鍵:
💡 實用小秘訣:如果您在開啟搜尋面板之前就已經選取了多行文字,VS Code 通常會自動啟用這個功能。
🌍 情況二:替代「整份檔案(全部)」
如果您想讓規則套用到目前開啟的整份檔案,請確保「在選取範圍中尋找」功能是關閉的:
- 關閉區域限制:檢查搜尋面板右側的
|=圖示,確認它沒有被高亮(按一下可切換開關)。 - 一鍵全部替換:
- 直接點擊「替代框」右側的 全部替換 (Replace All) 圖示。
- 或使用快速鍵:
Ctrl + Alt + Enter(Mac 為Cmd + Alt + Enter)。
🎛️ 按鈕圖示快速辨識指南
在搜尋與替代面板的右側,您會看到一排小按鈕,它們的作用分別是:
.*:啟用正規表達式。|=:只在選取區域中尋找。ab(Replace):只替代目前游標所在的那下一個相符文字。ab|(Replace All):替代範圍內所有相符文字(配合上述開關,決定是局部全部還是整份檔案全部)。
想確認一下,您現在要處理的是單一檔案內的多行程式碼,還是想批次修改整個專案(多個檔案)底下的文字呢?
如果您有需要,我可以跟您說明跨檔案(全專案)的批次替代方法!
抱歉!我傳遞了不正確的預設行為資訊。謝謝您的即時糾正。
事實上,VS Code 預設不會因為您選取了多行文字就自動幫您勾選「在選取範圍中尋找(
|=)」[1, 2]。不論您有沒有選取文字,開啟搜尋面板時,預設通常還是會針對「整份檔案」進行搜尋與替代 [2]。如果您希望它能像我剛才描述的那樣,在選取多行文字時自動啟用這個限制範圍的功能,必須手動修改設定(Settings):
🛠️ 調整設定使其「自動啟用」:
- 按下
Ctrl + ,(Mac 為Cmd + ,)開啟設定。 - 在上方搜尋欄輸入:
editor.find.autoFindInSelection[1, 2]。 - 將此設定從
never(永不)修改為:multiline:當您選取 2 行(含)以上 的文字時,開啟搜尋面板就會自動啟用區域限制 [1, 2]。always:只要有選取任何文字(哪怕只有幾個字),開啟搜尋面板就會自動啟用區域限制 [2]。
回到您當前的需求,在預設狀態下,最安全的局部替代做法是:
- 先把文字圈選起來。
- 按下
Ctrl + H。 - 務必手動點擊 右側的
|=圖示(或按Alt + L),看到它亮起來 [1, 2]。 - 輸入正則語法後,點擊 全部替換,這樣就只會動到選取範圍。
再次感謝您的指正!您目前在操作這步驟時,有順利鎖定在您想要的區域嗎?如果正則語法有遇到任何抓不準的問題,隨時可以發給我調整。
沒有留言:
張貼留言