Как добавить всплывающую подсказку к выделенному тексту в IntelliJ Plugin? - PullRequest
0 голосов
/ 15 сентября 2018

Я пытался использовать Annotator, потому что подсказки не поддерживают RangeHighlighter. Я знаю смещения и подсказки, которые хочу добавить. Но приведенный ниже код не сработал.

public class SimpleAnnotator implements Annotator {

@Override
public void annotate(@NotNull PsiElement psiElement, @NotNull AnnotationHolder annotationHolder) {
    SyntaxHighlighter syntaxHighlighter= new SyntaxHighlighter();

    if (!syntaxHighlighter.annotateoffsets.isEmpty()) {
        for (int i = 1; i < syntaxHighlighter.annotateoffsets.size() + 1; i++) {
            int startOffset = syntaxHighlighter.annotateoffsets.get(i).get(0);
            int endOffset = syntaxHighlighter.annotateoffsets.get(i).get(1);
            String tooltip = syntaxHighlighter.tooltips.get(i-1);
            System.out.println(tooltip);
            System.out.println(startOffset);
            System.out.println(endOffset);
            System.out.println("ffffffffffffffffffff");
            TextRange range = new TextRange(startOffset, endOffset);
            Annotation annotation = annotationHolder.createErrorAnnotation(range, tooltip);
            annotation.setTooltip(tooltip);
            annotationHolder.createErrorAnnotation(range, "Unresolddved property");
        }
    }
}

Я зарегистрировал аннотатор в plugin.xml вот так

<extensions defaultExtensionNs="com.intellij">
    <annotator language="JAVA" implementationClass="Tools.SimpleAnnotator"/>
</extensions>
...