使用vscode在全局搜索时,代码中的内容无法搜索出来,或者搜索出来是乱码。

经验证:与vscode的语言设置无关,设置为中文或英文都是一样的

后面猜想到会不会与文件自身的编码有关,因为我们项目中的代码文件大多是GB18030的,而vscode默认的编码应该是UTF-8

解决方案

经过验证有两2种方法可以解决:

添加”files.encoding”: “gb18030″到user setting或workspace settings配置中

建议添加到workspace,如果你不了解什么是workspace,那就简单粗暴地添加到user settings中。

按ctrl+p,搜索settings,就会出现下面两个,然后进行添加

  1. open user setting
  2. 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"},