2012-03-20 64 views
1

我正在开发一个插件来进行eclipse,并且我想将一些操作添加到上下文菜单中。但实际上,我希望根据编辑器中的文本选择在前面准备结果,并在菜单项被选中时显示它们。 我跟着那篇文章http://www.eclipse.org/articles/Article-WorkbenchSelections/article.html - 所有接口(ISelectionListener,ISelectionChangedListener等)允许处理SelectionChanged事件,但编辑器计数只在选择的长度也改变时才改变 - 所以编辑器中的简单点击不会触发事件,尽管我想要得到的单词(例如)作为选择,如果光标现在在单词里面,长度为0.在Eclipse TextEditor中更改光标位置时得到通知

所以问题是 - 什么是最简单的方法来拖放光标位置/偏移/选择零长度价值在变化?

回答

1

在这种情况下,您也必须使用KeyListener和MouseListener。例如,看看org.eclipse.jface.text.PaintManager,它会监听所有这些事件。

+0

感谢您的回复。 找不到我可以将我自己的Key和Mouse侦听器添加到编辑器的位置。它似乎扩展,然后更换默认编辑器是最简单的方法。 – Ritro 2012-03-21 19:20:50

0

如果要扩展TextEditor可以覆盖handleCursorPositionChanged()方法,用来触发事件并使用getCursorPosition()得到光标位置为String

+0

确实提到了什么原因以及为什么你建议这个答案,并阅读常见问题知道,如何以适当的方式给出答案。 – Hamad 2013-11-22 06:10:52