Как из Eclipse Plug-in работать с текущим исходником |
JUG UA Forums |
Welcome Guest ( Log In | Register )
Как из Eclipse Plug-in работать с текущим исходником |
seva |
20.3.2008, 11:07
Post
#1
|
Member Group: Members Posts: 10 Joined: 20.3.2008 Member No.: 2 337 |
читал туториал http://www-128.ibm.com/developerworks/ru/e...n/section2.html
сделал как написано вроде все работает. решил не много переделать так чтобы при нажатии на кнопке в моем view plug-in производился подсчет не пустых строк текущего исходника как обратится к тексту текущего исходника открытого в Eclipse, побегать по его строкам итератором и т.д. в тутореале для поиска IMarker.TASK'ов применялся такой код IWorkspace workspace = ResourcesPlugin.getWorkspace(); IWorkspaceRoot workspaceRoot = workspace.getRoot(); IMarker[] imarkers = workspaceRoot.findMarkers(IMarker.TASK, true,IResource.DEPTH_INFINITE); я смотрел документацию для интерфейсов IWorkspace, IWorkspaceRoot, IMarker но не догадался как решить мой вопрос? |
|
|
zhou |
20.3.2008, 11:34
Post
#2
|
Advanced Member Group: Members Posts: 114 Joined: 6.5.2005 Member No.: 18 |
Статью читать лень
Как я понимаю - задача - в текущем активном редакторе посчитать пустые строки? 1. Надо получить текущий редактор (PlatformUI.getWorkbench.getActiveWindow.getActivePage.getActiveEditor или как-то так) 2. Скорее всего он будет ITextEditor - но стоит попробовать через getAdapter его привести к текстовому редактору (на случай всяких Multipage и прочих нестандартных редакторов) 3. Получить IDocument и там уже считать строки. Если я неправильно понял задачу, прошу прощения. |
|
|
seva |
21.3.2008, 5:30
Post
#3
|
Member Group: Members Posts: 10 Joined: 20.3.2008 Member No.: 2 337 |
я добрался до ITextEditor но от него нельзя получить IDocument только IDocumentProvider
у которого есть метод IDocument getDocument(Object element); в документации про него сказано Returns the document for the given element. Usually the document contains a textual presentation of the content of the element, or is the element itself. Parameters: element - the element, or null Returns: the document, or null if none если в параметр передать null то и ссылка на IDocument будет null. еще пробовал : IDocument document = textEditor.getDocumentProvider().getDocument(textEditor); и вот так IDocument document = textEditor.getDocumentProvider().getDocument(iEditorPart); ни как не выходит. в связи с чем у меня такой вопрос : ссылку на какой объект следует передать в качестве параметра, чтоб всетаки добратся до IDocument'а ??? |
|
|
zhou |
21.3.2008, 9:50
Post
#4
|
Advanced Member Group: Members Posts: 114 Joined: 6.5.2005 Member No.: 18 |
Ну, у моих редакторов можно IDocument получить , так я и не помню - можно ли у любых.
Я не помню, попробуй вызвать IDocumentProvider::getDocument(editor.getEditorInput()). Или уже выковыривать Storage... |
|
|
seva |
21.3.2008, 10:07
Post
#5
|
Member Group: Members Posts: 10 Joined: 20.3.2008 Member No.: 2 337 |
Спасибо помогло.
|
|
|
Lo-Fi Version | Time is now: 24.9.2008, 10:16 |