2012-03-07 15 views
5

Buduję wtyczkę zaćmienia, w której zamierzam utworzyć nowy plik w moim projekcie. Czy istnieje sposób na odświeżenie bieżącego projektu?Eclipse: odświeżanie bieżącego projektu programowo

wiem, że mogę mieć odniesienie do całego projektu poprzez wywołanie

ResourcesPlugin.getWorkspace().getRoot().getProjects() 

a kolejnych pozycji i używać

IResource.refreshLocal() 

Jednak takie podejście nie jest najlepsza, zwłaszcza jeśli użytkownik ma dużo projektów.

Alternatywą byłoby zbadanie projektu w celu sprawdzenia, czy nowy plik jest obecny, czy nie, ale chciałbym tego uniknąć.

+0

To nie neccessary zadzwonić 'refreshLocal' jeśli możesz utworzyć plik za pomocą interfejsu API obszaru roboczego, zobacz 'org.eclipse.core.resources.IFile.create (InputStream, boolean, IProgressMonitor)' –

+0

@Tom Seidel Powinienem przejść do tej metody 'FileInputStream is = new FileInputStream (nowy plik ("myPath")) '? – Maverik

+1

nie używaj "java.io.File" podczas pracy z zasobami w obszarze roboczym. Jak utworzyć plik, zobacz fragment w pytaniu o http://stackoverflow.com/questions/1624054/eclipse-plugin-create-a-new-file –

Odpowiedz

2

To nie neccessary zadzwonić refreshLocal jeśli utworzyć plik z API obszaru roboczego, zobacz org.eclipse.core.resources.IFile.create(InputStream, boolean, IProgressMonitor)

Jak utworzyć plik, zobacz fragment w Eclipse plugin: create a new file

+0

Dzięki za pomoc! – Maverik

4

O wiele łatwiej jest odświeżyć na poziomie projektu.

To prawda, że ​​może to być mało skuteczne, ale na pewno cały projekt został odświeżony.

+0

Dziękuję Gilbert, teraz problemem jest: jak mogę odzyskać nazwę bieżącego projektu? Dzięki jeszcze raz! – Maverik

+1

@lucaghera: Masz już wszystkie projekty z kodem w pytaniu. Eclipse nie będzie wiedział, który projekt jest aktualny. To zależy od ciebie, aby to ustalić. –

Powiązane problemy