IntelliJ插件自动完成格式化

时间:2015-04-18 07:13:47

标签: intellij-idea autocomplete formatting intellij-plugin

我在我的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的默认格式

1 个答案:

答案 0 :(得分:4)

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

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