重新索引VSCode中的源代码

rin*_*obr 6 visual-studio-code

Unable to open 'header.h': File not found删除/重命名多个文件后,尝试通过[Ctrl + Click]跳转到var / func定义时,我开始出现错误。

是否可以强制重新编制索引源代码?

Ali*_*cia 11

这个问题已经有几年了,但这是我经常看到的一个问题,通常可以通过以下5 个选项之一来解决:

重新加载会话

您可以使用以下命令重新加载当前会话workbench.action.reloadWindow

Ctrl使用+ Shift+打开命令面板,P然后输入Reload Window


过滤正在索引的文件

特别是对于 C/C++ 项目,有时智能感知索引可能非常慢,并且感觉不起作用。解决此问题的一种解决方案是限制它使用类似 的索引limitSymbolsToIncludedHeaders,或者减少 中解析的文件数量c_cpp_properties.json

"browse": {
  "path": [
    "/usr/include/",
    "/usr/local/include/",
    "${workspaceRoot}/../include",
    "${workspaceRoot}/dir2",
    "${workspaceRoot}/dir3/src/c++"
    ...
  ]
}
Run Code Online (Sandbox Code Playgroud)

设置文件关联

有时文件关联不正确,因此文件未按预期编制索引。可以通过在 VS Code 设置中添加类似的内容来解决此问题 ( settings.json):

"intelephense.files.associations": ["*.php", "*.phtml", "*.inc", "*.module", "*.install", "*.theme", ".engine", ".profile", ".info", ".test"]
Run Code Online (Sandbox Code Playgroud)

重建系统索引

对于 Windows 用户,VS Code 使用系统搜索索引,因此重建可能会有所帮助。


网络驱动器设置

如果您的项目源自网络驱动器,则需要通过安装到本地驱动器来使索引正常工作,需要执行额外的步骤。这是一个已知问题(请参阅#4008),可以通过从固定驱动器安装应用程序或将网络驱动器映射到本地驱动器号来解决(例如,如果您的网络驱动器位于\\NETWORKPATH\home\USER\REPO\GITREPO,则将其映射到X:/本地驱动器)机器。


确保智能感知已启用

最后,这似乎是显而易见的,但只需在您的 settings.json 中确认智能感知实际上已启用editor.tabCompletion。如果您搜索的结果未显示,请确保没有任何过滤器阻止结果。