9. Completion Contributor
提供完成的最简单方法是使用完成贡献者。
9.1。
定义完成贡献者
让我们为属性文件中的值提供自定义完成。
package com.simpleplugin;
import com.intellij.codeInsight.completion.*;
import com.intellij.codeInsight.lookup.LookupElementBuilder;
import com.intellij.patterns.PlatformPatterns;
import com.intellij.util.ProcessingContext;
import com.simpleplugin.psi.SimpleTypes;
import org.jetbrains.annotations.NotNull;
public class SimpleCompletionContributor extends CompletionContributor {
  public SimpleCompletionContributor() {
    extend(CompletionType.BASIC,
           PlatformPatterns.psiElement(SimpleTypes.VALUE).withLanguage(SimpleLanguage.INSTANCE),
           new CompletionProvider<CompletionParameters>() {
             public void addCompletions(@NotNull CompletionParameters parameters,
                                        ProcessingContext context,
                                        @NotNull CompletionResultSet resultSet) {
               resultSet.addElement(LookupElementBuilder.create("Hello"));
             }
           }
    );
  }
}
9.2。
注册完成贡献者
<completion.contributor language="Simple" implementationClass="com.simpleplugin.SimpleCompletionContributor"/>
9.3。
运行该项目
!完成
                        Last modified: 8 May 2019