Visual Studio Code 使用 "在檔案中搜尋 (Find in Files)" 功能,但檔案編碼不是 UTF-8 並搜尋非 ASCII 字元時,無法搜尋到應有結果。

 結論

目前 (1.53.1) 是無法得到你想要的結果,只要你輸入的條件有包含非 ASCII 字元時,而你的檔案不是 UTF-8 編碼。

緣由

要處理一些舊專案,檔案都是使用 Big5 (Code Page 950) 編碼。
第一個遇到的困難,是若你為了不想每個檔案都手動改變顯示編碼,設定了 "files.encoding": "cp950" 。
 
 

 
搜尋就會如下圖出錯。
 

解決方案

找了一下解決方案,使用了設定指定檔案類型指定編碼的方式處理。
如下圖,需移除 "files.encoding" 或改回 "utf8" 設定。

 
如此可以搜尋了。
 
 
 
但只要檔案沒有開啟,找到的結果只會是編碼為 utf-8 的檔案。
如目錄中的另一個 ASP 檔案其實也有搜尋內容。

 
 
 
但若尚未開啟,就不會搜尋到。 
 


有開啟就會搜尋到。

 
 
但這問題現在無解,若有解決方案將再更新。

留言