私はintellij用のプラグインを開発しており、xsdに基づいてxmlエディタにカスタム提案を追加したいと思います。今まで私はxsdファイルから必要な提案を得ることができます。Intellij Completion Contributor
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"));
}
}
);
}
}
を次のように私は、XMLの完了貢献を実装しているが、これはどんな提案を提供していませんでした。カスタム言語を実装すると機能します。私の目的は、カーソル位置のコンテキストを表示し、それに基づいて提案を提供することです。ユーザーがxmlファイルプラグインでタグを開始するときの例として、コード補完としての属性を提供する必要があります。私はこのカスタム言語を使い慣れていません。
誰でもこの完成度の高い貢献者を教えてくれますか?
この投稿者をplugin.xmlにどのように登録しましたか? –