【发布时间】:2012-01-17 21:20:16
【问题描述】:
我正在为 Eclipse 开发一个简单的插件,我想检测用户(打开项目文件并在编辑器中输入)正在输入的内容。到目前为止,我已经获得了当前的工作台、当前活动的编辑器以及使用 IPropertyListener 对编辑器进行的属性更改;但我一再无法检测到是否按下了任何键。
代码:
IWorkbench wb = PlatformUI.getWorkbench();
IWorkbenchWindow win = wb.getActiveWorkbenchWindow();
IWorkbenchPage page = win.getActivePage();
System.out.println
("Yeah the editor is visible..." + page.isEditorAreaVisible() + "with ..." + page.toString() );
IEditorPart theEditor = page.getActiveEditor() ;
IPropertyListener myPropL = new IPropertyListener()
{
@Override
public void propertyChanged(Object arg0, int arg1)
{
// TODO Auto-generated method stub
System.out.println("This is : " + arg0.toString() );
}
};
theEditor.addPropertyListener(myPropL);
【问题讨论】:
-
你想在这里做什么?我不能帮你听所有的键,但可能还有其他方法。
-
我自己修好了。这是解决方案: 1. 使用 IDocumentListener lr = new IDocumentListener() 获取 IDocumentListener 2. 覆盖 documentChanged(DocumentEvent arg0) 并使用 arg0 参数使用 arg0.offset 获取键入的文本和键入的键。
标签: eclipse eclipse-plugin key actionlistener