我正在開發一個使用eclipse插件開發環境(PDE)推薦代碼的插件。現在我正在設計界面。事情是我想要在Eclipse編輯器中獲取光標位置並在該位置打開一個JFrame。我試圖在文檔和論壇的幫助下獲得位置,並且只能獲得直到現在的偏移量,或者可以說行和列偏移量。我想知道它代表一個位置的點(x,y)。那麼任何想法如何獲得光標位置?Eclipse文本編輯器獲取光標位置
回答
假設你有StyledText
控制在編輯器中使用getCaretOffset
來獲取插入符偏移:
StyledText text = ... get editor styled text
int caret = text.getCaretOffset();
然後調用getLocationAtOffset
得到的x,偏移量相對於控制y座標:
Point point = text.getLocationAtOffset(caret);
如有必要,您可以將其轉換爲相對於顯示器:
point = text.toDisplay(point);
請注意,Eclipse插件通常使用SWT,而不是Swing。打開一個JFrame比SWT控件要困難得多。
可以使用得到StyledText
爲ITextEditor
:
StyledText text = (StyledText)editor.getAdapter(Control.class);
我想從eclipse的編輯器中獲取插入點的位置,就像你上面做的那樣,而不是從一個風格的文字。 –
Eclipse文本編輯器使用StyledText作爲文本 –
IEditorPart editor = PlatformUI.getWorkbench()。getActiveWorkbenchWindow()。getActivePage()。getActiveEditor(); \t \t如果(編輯的instanceof ITextEditor){ \t \t ISelectionProvider selectionProvider =((ITextEditor)編輯).getSelectionProvider(); \t \t ISelection selection = selectionProvider.getSelection();如果(ITextSelection的選擇實例){ \t \t \t ITextSelection textSelection; =(ITextSelection)selection; \t \t offset = textSelection.getOffset(); \t \t} \t \t} –
- 1. CONTENTEDITABLE文本編輯器,光標位置
- 2. 編輯文本及其光標位置?
- 3. 在eclipse文本編輯器中標記位置?
- 4. 獲取光標位置
- 5. 獲取從文本文本光標位置.NET
- 6. 編輯文本行號和當前行光標位置。
- 7. 內容可編輯的光標位置
- 8. 如何將編輯器連接到位置光標圖標?
- 9. 如何在光標位置插入文本在Wysihtml5-沙盒編輯器
- 10. 圖標編輯器位置
- 11. Eclipse文本編輯器的插入位置
- 12. VSTO:獲取文本光標位置(X/Y)
- 13. ExtJS的HTML編輯取出光標位置
- 14. 如何獲取Eclipse中的光標列位置TextEditor
- 15. 選擇編輯的JComboBox中的所有文本,並設置光標位置
- 16. 更改編輯文本光標顏色
- 17. Android編輯文本 - settextmethod光標問題
- 18. 如何從Eclipse中的活動編輯器獲取文本PDE
- 19. 設置光標位置,選擇文本
- 20. YUI富文本編輯器:如何將光標設置爲文本的末尾
- 21. 獲取CONTENTEDITABLE DIV光標位置
- 22. 在鍵上獲取光標位置
- 23. 獲取光標位置Android鍵盤
- 24. contenteditable div獲取光標位置
- 25. C#獲取每個光標位置
- 26. LWJGL 3獲取光標位置
- 27. 在mailItem中獲取光標位置htmlbody
- 28. 以編程方式設置Eclipse設置編輯器位置
- 29. 獲取光標位置或光標所在行的行數TinyMCE
- 30. 通過光標/光標位置獲取當前語句
那你試試? –
你有什麼對象可以訪問?只是編輯?觀衆?這是主要的文本小部件? – nitind
我試圖從鏈接中的答案下面的代碼,但它只是讓我抵消。 http://stackoverflow.com/questions/1619623/eclipse-plugin-how-to-get-current-text-editor-corsor-position –