重命名PyDev中的重构破坏了吗?

时间:2015-03-06 14:53:53

标签: python eclipse rename pydev automated-refactoring

我发现PyDev中的重命名重构工具已经破碎,我感到有些惊讶。要查看我的错误

  • 创建一个新的PyDev项目,
  • 在其中创建一个新模块(比如util.py),
    • 在模块中创建一个常量,e。 G。 MYCONST = "some const value"
  • 在项目中创建第二个脚本,比如说scriptA.py
    • 导入util
    • 使用常量:print util.MYCONST
  • 在项目中创建第三个脚本,比如说scriptB.py
    • 还会导入util
    • 也使用常量:print util.MYCONST

重命名常量MYCONST现在应该在所有三个文件中重命名它。

go-to-declaration Ctrl - left-mouse-click F3 )之类的东西工作,因此PyDev知道util.pyscriptA.py之间的联系。

但是如果你在{{1}文件中重命名常量(使用 Shift Alt r 对单词MYCONST)它会在scriptA.py中的scriptA.py 中重命名,但scriptB.py中的不是(当然有效地破坏了代码)。如果您尝试在util.py中重命名,则只会在该文件中重命名,而util.pyscriptA.py中都不会重命名。

问题:

  1. 其他人可以重新创建我的问题吗?
  2. 是否存在导致问题的配置问题,以便我可以自行删除该效果?
  3. 这是一个已知的错误(我没有发现任何相关内容),甚至可能有修复或解决方法吗?
  4. 这只出现在我的产品版本中吗?
  5. 我正在使用Eclipse“Luna Service Release 2(4.4.2)”和PyDev 3.9.2.201502050007。

    编辑:

    (删除 - 错误没有连接到包或者没有打包,因为它最初似乎是)。

    EDIT2:

    我刚刚发现只有在导入模块名称然后使用限定名称访问常量时才会出现问题:

    scriptB.py

    但如果直接导入名称:

    import util
    print util.MYCONST
    

    然后我无法重现错误。

    虽然这似乎是一种解决方法(可能是!),但我希望能够使用合格的名称,至少有时候。所以主要问题仍未解决。

0 个答案:

没有答案