Как Eclipse показывает имя файла, сгенерированного из

Мы используем (Antlr4ide) для создания .java из файлов .g4(antlr).

Мой вопрос заключается в том, есть ли способ указать в eclipse, что эти файлы .java являются сгенерированными файлами, и, возможно, также показать, из какого файла они были сгенерированы. Я проверил код antlride, и кажется, что в настоящее время он не поддерживается, поэтому я хочу его добавить.

Я проверил файл IFile в документации Eclipse, но я не нашел никакой полезной процедуры. Вы знаете, где я могу найти плагин или класс для него.

Спасибо.


person Morpheus133    schedule 20.08.2014    source источник


Ответы (1)


Вы можете установить файл как «производный», чтобы указать, что он был сгенерирован.

IFile file = ... your IFile

file.setDerived(true, progressMonitor);

Примечание. Некоторые системы управления исходным кодом игнорируют производные ресурсы и не возвращают их.

Производное состояние отображается на вкладке «Ресурс» диалогового окна «Свойства» файла.

Вы можете использовать метод IFile/IResource setPersistentPropery для установки постоянного свойства файла, содержащего информацию о том, что сгенерировало файл. Однако нет пользовательского интерфейса для отображения этих значений, поэтому вам нужно будет что-то написать (например, PropertyPage), чтобы отобразить это.

Вы можете использовать точку расширения org.eclipse.ui.decorators для добавления украшений в различные представления (например, проводник пакетов).

 <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. У вас должен быть какой-то способ, чтобы декоратор мог решить, был ли файл сгенерирован, возможно, с использованием постоянных свойств.

person greg-449    schedule 20.08.2014
comment
Я хочу реализовать такую ​​функцию: ссылка Здесь видно, что ExprLexer.java генерируется из Expr.g Но я не знаю, какой вид или какой атрибут нужно изменить для этого. - person Morpheus133; 21.08.2014
comment
Спасибо, это я искал. - person Morpheus133; 22.08.2014