我正在使用SourceViewer
ContentAssistant
配置如下:
public class MySourceViewerConfiguration extends TextSourceViewerConfiguration {
@Override
public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
ContentAssistant assistant= new ContentAssistant();
...
return assistant;
}
}
SourceViewer sourceViewer = ...
sourceViewer.configure( new MySourceViewer() );
如何确定内容辅助当前是否处于活动状态,即提案弹出窗口是否已打开?
答案 0 :(得分:0)
似乎没有办法直接查询SourceViewer
内容辅助是否有效。
但是,如果在SourceViewer
投入使用之前足够早地安装了完成侦听器,则可以使用它来跟踪辅助会话。
例如:
class ContentAssistListener implements ICompletionListener {
boolean contentAssistActive;
@Override
public void assistSessionStarted( ContentAssistEvent event ) {
contentAssistActive = true;
}
@Override
public void assistSessionEnded( ContentAssistEvent event ) {
contentAssistActive = false;
}
@Override
public void selectionChanged( ICompletionProposal proposal, boolean smartToggle ) {
}
}
如果内容辅助目前处于有效状态,则contentAssistActive
字段将为true
,否则为false
。