Плагин Eclipse с пользовательской проверкой - PullRequest
3 голосов
/ 23 октября 2009

Я новичок в разработке плагинов Eclipse, но мне удалось собрать плагин, который определяет тип контента и соответствующий редактор. Я получил помощь по созданию нестандартного контента, поэтому я знаю, что редактор работает нормально.

Моя проблема в том, что мне нужно создать какую-то пользовательскую проверку для файлов этого типа контента, и я нашел скудную информацию. Единственный пример, который я могу найти, имеет Java-код: http://www.eclipse.org/webtools/wst/components/sse/tutorials/source-validation.html.

К сожалению, копирование этого метода не дает результатов. Мой класс валидатора никогда даже не вызывается.

Вот соответствующие части моего plugin.xml:

        <extension point="org.eclipse.core.contenttype.contentTypes">
        <content-type base-type="org.eclipse.core.runtime.xml"
            file-extensions="xml"
            id="com.palantir.eclipse.kite.contenttype.kite"
            name="Kite File"
            priority="normal">

            <describer class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
                <parameter name="element" value="kite"></parameter>
            </describer>
        </content-type>
    </extension>


       <extension point="org.eclipse.ui.editors">
      <editor name="Kite XML Editor"
            icon="icons/smalllogo.gif"
            contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
            class="com.palantir.eclipse.kite.plugin.editor.KiteXmlEditor"
            id="com.palantir.eclipse.kite.plugin.editor.KiteXmlEditor">
          <contentTypeBinding contentTypeId="com.palantir.eclipse.kite.contenttype.kite">
          </contentTypeBinding>
      </editor>
   </extension>

       <extension point="org.eclipse.wst.sse.ui.sourcevalidation">
      <validator scope="total"
                 class="com.palantir.eclipse.kite.plugin.validator.KiteValidator"
                 id="com.palantir.eclipse.kite.plugin.validator.KiteValidator">
         <contentTypeIdentifier id="com.palantir.eclipse.kite.contenttype.kite">
            <partitionType id="org.eclipse.wst.sse.ST_DEFAULT" />
         </contentTypeIdentifier>
      </validator>
   </extension>

И файл валидатора:


package com.palantir.eclipse.kite.plugin.validator;

import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IRegion;
import org.eclipse.wst.sse.ui.internal.reconcile.validator.ISourceValidator;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
import org.eclipse.wst.validation.internal.provisional.core.IValidator;

public class KiteValidator implements ISourceValidator, IValidator {
    public KiteValidator() {
        System.out.println("Initialized KiteValidator");
    }

    public void cleanup(IReporter reporter) {
        System.out.println("Inside KiteValidator");
    }

    public void validate(IValidationContext context, IReporter reporter) {
        System.out.println("Inside KiteValidator");
    }

    public void connect(IDocument document) {
        System.out.println("Inside KiteValidator");
    }

    public void disconnect(IDocument document) {
        System.out.println("Inside KiteValidator");
    }

    public void validate(IRegion region, IValidationContext context, IReporter reporter) {
        System.out.println("Inside KiteValidator");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...