VSCode';进入定义';不只是在大项目中工作

VSCode';进入定义';不只是在大项目中工作,c,visual-studio-code,C,Visual Studio Code,在+1年的时间里,我几乎每天都在专业地使用C语言的VSCode。现在,我碰到了一些真正影响我工作效率的事情 当我打开一个大项目时,“转到定义、转到声明、查看…”等功能都不起作用。我不知道如何描述这个项目有多大。有+26k行的源文件,编译可能需要45分钟。当我处理一个规模更合理的项目时,我没有任何问题,所以直到现在我都认为这是由于我的项目规模而对项目的限制,于是我辞职了。现在,我真的很烦恼,想找到一个解决办法 让我印象深刻的是,整个项目(Ctrl+Shift+F)中的搜索速度非常快,工作非常出色,

在+1年的时间里,我几乎每天都在专业地使用C语言的VSCode。现在,我碰到了一些真正影响我工作效率的事情

当我打开一个大项目时,“转到定义、转到声明、查看…”等功能都不起作用。我不知道如何描述这个项目有多大。有+26k行的源文件,编译可能需要45分钟。当我处理一个规模更合理的项目时,我没有任何问题,所以直到现在我都认为这是由于我的项目规模而对项目的限制,于是我辞职了。现在,我真的很烦恼,想找到一个解决办法

让我印象深刻的是,整个项目(Ctrl+Shift+F)中的搜索速度非常快,工作非常出色,因此VS似乎能够“处理”这个大项目

  • Microsoft最新版本v0.28.3的C/C++扩展
  • VSCode最新版本1.46.1
  • 视窗10
你认为有解决办法吗?您是否在大型项目中使用过VSCode

编辑:我所说的“不工作”是指,它试图执行动作,但无限期地“思考”。

最可能的情况是,它不是“不工作”,而是“相当慢”。对于使用Visual studio代码的C/C++扩展的C/C++项目来说,这是一个已知的问题。intellisense的索引器需要一些时间(特别是如果您没有通过
limitsymbols将其限制为包含标题
或类似内容)。您可以尝试通过在
c_cpp_properties.json
中使用explizit浏览路径来减少解析文件的数量

"browse": {
  "path": [
    "/usr/include/",
    "/usr/local/include/",
    "${workspaceRoot}/../include",
    "${workspaceRoot}/dir1",
    "${workspaceRoot}/dir2",
    "${workspaceRoot}/dir3/src/c++",
    "${workspaceRoot}/dir5",
    "${workspaceRoot}/dir6/src",
    "${workspaceRoot}/dir7/src",
    "${workspaceRoot}/dir4"
],
例如,排除不需要自动完成/转到符号/转到定义的IDE/SDK文件


有关更多说明,请参见:

嗯,26k行不是“大”。如果你有6或7位数的行,我会称之为“大”,从7位数开始称之为“大”。这也不是一个宠物项目,它只是一个小型到中型的项目。这类项目成功了。我有时要等2到4秒,但至少现在它能工作了。谢谢