我们使用 ( Antlr4ide ) 从 .g4(antlr) 文件生成 .java。
我的问题是有一种方法可以在 Eclipse 中指示这些 .java 文件是生成的文件,并且可能还显示它们是从什么文件生成的。我检查了antlride的代码,目前似乎不支持它,所以我想添加它。
我检查了Eclipse 文档中的IFile描述,但没有找到任何有用的过程。你知道我在哪里可以找到一些插件或类。
谢谢。
您可以将文件设置为“派生”以指示它已生成。
IFile file = ... your IFile
file.setDerived(true, progressMonitor);
注意:一些源代码控制系统会忽略派生资源而不将其签入。
派生状态显示在文件“属性”对话框的“资源”选项卡中。
您可以使用IFile
/IResource
setPersistentPropery
方法在文件上设置一个持久属性,其中包含有关生成文件的信息。但是,没有 UI 可以显示这些值,因此您必须编写一些内容(例如 a PropertyPage
)来显示这些值。
您可以使用org.eclipse.ui.decorators
扩展点为各种视图(例如 Package Explorer)添加装饰。
<extension point="org.eclipse.ui.decorators">
<decorator
id="com.xyz.lightweight.decorator"
label="XYZ Lightweight Decorator"
state="false"
class="com.xyz.LightweightDecoratorContributor"
lightweight="true" >
<enablement>
<objectClass name="org.eclipse.core.resources.IResource"/>
</enablement>
</decorator>
</extension>
对于您编写一个ILightweightLabelDecorator
可以添加文本和/或图像覆盖的类实现的装饰器,请参阅 Eclipse 帮助以获取更多详细信息。您必须有某种方法让装饰器确定文件是否已生成,可能使用持久属性。