gpt4 book ai didi

plugins - IntelliJ 插件自动完成

转载 作者:行者123 更新时间:2023-12-03 17:18:21 26 4
gpt4 key购买 nike

我正在制作一个 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可以帮助我,但找不到如何使用它

最佳答案

您可以设置 order="first"在您的 completion.contributorplugin.xml .看起来它会让你的贡献者在其他来源的贡献者之前被调用,导致你的建议被放在第一位:

<extensions defaultExtensionNs="com.intellij">
<completion.contributor order="first" language="PHP" implementationClass="org.klesun.deep_assoc_completion.entry.DeepKeysCbtr"/>

当您的贡献者首先被调用时,您还可以编写代码来决定如何定位以下建议或使用 CompletionResultSet::runRemainingContributes() 完全排除其中的一些建议。和 PrioritizedLookupElement::withPriority() @peter-gromov 建议:

protected void addCompletions(CompletionParameters parameters, ProcessingContext processingContext, CompletionResultSet result) 
{
// ... some of your code here ...

result.runRemainingContributors(parameters, otherSourceResult -> {
// 2000 is any number - make it smaller than on your suggestion to position this suggestion lower
result.addElement(PrioritizedLookupElement.withPriority(otherSourceResult.getLookupElement(), 2000));
});
}

关于plugins - IntelliJ 插件自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29693660/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com