У меня есть идея для плагина Eclipse, с которым я играл. Я должен смочь расширить Редактора Java Eclipse компонент и добавить окрашенный оверлейными программами к коду на основе сменных внешних метрик. К сожалению, кажется, нет никакого вида точки расширения подсветки синтаксиса.
Кто-либо знает, как я смог расширять Редактора Java затмения exisitng для добавления пользовательских правил выделения?
Примите во внимание, что я плохо знаком с плагином Eclipse, программирующим, поэтому предоставьте как можно больше подробной информации.
Базовый класс 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>
Я не смог найти более подробного объяснения в Интернете.