我正在開發一個使用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. 在編輯文本中獲取Android中的光標位置?
- 3. 編輯文本及其光標位置?
- 4. 編輯文本光標位置
- 5. 如何獲取光標在日蝕文本編輯器中的位置
- 6. 在eclipse文本編輯器中標記位置?
- 7. 設置光標位置,留在編輯文本中的Android
- 8. 獲取光標位置
- 9. SWT獲取光標位置
- 10. 編輯文本行號和當前行光標位置。
- 11. Android編輯文本光標位置問題
- 12. 獲取文本框光標位置(文本之前或之後)
- 13. 獲取從文本文本光標位置.NET
- 14. 內容可編輯的光標位置
- 15. 內容當文本編輯器彈出時,可編輯的光標位置在可編輯的div中
- 16. 如何將編輯器連接到位置光標圖標?
- 17. 在Outlook編輯器中設置光標位置的c#代碼
- 18. 圖標編輯器位置
- 19. CodeMirror:如何閱讀光標位置之前或之後的編輯器文本
- 20. 如何在光標位置插入文本在Wysihtml5-沙盒編輯器
- 21. Eclipse PDE:xml文本編輯器
- 22. Java Eclipse文本編輯器
- 23. 如何用特定的光標偏移位置打開新的eclipse編輯器
- 24. Eclipse文本編輯器的插入位置
- 25. VSTO:獲取文本光標位置(X/Y)
- 26. 如何獲取當前文本部件的光標位置
- 27. 如何通過光標位置獲取文本框的ID
- 28. 獲取位置文本框中光標的
- 29. ExtJS的HTML編輯取出光標位置
- 30. 如何獲取Eclipse中的光標列位置TextEditor
那你試試? –
你有什麼對象可以訪問?只是編輯?觀衆?這是主要的文本小部件? – nitind
我試圖從鏈接中的答案下面的代碼,但它只是讓我抵消。 http://stackoverflow.com/questions/1619623/eclipse-plugin-how-to-get-current-text-editor-corsor-position –