您为Python使用了哪些重构工具?

Tho*_*ele 66 python refactoring

我有一堆我要重命名的课程.其中一些名称很小,名称在其他类名称中重复使用,我不希望更改名称.其中大部分都存在于Python代码中,但我们也有一些引用类名的XML代码.

简单的搜索和替换只能让我到目前为止.在我的情况下,我想将AdminAction重命名为AdminActionPlug和AdminActionLogger为AdminActionLoggerPlug,因此第一个的搜索和替换也会错误地击中第二个.

有没有人有Python重构工具的经验?如果他们也可以修复XML文档中的类名,则可以获得奖励积分.

Tho*_*ele 55

与此同时,我尝试了两种与vim集成的工具.

第一个是Rope,一个带有Vim(和emacs)插件的python重构库.我尝试了一些重命名,这肯定按预期工作.它允许我将重构预览为差异,这很好.它有点文字驱动,但对我来说没关系,只需要更长的时间来学习.

第二个是自行车修理工,我猜这个名字会赢得积分.也插入vim和emacs.还没玩过多少,但我记得很久以前就试过了.

还没有玩过足够的,或尝试过更多类型的重构,但我会对它们进行更多的黑客攻击.

  • 绳子在一个奇怪的地方.它有很多文档,但仍然很难理解.没有好的教程.有人应该在github上创建一个名为modern vim IDE的vim版本,包含电池,并为我们节省大量时间.Janus是一个很好的开始,但它不包括任何重构库,也不包括Django代码完成等. (4认同)
  • 有一天,一位伟大的上帝将来自天空,他将为我们提供一个基于Dev Express C#Code Rush的重构工具,用于其他语言.当那一天到来时,Ctrl + Plick将是地球上最常用的快捷方式.阿门. (2认同)

Oli*_*ter 24

我强烈推荐PyCharm - 不仅仅是重构.自几年前PyCharm的第一个答案发布在这里以来,PyCharm的重构支持已大大改善.

PyCharm中提供Python重构(最后检查2016/7/27 PyCharm 2016.2)

  • 更改签名
  • 转换为Python包/模块
  • 复制
  • 提取重构
  • 排队
  • 反转布尔值
  • 制作顶级功能
  • 移动重构
  • 推送会员
  • 拉各位议员
  • 重命名重构
  • 安全删除

XML重构(我在XML文件的上下文菜单中检查):

  • 改名
  • 移动
  • 复制
  • 将子查询提取为CTE
  • 排队

Javascript重构:

  • 在JavaScript中提取参数
  • 在JavaScript中更改签名
  • 在JavaScript中提取变量


Mic*_*ent 5

WingIDE 4.0(WingIDE是我选择的python IDE)将支持一些重构,但我刚尝试了最新的测试版,beta6,以及......还有很多工作要做.Retract方法很好地工作,但Rename Symbol没有.

更新:4.0版本修复了所有重构工具.他们现在工作得很好.


qff*_*qff 5

我会看看鲍勒( https://pybowler.io )。

它比rope 更适合直接从命令行使用,并鼓励编写脚本(一次性脚本)。