我已使用以下代码在文本框中附加了内容辅助。内容助手工作正常。但是,一旦按下“ Ctrl +空格键”,所有的建议都将显示在新创建的外壳中。然后,我尝试键入更多字符,但是由于新的外壳程序具有焦点而不是文本框,所以我无法键入字符。
有没有一种方法可以使JDT编辑器发挥作用?即使按了Ctrl +空格键,并且显示了内容建议,我们仍然可以在编辑器中键入内容,并且根据新字符缩小建议的范围。
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);
是在打开弹出窗口时接收到的停止键被转发到Text控件,这就是停止键入的工作。
要么指定true
,要么删除该行,因为默认为true
。