智能插件自动完成格式化



我像这样为我的 IntelliJ 插件添加自动完成功能:

String completionString = "myFunction(err, data){if(err){}else{}}";
return LookupElementBuilder
                .create(completionString)
                .withBoldness(true)
                .withIcon(SailsJSIcons.SailsJS)
                .withPresentableText("myFunction()")
                .withCaseSensitivity(true)
                .withTypeText(type)
                .withTailText(" (" + item + ")", true)
                .withAutoCompletionPolicy(AutoCompletionPolicy.GIVE_CHANCE_TO_OVERWRITE);

如何格式化我将放在编辑器上的新方法?我不想要自定义格式,只想要 IntelliJ 的默认格式

您可以将 InsertHandler 添加到 LookupElement 并在其 handleInsert 方法中执行CodeStyleManager.reformat(psiElement)

但是,我根本不明白您为什么要通过完成贡献者提供此功能。这看起来像一个实时模板,您的插件可以贡献实时模板,而工作量远低于自定义完成。实时模板会自动显示在完成列表中,并支持自动重新格式化。

最新更新