2010-02-11 4 views
2

В Eclipse, если я изменяю файл программно и он открыт в текстовом редакторе, он не всегда перезагружается, даже при обновлении ресурса программно. Как я могу принудительно перезагрузить текстовый редактор из кода, чтобы он отображал измененное содержимое файла?Как программно перезагрузить текстовый редактор в Eclipse?

ответ

2

В своем исследовательском проекте или навигаторе вы можете щелкнуть правой кнопкой мыши файл, который в настоящее время открыт, и выбрать обновление. У этого всегда работал для меня, даже при редактировании файлов с несколькими программами. Обязательно щелкните сам файл, а не родительские объекты, такие как пакеты или папки или проекты.

Редактировать

Обновление программно? Я хотел бы посмотреть в Eclipse, инструмент сценариев:

http://eclipse-shell.sourceforge.net/

Я предполагаю, что был еще один называется обезьяна, но это, кажется, не поддерживается.

+0

Я знаю это, но я хочу сделать это программно. Извините за то, что вы недостаточно ясны, отредактировал вопрос, чтобы избежать недоразумений. – thSoft

+0

Спасибо за подсказку. Я решил проблему более просто: я заменяю содержимое редактора, не перезаписывая старый файл. Таким образом, пользователь имеет возможность отменить обработку. – thSoft

+0

@thSoft Хорошо, потому что я ненавижу, когда содержимое моего редактора заменяется перед моими глазами, и я отчаянно ударяю Ctrl-Z, и ничего не происходит, потому что программа помогла перезагрузить файл. –

1

Я не знаю никакой возможности программно перезагрузить файл.

Некоторые редакторы (например, редакторы GMF) ищут изменения в базовых файлах и обновляют себя, но это совсем не требуется.

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

Мои идеи для решения этой проблемы:

  • Есть конкретный редактор, который обновляет его содержимое, когда используемые изменения ресурсов (это может быть timeconsuming);
  • Или закройте редакторы файла и откройте их (это уродливо в глазах пользователя).
+0

Я использую предопределенный редактор Xtext, поэтому прежний вариант не был жизнеспособным. Вместо последнего я попытался вызвать метод init() редактора, но это пошло по тому же пути - не обновляясь индетерминистически. К счастью, я мог запросить новое содержимое вместо обновления файла и, следовательно, решил его, как описано выше. – thSoft

0

С момента выпуска Luck Eclipse нет необходимости перезагружать файлы с помощью F5/manual Refresh.

Действительно приятно, особенно, поскольку произошла ошибка с привязкой ключа F5.

Смежные вопросы