清理Eclipse索引,它与代码不同步

我通过Linux上的链接资源使用Eclipse的C ++代码。 代码分析索引似乎已损坏(Goto定义将光标靠近,但不在定义上)刷新资源不会修复它,重新启动Eclipse也不会。

有没有办法刷新索引并重build它?

右键单击您的项目,在“索引”子菜单下,select“重build”,“使用修改的文件更新”或“清新所有文件”。

我不知道这三个选项之间的差异,但“修改文件更新”或“清新所有文件”通常为我修复它。

另外,我相信你已经完成了这个工作,但是确保你运行的是最新版本的Eclipse CDT。 目前的版本似乎比以前的版本有更可靠的索引。

另一个蛮力的方法是closuresEclipse,打开工作空间目录并转到“.metadata \ .plugins \ org.eclipse.cdt.core”,并删除那里的所有内容。

如果“清新所有文件”和朋友不工作,这最终有助于。

http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg10390.html ,“重build”,“修改文件更新”或“清新所有文件”之间的区别:

重build:仅适用于整个项目。 清除索引并从头开始索引文件。 取消时会留下空白或部分索引。

使用修改的文件进行更新:适用于资源select。 检查单个文件是否更改了时间戳或scanner-config,并更新已更改文件的索引。

清新所有文件:适用于资源select。 更新索引中选定的文件。 索引不清除,取消操作是安全的。

转到你的项目properties -> C++ general -> Indexer

  • 'project specific settings'做到这一点,
    (或在'Configure Workspace Settings...' )。
  • 点击“ Apply 'Enable Indexer'取消选中'Enable Indexer'
  • select'Enable Indexer'点击Apply

这应该彻底清除并重build索引。

上述两者都不适合我(Eclipse Indigo),索引仍然崩溃,拒绝正确重build。 直到应用这一个:

http://slsam2.blogspot.com/2012/02/eclipse-cdt-index-not-working.html

链接文章的关键是这样的:

Eclipse不再将您的项目视为一个C ++项目。 select菜单File/New/Convert to a C/C++ project 。 索引源代码需要一段时间。

我仍然想知道Eclipse如何能像这样无法控制地在脚下自我射击。 我怀疑安装额外的软件包可以触发它。 也许JavaScript支持我的情况。

删除.metadata.plugins \ org.eclipse.cdt.core帮助下的.pdom文件,把霓虹灯2升级到霓虹灯3后,我把索引器搞砸了,这似乎解决了这个问题。 (这个评论已经在上面存在,但是我不能在那里确认)。

你有没有尝试添加-clean到eclipse可执行文件的命令行?

Eclipse不再将您的项目视为一个C ++项目。 select菜单文件/新build/转换为C / C ++项目。 索引源代码需要一段时间。 为我工作

我开始尝试Josh Kelleys和MMmmms的答案没有任何运气,但我终于通过检查我的包含path来修复它。

一种方法看到他们是在项目资源pipe理器,展开项目,应该有一个条目“包括”。 在里面,检查每个包含path上的黄色警告三angular形。 如果这个三angular形是目前日食最有可能不认识的path。

包含path是通过右键单击项目浏览器中的“您的项目”,然后select“ 属性” – > C / C ++常规 – >path和符号 – >包含。

我看到三种语言选项,Assembly,Gnu C,Gnu C ++。 在开始添加path之前select正确的path(可能是Gnu C ++)。 添加完所有path后, – >应用 – >确定 ,如果您被要求重build索引。

我的错误的工作区path看起来像MyProject / MyProject /文件夹,当它应该是MyProject /文件夹

对于我来说,即使在重build索引之后,“问题”视图的更新速度也是很慢的。 要确定错误仍然存​​在,请双击问题条目,以便eclipse打开/重新加载有问题的文件。 对于我来说,这通常是更新“问题”视图所必需的。

我真的不知道是否是日食或我的scm搞砸了。 无论如何,希望它可以帮助别人!

我使用Luna并使用外部makefile生成。