近日将VSCode升级到VSCode 1.23.1版,发现程序狂占用系统资源,CPU风扇一直转个不停,界面操作卡顿,于是在VSCode的GitHub网站的Issue区发了一个帖子,反映此问题。在@weinand 的指导下,发现原来是vscode-cpptools v0.17.3插件造成,他将我的帖子转发到CPP插件区。在几个高手指点下,发现是没有配置vscode-cpptools v0.17.3插件的“includePath”属性,导致搜索路径时陷入了死循环(0.17.3之前的版本不会自作主张地循环搜索,因此不会出现该问题)。vscode-cpptools插件的作者@sean-mcmanus说在下个版本中会修复此问题。在该Bug未修复之前,可以使用如下解决方案暂时解决:
打开一个C++工程根目录下的隐藏目录.vscode
,编辑配置文件c_cpp_properties.json
(如不存在则创建一个)内容如下:
{
"configurations": [
{
"name": "Linux",
"browse": {
"limitSymbolsToIncludedHeaders": true
},
"includePath": [
"/usr/include",
"/usr/local/include",
"/usr/include/c++/5",
"/usr/include/x86_64-linux-gnu/c++/5",
"${workspaceRoot}",
"${workspaceRoot}/bazel-genfiles",
"${workspaceRoot}/bazel-genfiles/external"
],
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
关闭VSCode,杀死陷入死循环的“Microsoft.VSCod”进程,之后重启VSCode,问题得到解决。