我有一个相当大的 Eclipse 项目,在过去的 6 个月中经历了几次重大的重构。已添加、删除、重命名(使用Refactor >> Rename
)包,这些包中的源文件也是如此。
今天我想数一数我在项目根目录下有多少源文件,并被 AgentRansack 返回的内容吓了一跳。我期待大约 200 - 250 的东西,但它转回了 ~325。我开始查看文件列表,果然,其中一些是我很久以前删除的 Java 文件。
我打开 Windows 资源管理器并查看了我的项目目录,当然,看到它们都只是坐在我的文件系统上,就像它们什么都没发生过一样。
显然,Eclipse 正在呈现我的项目目录的“视图”(某种形式),并使用某种元数据来标记“已删除”、重命名等。但对于文件系统,没有任何变化。
通常我不会对此感到不安,但我只是去导入一个曾经被打包为 的类org.me.myproj.fizz.Widget
,但后来被重构为打包为org.me.myproj.buzz.Widget
. 当我点击快捷方式 ( Ctrl+Shift+O
) 时,Eclipse 询问我Widget
想要哪个 - 但第一个甚至不应该存在了!!!
当我在 Eclipse 中删除包/文件夹/文件时,或者我通过 重命名/移动它们时Refactor >> Rename/Move
,如何确保更改对底层文件系统是永久性的?