【问题标题】:Eclipse RCP Content Assist not working with auto activated charactersEclipse RCP Content Assist 无法使用自动激活的字符
【发布时间】:2022-01-13 12:19:44
【问题描述】:

我定义了自己的编辑器,并有这样的完成建议

    public IContentAssistant getContentAssistant(ISourceViewer sv) {
    ContentAssistant ca = new ContentAssistant();
    IContentAssistProcessor pr = new TagCompletionProcessor();
    ca.setContentAssistProcessor(pr, IDocument.DEFAULT_CONTENT_TYPE);
    return ca;
}

   @Override
   public char[] getCompletionProposalAutoActivationCharacters() {
      String str = "._abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
      return str.toCharArray();
   }

所以当我按 ctrl-space 输入时它会起作用,但我希望它应该在输入上述任何字符时始终触发 computeCompletionProposals

<extension
         point="org.eclipse.ui.editors">
      <editor
            id="testingpluginproject.editors.XMLEditor"
            name="Sample XML Editor"
            icon="icons/sample.png"
            extensions="xxml"
            class="testingpluginproject.editors.XMLEditor"
            contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor">
      </editor>
   </extension>

那么我错过了什么?

【问题讨论】:

    标签: eclipse eclipse-plugin eclipse-rcp


    【解决方案1】:

    您必须调用ContentAssistant enableAutoActivation 方法来启用自动激活:

    ca.enableAutoActivation(true);
    

    您可能还想考虑实现IContentAssistProcessorExtension 而不仅仅是IContentAssistProcessor,因为它提供了更好的isCompletionProposalAutoActivation 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 2011-05-05
      • 1970-01-01
      相关资源
      最近更新 更多