Eclipse索引不起作用

问题描述 投票:14回答:9

我在Ubuntu的Eclipse 3.5.2 Galileo中使用CDT。

我的eclipse的索引器有时不起作用。我的意思是当我ctrl点击一个函数,它说Could not find symbol in index。此外,F3按钮单击导致相同的错误消息。实际上大多数地方它不起作用,并且在很少的地方工作。

我见过Eclipse的其他一些版本,在File菜单下为Indexing列出了一个菜单项。像文件 - >索引器 - >重建....但在我的文件菜单中没有索引器的这样的菜单项。

唯一的方法是使用Eclipse的其他版本还是遗漏了什么?任何关于此的指针都会有所帮助。

c++ eclipse eclipse-cdt
9个回答
18
投票

在我的情况下,没有任何工作,最后我做了以下:

 1) Close the project
 2) Delete the project(do not check from disk option)
 3) create new project with existing code(use the deleted project path)
 4) Successfully indexed my c++ code

0
投票
  1. 在安装eclipse的地方执行eclipse.exe -clean -refresh。
  2. 使用Given Source代码文件夹路径在Eclipse中创建一个新的C / C ++项目。 (不是基于现有工作空间的New Project)

以上步骤对我有用。


10
投票

要添加包含要解析的代码的路径,请按照下列步骤操作: 1.右键单击项目 2.选择“属性” 3.转到C / C ++ General 4.转到路径和符号 5.如果缺少路径,请添加路径。

要重新解析代码,请按照下列步骤操作: 1.右键单击项目 2.选择索引 3.重建

如果这不起作用,那么你运气不好。 c ++是很难解析的语言。


7
投票

如果您的索引器卡住并且无限时间挂起,则可以从.metadata中删除项目的索引器相关文件。确保eclipse不同时运行。

.metadata目录位于工作区路径中的隐藏文件夹中。

在那里你可以导航到:

<workspace_path>/.metadata/.plugins/org.eclipse.core.runtime/.settings/

.settings/目录中有.prefs文件,它们分别存储每个项目的首选项。

例如:org.eclipse.cdt.core.prj-test-project.prefs存储项目测试项目的首选项

使用文本编辑器打开此文件,并删除以indexer开头的所有行。这会将此特定项目的索引器设置重置为默认值。

或者,您可以从indexer中删除以org.eclipse.cdt.core.prefs开头的所有行;执行此操作将重置整个工作区的索引器设置。


3
投票

我相信您可以通过运行清除索引:

rm .metadata/.plugins/org.eclipse.jdt.core/*.index

然后重启Eclipse。然后它将重建其索引。

这对我来说在Java项目中起作用,但我想它对所有(大多数?)项目类型都是相同的索引。


0
投票

您可以尝试重建索引。在项目视图中右键单击项目。然后Index -> Rebuild


0
投票

这是我在Project->C++ Index->Rebuild失败后使用的解决方案。这个技巧避免删除您当前的项目:

1) Copy the current project (Right click->Copy from Project Explorer)
2) Paste it (Right click->Paste from Project Explorer) and give the copy another name
3) The indexer should now start and index both projects
4) When indexation is complete, you can delete the copy

PS:确保您的原始项目是一个实际的C ++项目,否则这显然不起作用。


0
投票

将项目转换为C或C ++性质:

Right click on project:新>转换为C / C ++项目

In "Convert to C or C++":选择C / C ++项目

In "Project options":检查“指定项目类型”

...Project Type:选择“Makefile项目”

...Toolchains:总海湾合作委员会


0
投票

我遇到了同样的问题,结果是索引文件夹由root拥有(由于某种原因,我必须将Eclipse作为root运行一次)我使用sudo chown -R username projectfolderpath回收了项目文件夹并解决了问题。


0
投票

对我来说,这工作:

  • 右键单击并关闭项目
  • 再次打开项目
  • 右键单击并选择Index->​​ Rebuild

我希望它可以帮助任何人。

© www.soinside.com 2019 - 2024. All rights reserved.