Eclipse能自动刷新资源吗?

Eclipse(3.4.2和PyDev)处理不同步的资源(在IDE之外编辑过的文件)与我使用的其他IDE不同,它只打开编辑器的资源被认为是不同步的。 在Eclipse中,任何资源都可能不同步。

这意味着在Eclipse之外的任何文件发生更改后执行search时,即使没有打开的编辑器,也会出现一个错误对话框,告诉我文件不同步。 据我所知,没有全局刷新命令,所以我被迫在错误对话框中读取项目名称(我有几个项目),并做一个右键单击+刷新每个。

我已经在Settings > General > Workspace检查了Refresh Automatically设置,但是这没有效果。 有什么办法让Eclipse始终只从磁盘加载非活动资源?

这个问题将在Eclipse 3.7(Indigo)中解决。 虽然“ 自动刷新 ”最终会使资源重新同步,但刷新挂钩仅适用于Windows,因此在Linux和Mac OS上,它必须定期轮询文件系统。

从3.7有一个新的首选项Settings > General > Workspace > Refresh On Access (又名轻量级刷新)。 此首选项会导致Eclipse在发现它们“不同步”时自动刷新资源。 打开,读取或search文件时,将防止发生不同步错误。

另见: https : //bugs.eclipse.org/303517

我想如果你点击Project Explorer中的项目节点并按下F5或者右键点击并selectRefresh,那么该项目的所有资源都将被刷新。 另外,如果您按住CTRL并单击多个项目,则应该可以同时刷新多个项目。

只需点击一个项目,一个CTRL + A来select一切,一个F5应该完成你所需要的 – 刷新一切。

当我有机会时,我将不得不testing这个,但我相信这是我过去克服类似问题的方法。


我注意到,这个答案通常是越来越投票。 我想指出的是,这个问题涉及Eclipse的特定版本:3.4.2。 实际上, 在James Blackburn的回答中提到, 在 Eclipse的3.7版Indigo之前 ,实际上没有自动方法来刷新不同步的资源。 在这个答案中描述的方法是在3.4.2版本(以及在3.7版之前的任何其他版本)中实现这一点的唯一方法。

不同步的问题在eclipse IDE中很常见,所以你必须使用原生钩子或轮询来检查这个选项 – >首选项 – >工作区 – >刷新。

有一个全局刷新 – 在包资源pipe理器中没有任何东西(或所有东西)被选中,然后按F5键(或右键单击空白区域并select刷新)。 当然,如果你有大项目,这可能需要相当长的时间。

Eclipse Helios在“首选项”>“常规”>“工作区”中具有内置刷新function。 在禁用自动构build的地方。 自动select刷新。 具有相同function的插件是Andrei Loskutov的Filesync Plugin。 更新站点地址是: http : //andrei.gmxhome.de/eclipse/ 。 在安装过程中,selectEclipse 3.5-3.7插件> FileSync。

鉴于Java 7具有文件系统挂钩的API,人们会认为在Eclipse中可以更好地处理刷新。

编辑:其实,有一个插件使用这种机制: https : //github.com/psxpaul/EclipseJava7Refresher

也许你应该在eclipse站点上添加一个function请求:

https://bugs.eclipse.org/bugs/

我认为这是一个好主意,添加一个自动刷新过时资源的首选项。

Eclipse中的全局刷新确实是缺less的。 上面select所有项目,然后运行刷新(例如F5)的过程不起作用,如果您closures了项目中的项目。 这意味着,如果您拥有像我这样closures的众多项目中的一半,则会发现自己通过几十个项目手动按住Ctrl单击。 这是相当痛苦的。 我希望Eclipse会忽略封闭的项目。

全局刷新实际上存在于普通的Eclipse中,没有任何插件,也没有select工作区中的每个项目。

基本上你需要取消你的项目浏览器中的所有内容,然后按F5。 要做到这一点Ctrl +单击项目资源pipe理器中选定的资源,然后按F5键。

是的,刷新访问姗姗来迟…这些和类似的查询答案通常build议启用全球自动刷新,这可能需要大型远程项目的年龄。 实际上,有些人会说,刷新访问应该是原来的(<3.x)默认行为…

我设法解决这个问题,创build一个新的“外部工具”运行configuration,执行一个空白的batch file。 在运行configuration中,您可以在完成时刷新工作区。 然后,我使用实际macros创build了一个macros1)执行最后一个外部工具运行configuration(刷新工作区),然后2)执行最后一个debugging运行configuration(运行我的应用程序)。 如果取消选中“分配控制台”,则完成的外部工具条目将不会显示在debugging窗口中。

即使其他人提出的解决scheme确实是正确的,您也可以使用Eclipse的“ 全部刷新 ”插件。 只需将“ 更新”页面添加到您的Eclipse更新站点列表中即可将其安装到您的IDE中。