内容辅助 shell 弹出后无法输入

Unable to type once the Content Assist shell is popped up

我已使用以下代码将内容辅助附加到文本框。内容辅助工作正常。 但是,一旦我按下 'Ctrl+space',那么,所有的建议都会显示在一个新创建的 shell 中。 然后,我尝试再输入一些字符,但是,我无法输入,因为新的 shell 有焦点,而不是文本框。

有没有办法用minic,JDT编辑器是怎么做的?即使在按下 Ctrl+space 并显示内容提案后,我们也可以在编辑器中输入内容,并且提案会根据新字符缩小范围。

private void attachContentAssist(final Text propertyText) {
   ContentProposalAdapter contentProposalAdapter = new ContentProposalAdapter(propertyText, new TextContentAdapter(),
        this.proposalProvider, KeyStroke.getInstance("Ctrl+Space"), null);
   contentProposalAdapter.setLabelProvider(new ContentProposalLabelProvider());
   contentProposalAdapter.setPropagateKeys(false);
   contentProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
}

行:

contentProposalAdapter.setPropagateKeys(false);

正在停止在打开弹出窗口时收到的键被转发到文本控件,这就是停止打字工作的原因。

指定 true 或删除该行,因为 true 是默认值。