我正在 Ubuntu 上工作,并通过 VSCode 使用 MS Remote SSH 作为远程资源管理器的一部分。当我安装 C/C++ (ms-vscode.cpptools) 扩展时,它占用了大量 CPU%,通常约为 95%。我认为这可能是一次性的事情,但它一直以该百分比运行,使得其他一切 (编译项目)非常慢。
我喜欢这个扩展的功能,因为我之前在其他机器上使用过它,没有出现任何问题。但是,如果它保持在该使用水平,我就无法使用它。有什么解决方法吗?我看过一些 github 辩论,但没有什么结果。
尝试了很多解决方案后,只有一个对我有用 - 在设置文件中添加
files.exclude
。
添加
files.exclude
时,会默认添加以下几行:
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/.deps": true,
"**/CVS": true,
"**/.DS_Store": true,
然后我添加一些文件/文件夹,它们在工作区中,但与 IntelliSense 无关,例如“**/*.Po”,存储测试数据的文件夹(很多文件......),它们总是当我使用我的应用程序等时已更新
我还补充一下
"/bin": true,
"/boot": true,
"/cdrom": true,
"/dev": true,
"/proc": true,
"/etc":true
,但我不确定这些话是否有帮助。
更新设置文件后,我们应该通过命令面板
Restart IntelliSense for Active File
和Reset IntelliSense Database
。
btw,使用上述解决方案后,我已经两个多月没有遇到长时间运行高CPU占用的情况了。
我已设置
C_Cpp.files.exclude
来排除所有内容,然后在 c_cpp_properties.json
中设置显式包含路径,它似乎工作正常。它不再继续扫描文件并正确解析符号。
我的
settings.json
{
"C_Cpp.files.exclude": {
"**/.vscode": true,
"**/.vs": true,
"/": true
}
}
示例
c_cpp_properties.json
:
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/include/**"
"${workspaceFolder}/src/**"
],
"compilerPath": "/usr/bin/clang-14",
"cStandard": "gnu17",
"cppStandard": "gnu++17",
"intelliSenseMode": "linux-clang-x64",
"configurationProvider": "ms-vscode.makefile-tools"
}
],
"version": 4
}