我正在IntelliJ上开发一个插件。我有这样的问题:
据我们所知,如果我们键入一个关键词,IntelliJ将使用它的代码完成给出我们的提示,如图片所示。

现在,我在IntelliJ上的插件中有了一个IntelliJ,它需要这样的功能:当我向JTextField填充一些单词时,它将提供代码完成技巧,如图片所示。IntelliJ是否有一些开放的api来做到这一点?我做了很多工作来研究如何做到这一点。但一无所获。
发布于 2016-01-19 15:08:17
对于JTextField,IntelliJ IDEA没有这样的API。IDEA的完成需要IDEA的编辑才能工作。您可以使用EditorFactory创建一个(并且不要忘记在不需要它之后从同一个EditorFactory中释放它)。如果您的编辑器是一行,您可能会考虑使用EditorTextField,这会使事情变得更简单。这两种方法都有getComponent()方法,它们返回可以嵌入到GUI中的常用Swing组件。
然后,您可以使用LookupManager方法手动显示/隐藏/处理弹出窗口,或者依赖通用的IDE完成机制,它将自动完成许多事情。但是后者要求您将编辑器的文档与PsiFile (可能是纯文本文档,参见PsiFileFactory.createFileFromText)关联起来,并创建一个CompletionContributor,该CompletionContributor将根据文件中的位置提供建议变体。
https://stackoverflow.com/questions/34878249
复制相似问题