使用vscode在全局搜索時,代碼中的內容無法搜索出來,或者搜索出來是亂碼。
經驗證:與vscode的語言設置無關,設置爲中文或英文都是一樣的
後面猜想到會不會與文件自身的編碼有關,因爲我們項目中的代碼文件大多是GB18030的,而vscode默認的編碼應該是UTF-8
解決方案
經過驗證有兩2種方法可以解決:
添加"files.encoding": "gb18030"到user setting或workspace settings配置中
建議添加到workspace,如果你不瞭解什麼是workspace,那就簡單粗暴地添加到user settings中。
按ctrl+p,搜索settings,就會出現下面兩個,然後進行添加
- open user setting
- open workspace settings
設置User Settings
修改User Settings,在配置中加上這樣一行"files.encoding": "gb18030"
但是,但是對於utf-8格式的文件加上之後,搜索出來就變成亂碼了,如下所示:
設置workspace的encoding
設置完workspace的encoding之後就好了,建議去掉全局的encoding,給workspace設置encoding。
點擊 文件 -> 首選項 -> 設置 -> 工作區,搜索encoding,勾選Auto Guess Encoding,並設置Encoding爲項目指定的編碼,如下圖所示:
xx.code-workspace 示例
"settings": {
"search.exclude": {
".svn": true,
"*/.svn": true,
"**/.svn": true,
"**/cdata/*": true,
"**/data/*": true,
},
"files.autoGuessEncoding": true,
"files.encoding": "gb18030"
},