vscode中文搜索乱码或搜索不到
使用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"
},