2015-08-31 2 views
1

Анализ, который мы запускаем в настоящее время, имеет проблему с несохраненными файлами в Eclipse ... когда мы посещаем единицы компиляции Java-проекта, если есть файл, который в настоящее время редактируется, который имеет несохраненные изменения, кажется, что мы получаем копировать с несохраненными изменениями.Как я могу получить сохраненную версию ICompilationUnit?

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

Предположим, у меня есть ICompilationUnit с несохраненными изменениями, как я могу получить версию этого блока компиляции, представляющего текущий сохраненный файл?

ответ

1

Я думаю, что ICompilationUnit#getPrimary() - это то, что вы ищете.

+0

Я думаю, что вы правы, как на слайде 19 здесь: http://www.slideshare.net/aupsy/how-to-train-the-jdt-dragon – SpaceTrucker

+0

Хм ... Я надеялся, что это будет ответ, хотя API очень похож на него, если он это делает ... но то, что говорит слайд 19, делает меня еще более сомнительным, что я уже был: «Первичная рабочая копия: общий буфер, показанный всеми редакторами». Я ищу текущую сохраненную версию, которая обычно не отображается ни одним редактором Eclipse. Либо этот слайд вводит в заблуждение, либо это не ответ. –

+0

Хм, а как насчет получения базового 'IResource', связанного с' ICompilationUnit', который у вас есть, и загрузки его с диска? –

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