Может ли Eclipse автоматически обновлять ресурсы?
Eclipse (3.4.2 с PyDev) имеет дело с несинхронными ресурсами (файлы, которые были отредактированы за пределами IDE) в отличие от других IDE, которые я использовал, где только ресурсы с открытыми редакторами считаются несинхронными. В Eclipse, любой ресурс может выйти из синхронизации.
Это означает, что когда я выполняю поиск через любой файл был изменен вне Eclipse, я получаю сообщение об ошибке сказав мне, что файлы не синхронизированы, даже если у них нет открытых редакторов. Насколько я могу скажите, нет никакой глобальной команды обновления, поэтому я вынужден прочитать имена проектов (у меня есть несколько проектов) в диалоговом окне ошибки и сделать щелчок правой кнопкой мыши + обновить для каждого из них.
Я проверил Refresh Automatically настройка в Settings > General > Workspace, но это не имеет никакого эффекта. Есть ли способ заставить Eclipse всегда просто загружать неактивные ресурсы с диска?
12 ответов:
эта проблема будет исправлена в Eclipse 3.7 (Indigo). В то время как "Автоматическое Обновление" в конечном итоге возвращает ресурсы в синхронизацию, крюк обновления существует только для Windows, поэтому на Linux и Mac OS он должен периодически опрашивать файловую систему.
из 3.7 есть новое предпочтение
Settings > General > Workspace > Refresh On Access(aka Lightweight Refresh). Это предпочтение заставляет Eclipse автоматически обновлять ресурсы, когда он обнаруживает, что они "не синхронизированы". При открытии, чтении или поиск файлов, это позволит предотвратить ошибки из синхронизации от возникновения.Смотрите также:https://bugs.eclipse.org/303517
Я думаю, что если вы нажмете на узел проекта в Обозревателе проектов и нажмите F5 или щелкните правой кнопкой мыши и выберите Обновить, все ресурсы для этого проекта будут обновлены. Кроме того, если вы нажмете CTRL+на несколько проектов, вы сможете обновить несколько проектов одновременно.
один клик по проекту, CTRL+A, чтобы выбрать все, и F5 должен делать именно то, что вам нужно - обновить все.
Мне придется проверить это, когда у меня будет шанс, но я поверьте, именно так я преодолевал подобные проблемы в прошлом.
Я заметил, что этот ответ регулярно получаю вниз проголосовали. Я хотел бы указать, что вопрос относится к конкретной версии Eclipse: 3.4.2. На самом деле не было автоматического метода обновления ресурсов вне синхронизации до версии 3.7 Индиго затмения, как указано в ответе Джеймса Блэкберна. Метод, описанный в этом ответе, является единственным методом для достижения этого в версия 3.4.2 (и любая другая версия до 3.7 Indigo).
проблема с синхронизацией часто встречается в Eclipse IDE, поэтому вам нужно проверить эту опцию windows -> preference -> Workspace -> обновить с помощью собственных крючков или опроса.
есть глобальное обновление-ничего (или все) не выбрано в проводнике пакетов и нажмите F5 (или щелкните правой кнопкой мыши на пустое пространство и выберите Обновить). Конечно, это может занять довольно много времени, если у вас есть большие проекты.
Eclipse Helios обладает встроенной функцией обновления в настройках > общие > рабочая область. Он находится в том же месте, где вы отключаете автоматические сборки. Выберите Обновить автоматически. Плагин с такой же функциональностью-это плагин Filesync Андрея Лоскутова. Адрес сайта обновления:http://andrei.gmxhome.de/eclipse/. во время установки выберите Eclipse 3.5-3.7 plugins > FileSync.
учитывая, что Java 7 имеет api для крючков файловой системы, можно было бы подумать, что обновление может быть обработано лучше в Eclipse.
Edit: на самом деле, есть плагин, который использует этот механизм:https://github.com/psxpaul/EclipseJava7Refresher
Возможно, вам следует добавить запрос на функцию на сайте eclipse:
https://bugs.eclipse.org/bugs/
Я думаю, что было бы неплохо добавить предпочтение для автоматического обновления устаревших ресурсов.
глобальное обновление действительно отсутствует в Eclipse. Приведенная выше процедура с выбором всех проектов и последующим запуском обновления (например, F5) не работает, если вы закрыли проекты, включенные в ваш выбор. Это означает, что если у вас есть 1/2 из ваших многочисленных проектов, закрытых, как я, вы окажетесь вручную Ctrl-щелчком по вашим десяткам проектов. Это довольно болезненно. Я хочу, чтобы Eclipse просто игнорировал закрытые проекты.
глобальное обновление фактически существует в простом Eclipse без каких-либо плагинов и без выбора каждого проекта в вашем рабочем пространстве.
в основном вам нужно отменить выбор всего в вашем Обозревателе проектов и нажать F5. Для этого нажмите Ctrl+выбранный ресурс в обозревателе проектов и нажмите F5.
да, обновление при доступе давно назрело ... эти ответы на этот и подобные запросы обычно предлагали включить глобальное автоматическое обновление, которое может занять возраст для крупных удаленных проектов. На самом деле есть те, кто сказал бы, что обновление при доступе должно было быть оригинальным (
мне удалось решить эту проблему, создав новый" внешний инструмент " run config, который выполняет пустой пакетный файл. В конфигурации запуска вы можете обновить рабочую область после ее завершения. Затем я создал макрос, используя практически макрос, который 1) выполняет последний внешний инструмент run config (обновление рабочей области), затем 2) выполняет последний отладочный запуск config (запуск моего приложения). Если вы снимите флажок "выделить приставку" законченный внешний инструмент не будет отображаться в окне отладки.
даже если решения, предложенные другими perso, действительно верны, у вас есть"Обновить Все" плагин для Eclipse. Просто добавьте обновить страницу к вашему списку Eclipse сайтов обновления, чтобы установить его в вашей среде IDE.
Comments