IntelliJ插件自动完成

时间:2015-04-17 08:07:16

标签: plugins intellij-idea autocomplete intellij-plugin

我正在创建一个IntelliJ插件来支持nodeJS框架。 我尝试实现自动完成功能,但不知道如何在列表顶部设置自动完成位置。首先,我有其他自动完成功能(mozilla等)。

这是我的代码:

LookupElementBuilder
                .create(completionString)
                .withBoldness(true)
                .withCaseSensitivity(false)
                .withIcon(SailsJSIcons.SailsJS)
                .withPresentableText("\t\t\t" + item)
                .withAutoCompletionPolicy(AutoCompletionPolicy.GIVE_CHANCE_TO_OVERWRITE);

我认为handleInsert可以帮助我,但无法找到如何使用它

2 个答案:

答案 0 :(得分:0)

您可以尝试通过PrioritizedLookupElement #withPriority为查找元素指定显式高优先级。

答案 1 :(得分:0)

您可以在order="first"的{​​{1}}上设置completion.contributor。看起来它会让您的贡献者在其他来源的贡献者之前被称为,从而导致您的建议成为第一:

plugin.xml

首先调用您的贡献者时,您还可以编写代码来决定如何定位以下建议或使用<extensions defaultExtensionNs="com.intellij"> <completion.contributor order="first" language="PHP" implementationClass="org.klesun.deep_assoc_completion.entry.DeepKeysCbtr"/> 和@ peter-gromov建议的CompletionResultSet::runRemainingContributes()完全排除其中一些建议:

PrioritizedLookupElement::withPriority()