0

我们使用 ( Antlr4ide ) 从 .g4(antlr) 文件生成 .java。

我的问题是有一种方法可以在 Eclipse 中指示这些 .java 文件是生成的文件,并且可能还显示它们是从什么文件生成的。我检查了antlride的代码,目前似乎不支持它,所以我想添加它。

我检查了Eclipse 文档中的IFile描述,但没有找到任何有用的过程。你知道我在哪里可以找到一些插件或类。

谢谢。

4

1 回答 1

0

您可以将文件设置为“派生”以指示它已生成。

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 帮助以获取更多详细信息。您必须有某种方法让装饰器确定文件是否已生成,可能使用持久属性。

于 2014-08-20T20:02:39.473 回答