为什么Eclipse Java Package Explorer在某些类上显示问号?

在Eclipse Helios Java Package Explorer中,我看到Java类图标在“J”的右侧显示一个小问号,如[J?]。 这个图标显示在我的项目的一个包中的每个类中,但在文档中我找不到这个解释。

在这里输入图像说明

在某一点上,我希望他们消失,并用小的橙色矩形取代。 (其中我也不确定它们的含义,但是对它们的内涵不那么担心)。我想这个问题指向一个更大的问题,这些图标中的任何一个是在什么地方一起定义的?

这意味着该类尚未添加到存储库。

如果你的项目已经签出(很可能是一个CVS项目),并且你添加了一个新的类文件,它将会有 图标。

对于其他CVS标签装饰,请查看http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.user/reference/ref-cvs-decorations.htm

以下是Eclipse中Java开发环境的图标表 。

额外的装饰可以通过插件来完成 – 例如,版本控制插件。

这听起来像你使用Subclipse; 那是对的吗? 如果是这样的话,Tim Stone在回答这个问题时有很多装饰器和他们的描述。

以下是您的案例的相关代码段:

未版本化的文件 – 不受版本控制的文件。 这些通常是尚未提交到存储库的新文件。
同步文件 – 没有本地更改的文件。

在svn启用项目中,小问号(?)表示您的文件尚未添加到SVN存储库。

小的橙色矩形表示您的文件已在存储库中提交。

星号(*)表示本地更改。

这些图标是一种Egit的方式来显示当前文件/文件夹在git中的状态。 你可能想检查一下:

描述Egit的Eclipse图标的图像

  • (文件夹) – 文件夹下至less有一个文件是脏的; 这意味着它在工作树中的变化既不在索引中也不在存储库中。 跟踪 – 资源是Git存储库已知的。 未跟踪 – 资源不知道的Git存储库。
  • 忽略 – 资源被Git团队提供者忽略。 这里只有Team – > Ignored Resources下的首选项设置和“derived”标志是相关的。 .gitignore文件不被考虑在内。
  • – 资源在工作树中的变化既不在索引也不在存储库中。
  • staged – 资源有变化,被添加到索引。 目前只有在资源的上下文菜单上的提交对话框中才有可能添加到索引。
  • 部分阶段化 – 资源包含已添加到索引中的更改,并且另外在工作树中更改,既不在索引中也不在存储库中。
  • 添加 – 资源尚未跟踪,但添加到Git存储库。
  • 已移除 – 资源将从Git存储库中移除。
  • 冲突 – 文件存在合并冲突。
  • 假设有效 – 资源具有“假定不变”标志。 这意味着Git会停止检查正在运行的树文件以进行可能的修改,所以当您更改工作树文件时,您需要手动取消设置该位以告诉Git。 这个设置可以通过菜单操作Team-> Assume(或者在git update-index – assume-unchanged)的命令行上打开。

这是因为你的项目已经连接到一个git-hub存储库,并且其上有问号的文件还没有被添加。 如果你想删除这个标志,你将不得不把这个文件添加到git-hub存储库。