Eclipse RCP:如何在应用 Content Assist Proposal 时对其进行格式化
Eclipse RCP: How to Format a Content Assist Proposal while it's being applied
我已经在我的 RCP 应用程序中实现了内容辅助,但是当它应用于文档时,我无法弄清楚如何使完成建议像 JDT 内容辅助功能一样工作。具体来说,当您 select 一个 Java 完成建议并应用它时,它具有外观和焦点行为,可让您在接受之前对其进行编辑。每个参数周围都有细边框,您可以通过 Tab 键浏览方法参数,当您这样做时,下一个参数的文本会自动 selected。网上有很多关于实施内容辅助的信息,但我找不到任何说明如何执行此操作的信息。
感谢 greg-449 指点我使用 JFace 模板。根据他的评论,我在 org.eclipse.jface.text.templates
中查看了 API 中的 classes。似乎是一个很好的方法,但肯定不是微不足道的,正如他所暗示的那样。
但是,我在 PyDev 代码(我的应用正在扩展)中找到了一个更简单的解决方案。 PyLinkedModeCompletionProposal
做的事情与我想要的类似,所以我复制了 class 并根据需要对其进行了修改。 (我只是有一个不同的模板模式。)
PyLinkedModeCompletionProposal#goToLinkedMode
中的实现使用 JFace
classes LinkedModeModel
、EditorLinkedModeUI
和 ProposalPosition
将完成建议放入作为可编辑模板的编辑器。
我已经在我的 RCP 应用程序中实现了内容辅助,但是当它应用于文档时,我无法弄清楚如何使完成建议像 JDT 内容辅助功能一样工作。具体来说,当您 select 一个 Java 完成建议并应用它时,它具有外观和焦点行为,可让您在接受之前对其进行编辑。每个参数周围都有细边框,您可以通过 Tab 键浏览方法参数,当您这样做时,下一个参数的文本会自动 selected。网上有很多关于实施内容辅助的信息,但我找不到任何说明如何执行此操作的信息。
感谢 greg-449 指点我使用 JFace 模板。根据他的评论,我在 org.eclipse.jface.text.templates
中查看了 API 中的 classes。似乎是一个很好的方法,但肯定不是微不足道的,正如他所暗示的那样。
但是,我在 PyDev 代码(我的应用正在扩展)中找到了一个更简单的解决方案。 PyLinkedModeCompletionProposal
做的事情与我想要的类似,所以我复制了 class 并根据需要对其进行了修改。 (我只是有一个不同的模板模式。)
PyLinkedModeCompletionProposal#goToLinkedMode
中的实现使用 JFace
classes LinkedModeModel
、EditorLinkedModeUI
和 ProposalPosition
将完成建议放入作为可编辑模板的编辑器。