Я пытался использовать 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>