Sto sviluppando un plug-in per intellij e voglio aggiungere suggerimenti personalizzati all'editor xml basato su xsd. Fino ad ora posso ottenere i suggerimenti richiesti dal file xsd.Intellij Completion Contributor
ho implementato un collaboratore di completamento per XML come segue
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"));
}
}
);
}
}
ma questo non ha fornito alcun suggerimento. ma quando implemento il linguaggio personalizzato funziona. Il mio obiettivo è visualizzare il contesto della posizione del cursore e fornire suggerimenti basati su di esso. come esempio, quando l'utente avvia un tag sul file xml, il plugin deve fornire attributi come completamento del codice. Sono nuovo di questo linguaggio personalizzato.
Quindi qualcuno può aiutarmi con questo contributore di completamento?
Come hai registrato questo contributore in plugin.xml? –
Aggiungo –