Pracuję nad wtyczką dla intellij i chcę dodać niestandardowe sugestie do edytora xml na podstawie xsd. Do tej pory mogę uzyskać wymagane sugestie z pliku xsd.Intellij Completion Contributor
I wprowadziły Współtwórcę zakończenia dla xml następująco
import com.intellij.codeInsight.completion.*;
import com.intellij.codeInsight.lookup.LookupElementBuilder;
import com.intellij.patterns.PlatformPatterns;
import com.intellij.psi.xml.XmlElementType;
import com.intellij.util.ProcessingContext;
import com.intellij.lang.xml.*;
import org.jetbrains.annotations.NotNull;
public class SimpleCompletionContributor extends CompletionContributor {
public SimpleCompletionContributor() {
extend(CompletionType.BASIC,PlatformPatterns.psiElement(XmlElementType.XML_ATTRIBUTE_VALUE).withLanguage(XMLLanguage.INSTANCE),
new CompletionProvider<CompletionParameters>() {
public void addCompletions(@NotNull CompletionParameters parameters,
ProcessingContext context,
@NotNull CompletionResultSet resultSet) {
resultSet.addElement(LookupElementBuilder.create("Hello"));
}
}
);
}
}
ale to nie zawierały żadnych sugestii. ale kiedy implementuję niestandardowy język, to działa. Moim celem jest przeglądanie kontekstu pozycji kursora i dostarczanie sugestii na jej podstawie. jako przykład, gdy użytkownik uruchamia znacznik na wtyczce pliku xml powinien dostarczyć atrybutów jako uzupełnienie kodu. Jestem nowy w tym języku niestandardowym.
Czy ktoś może mi w tym pomóc?
Jak zarejestrowałeś tego autora w plugin.xml? –
Dodaję –