Как читать данные из файла в Eclipse Plug-in? - PullRequest
1 голос
/ 24 декабря 2009

В настоящее время я разрабатываю плагин Eclipse. При вызове мой плагин будет читать данные исходного файла active (в настоящее время открыт) и будет выполнять некоторое форматирование исходного кода, а затем обновит результаты до того же active исходный файл.

Теперь мои вопросы:

  1. Как прочитать данные из активного исходного файла? Нужно ли мне узнать местоположение этого файла и напрямую прочитать оттуда или есть другой способ сделать это?
  2. После получения и обработки данных, описанных в шаге 1, если я обновлю вывод в активный документ, будет ли Eclipse генерировать какое-либо исключение IOException? Будет ли Eclipse сохранять блокировку исходного файла? (Я думаю, что это не так, потому что я видел, как другие редакторы обновляли исходный файл, хотя он также открыт в Eclipse. Но чтобы знать это наверняка, я задаю вопрос здесь.)

1 Ответ

4 голосов
/ 24 декабря 2009

Вы должны использовать инфраструктуру Eclipse для редакторов и документов. Я не думаю, что это хорошая идея, чтобы изменить содержимое файлов "за спиной Eclipse".

Я не эксперт в этом, но могу дать вам пример кода, чтобы вы начали:

IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IWorkbenchPage activePage = window.getActivePage(); // null check omitted
IEditorPart editorPart = activePage.getActiveEditor(); // null check omitted
ITextEditor textEditor = (ITextEditor) editorPart; // casting check omitted
IDocument currentDocument = textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());

Ознакомьтесь с org.eclipse.jface.text.IDocument API. Позволяет манипулировать текстом в текущем активном исходном файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...