我定義了我自己的編輯器并有這樣的完成建議
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 enter 時它會起作用,但我希望它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>
那么我缺少什么?
uj5u.com熱心網友回復:
您必須呼叫該ContentAssistant enableAutoActivation方法以啟用自動激活:
ca.enableAutoActivation(true);
您可能還想著眼于實施,IContentAssistProcessorExtension而不僅僅是IContentAssistProcessor因為它提供了更好的isCompletionProposalAutoActivation方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/377191.html
