2

eclipse のプラグインを開発しており、コンテキスト メニューにいくつかのアクションを追加したいと考えています。しかし、実際には、エディターでのテキスト選択に従って事前に結果を準備し、メニュー項目が選択されたときに結果を表示したかったのです。私はその記事に従いましたhttp://www.eclipse.org/articles/Article-WorkbenchSelections/article.html - すべてのインターフェース (ISelectionListenerなどISelectionChangedListener) はSelectionChangedイベントを処理できますが、エディターは選択の長さも変更された場合にのみ変更をカウントします - そのため、エディターで単純にクリックしてもイベントは発生しませんが、カーソルが現在単語内にあり、長さが 0 の場合、単語 (たとえば) を選択として取得したい.

問題は、ゼロの長さの値を変更してカーソルの位置/オフセット/選択を追跡するための最も簡単な解決策は何ですか?

4

2 に答える 2

1

拡張している場合は、メソッドをTextEditorオーバーライドhandleCursorPositionChanged()してイベントを発生させgetCursorPosition()、カーソル位置を として取得するために使用できますString

于 2013-11-22T05:49:47.317 に答える
1

その場合、KeyListener と MouseListener も使用する必要があります。たとえば、org.eclipse.jface.text.PaintManager を見てください。これらすべてのイベントをリッスンします。

于 2012-03-21T10:40:34.173 に答える