为什么 EclipseJavaPackageExplorer 在一些类上显示问号?

在 Eclipse Helios Java Package Explorer 中,我看到 Java 类图标在‘ J’的右边显示一个小问号,类似于[ J? ].这个图标显示在我的项目中一个包中的每个类上,但是我在文档中找不到对此的解释。

enter image description here

在某种程度上,我希望它们消失,取而代之的是橙色的小矩形。(我也不确定它们的意思,但不太担心它们的含义。)我认为这个问题指向一个更大的问题,这些图标是否在某个地方一起定义?

158797 次浏览

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

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

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

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

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

星号(*)表示局部更改。

对于某些版本控制插件,这意味着本地文件具有带有版本控制存储库的 还没有被分享。(在我的安装中,这包括 CVS 和 git 的插件,但不包括 Perforce。)

您有时可以在插件的首选项 Team/X/Label Decorations 团队/X/标签装饰下看到这些装饰的列表,其中 X 描述了版本控制系统。

例如,对于 CVS,列表如下:

enter image description here

这些修饰被添加到 Eclipse 提供的对象图标中。

听起来像是在使用 Subclise,对吗?如果是这样的话,在 这个答案网站上有一个很棒的装修师名单和他们的描述,作者是 Tim Stone。

下面是与你的案例相关的片段:

Unversioned File- 不受版本控制的文件。这些通常是您尚未提交到存储库的新文件。
Synchronized File- 没有本地更改的文件。

这些图标是一种在 git 中显示当前文件/文件夹状态的方法。你可能想看看这个:

image describing Eclipse icons for Egit

  • Ty (文件夹)-文件夹下至少有一个文件是脏的; 意味着它在工作树中的更改既不在 index nor in the repository.
  • 跟踪的 -资源已知于 未跟踪的 Git 存储库-Git 不知道该资源 储存库。
  • 忽略 -Git 团队忽略资源 provider. Here only the preference settings under Team -> Ignored 资源和“派生”标志是相关的 not taken into account.
  • Ty -资源在 既不在索引中也不在存储库中的工作树。
  • Stage -资源有更改,这些更改被添加到索引中 that adding to the index is possible at the moment only on the commit 资源上下文菜单上的。
  • partially-staged - The resource has changes which are added to the index and additionally 工作树中既不在索引中也不在 repository.
  • added - The resource is not yet tracked by but added to Git 存储库。
  • 已删除 -暂存资源以便从 Git 存储库。
  • 冲突 -文件存在合并冲突。
  • 种子资源有一个“预设未改变”的标志 means that Git stops checking the working tree files for possible 修改,所以您需要手动取消位来告诉 Git 什么时候 you change the working tree file. This setting can be switched on 使用菜单动作 Team-> Assumewithout (或在命令行上) 使用 git update-index ——扁平化)。

这是因为您的项目已经链接到了一个 git-hub 存储库,并且还没有添加带有问号的文件。如果您想删除这个标志,您必须将这个文件添加到 git-hub 存储库。