【问题标题】:Android project Refactor greyed outAndroid 项目重构灰显
【发布时间】:2011-02-23 14:36:29
【问题描述】:

按照this answer 中的建议,我通过“重构 > 重命名”在 Eclipse 中重命名了一个项目。

我现在想再次重命名它,但是重构菜单现在只有一个菜单项(Android > Extract Android String...),它也是灰色的!

我正在使用带有最新 Android SDK 9 的 Eclipse 3.6.1。

为什么会这样以及如何恢复正常?

更新(1): 遵循 Sankar Ganesh 的建议(选择一个字符串)后,Refactor 菜单再次出现。然后我再次选择了重命名...菜单项,我收到以下错误消息框:

这比以前的情况要好得多,在以前的情况下,我不知道为什么 Refactor 菜单被禁用以及该怎么做。尽管如此,我还是不明白为什么会这样,以及在使用 Refactor 函数时应该遵循哪些规则。我只想重命名一个项目……仅此而已。 :)

更新 (2): 我刚刚再次尝试了相同的操作(在 Project Explorer 中选择项目时重构 > 重命名)并且它成功了! (不发出如上所示的消息框)。

发生了什么事?

一定是一个错误,因为这显然是不一致

【问题讨论】:

  • 能否请您在 Package Explorer 视图中选择项目并重试?
  • @Madhusuthanan Seethara 是的,我刚刚这样做了——问题仍然存在。我还尝试关闭项目和重构——没有帮助。我重新打开了项目并重构——没有帮助。我完全退出了 Eclipse,然后重新启动它——没有帮助。顺便说一句,对于 Project Explorer 中的所有项目,重构都是灰色的,而不仅仅是重命名的项目。这几乎看起来像一个错误,除非这是我不知道的功能。谢谢。
  • @AndroidEve 很抱歉匆忙回答。我在我的 Eclipse 上对此进行了实验,当未选择项目时,重命名被禁用。当我选择项目时,它又回来了。加倍确定我在重命名一次后这样做了(重现你的案例)。应该是bug吧?顺便说一句,你在哪个版本的eclipse中?您可以尝试刷新一次项目吗? (不确定它是否能解决问题,但只是一个疯狂的想法!)
  • 会不会是因为您的 Eclipse Java 设置指向的是 JRE 而不是 JDK?
  • @Abhinav 不,这是不可能的。

标签: android eclipse refactoring eclipse-plugin


【解决方案1】:

我想知道,你为什么要为重命名项目而苦苦挣扎, 如果你想重命名你的项目,那么你只需选择你的项目,然后点击重构菜单,然后重命名,就是这样

第一步:

Step2: 现在看到我的项目名称已更新,最初是好友查找器,现在好友查找器已更新

此外,您可以将提取 Android 字符串用于有效的 Java 标识符,而不是用于包和文件,因为请参见此处的窗口

【讨论】:

  • 这正是我所做的。但我想再次重命名它(改成别的名字),就在那时我遇到了一个惊喜......但现在一切都很好,虽然我并不真正理解 Eclipse 是如何“治愈”自己的。 :)
  • Ganes BTW,在我的 Eclipse 3.6.1 中,我没有 Update references 复选框。
  • @AndroidEve: 哦,我又想知道,没有 upUpdate 引用复选框,你可以修改你的项目名称
【解决方案2】:

请在您的 java 代码中选择一个字符串并执行重构 -> Android -> 提取 Android 字符串,现在您可以看到对话框,如下所示

然后看下一张图片

【讨论】:

  • 哇!我只是选择了 一个字符串(甚至没有达到“提取 Android 字符串”步骤),整个重构菜单再次可用。为什么?这是 Eclipse Refactor 的行为方式吗?如果是这样,我在哪里可以找到更多信息?
  • @AndroidEVe:哦,选择一个字符串,把这个对话框扔给你,对吗?
  • 不,我什至还没有到达这个对话框。请参阅上面的更新。我想在尝试使用它之前,我需要对 Refactor 功能进行博士学位。 :)
【解决方案3】:

谜团解开!

问题原来是我在 Resource 透视图中尝试“重构 > 重命名”。

一旦我切换到 Java 透视图,这种(不一致的)行为就不会重复,我什至能够选中更新引用复选框。

哇!

(感谢@Sankar Ganesh 发布快照,因为这让我注意到有一个“更新参考”复选框,并且您的标题栏上的文本与我的不同)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多