在 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
对于某些版本控制插件,这意味着本地文件尚未与版本控制存储库共享。(在我的安装中,这包括 CVS 和 git 的插件,但不包括 Perforce。)
您有时可以在Team/X/Label Decorations下的插件首选项中看到这些装饰的列表,其中 X 描述了版本控制系统。
例如,对于 CVS,列表如下所示:
这些装饰被添加到 Eclipse 提供的对象图标中。例如,下面是 Java 开发环境的图标表。
听起来您正在使用 Subclipse;那是对的吗?如果是这样,在Tim Stone的这个答案中,有很多装饰器及其描述。
这是您案例的相关片段:
- 不受版本控制的文件。这些通常是您尚未提交到存储库的新文件。
- 没有本地更改的文件。
这些图标是 Egit 向您显示 git 中当前文件/文件夹状态的一种方式。您可能想检查一下:
这是因为您的项目已链接到 git-hub 存储库,并且上面有问号的文件尚未添加。如果要删除此标志,则必须将此文件添加到 git-hub 存储库。