Как расширить Редактора Java Eclipse для добавления окрашенный оверлейными программами

У меня есть идея для плагина Eclipse, с которым я играл. Я должен смочь расширить Редактора Java Eclipse компонент и добавить окрашенный оверлейными программами к коду на основе сменных внешних метрик. К сожалению, кажется, нет никакого вида точки расширения подсветки синтаксиса.

Кто-либо знает, как я смог расширять Редактора Java затмения exisitng для добавления пользовательских правил выделения?

Примите во внимание, что я плохо знаком с плагином Eclipse, программирующим, поэтому предоставьте как можно больше подробной информации.

5
задан Gavin Clarke 6 June 2010 в 18:17
поделиться

1 ответ

Базовый класс Java-редактора Eclipse 3.5 - org.eclipse.jdt.internal.ui.text.java

Обратите внимание на "internal" в названии класса. Это означает, что это внутренний класс Eclipse, не предназначенный для расширения.

Существует точка расширения Eclipse org.eclipse.ui.editors.markerUpdaters Я не работал с этой точкой расширения, но похоже, что она может позволить вам сделать то, что вы хотите.

Вот описание из справки Eclipse:

Эта точка расширения используется для регистрации стратегий обновления маркеров с моделями аннотаций маркеров. A ресурс, открытый в текстовом редакторе, ассоциируется с маркером аннотационной моделью. Для каждого маркера прикрепленного к ресурсу, эта модель управляет позицией, которая обновляется с каждым изменением, применяемым к тексту в редакторе. Если ресурс сохраняется, текст в редакторе и позиция, управляемая для маркера, передаются передаются зарегистрированному маркеру стратегии обновления. Эти стратегии могут обновлять атрибуты маркера атрибуты на основе текста и позиции. Стратегии обновления маркеров должны реализовывать интерфейс org.eclipse.ui.texteditor.IMarkerUpdater. Стратегии обновления могут быть зарегистрированы либо для определенного типа маркера или для всех типов маркеров. На сайте В последнем случае любой тип маркера может быть опущен в расширении.

Вот пример из справки Eclipse:

<extension point= "org.eclipse.ui.editors.markerUpdaters"> 
    <updater 
        id="org.eclipse.jdt.ui.markerUpdaters.JavaSearchMarkerUpdater" 
        class="org.eclipse.jdt.internal.ui.search.JavaSearchMarkerUpdater" 
        markerType="org.eclipse.search.searchmarker"> 
    </updater> 
</extension> 

Я не смог найти более подробного объяснения в Интернете.

9
ответ дан 14 December 2019 в 01:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: