我对购买Sublime Text 3进行开发感到非常满意,无论是本地开发还是通过扩展,此软件都能满足我的几乎所有需求。

我发现自己想要的一件事但是,这是一种重构的方法,例如通过PyRope或更好的方法。 ST3已经有一个PyRope扩展,但实际上并没有使用重构后端。 ST2版本确实具有此支持,但是它根本不可靠,并且经常在没有明确的错误消息的情况下失败。

我正在寻找的内容:


我不想学习vimemacs只是为了重构代码-除非插件是如此简单,否则您可以在答案正文中解释如何使用它。抱歉。
我不想设置工作区,项目文件等来重构代码。该工具应该可以使用现有的文件结构。
.deb软件包附带的奖励积分。
Ubuntu存储库(至少是Trusty的)中包含更多的奖励积分

所有如果它实际上是ST3插件,则可以得到加分。

非目标:


它不必使用PyRope,但它至少应具有“提取功能”。

它甚至不必是文本编辑器。甚至只是一个像这样的程序就足够了:

py-refactor extract-function myNewFunction \
            --from mycode.py:42:60 \
            --dry-run




评论

我可以在答案中轻松解释如何使用VimRope或Bicycle Repairman,而我不能在答案中解释如何使用Vim。

@Oxinabox我就是这样问的。 :)

所以您可以接受一个Vim插件的答案吗?

@Oxinabox只要答案足够详细,是的...我知道vim的基本知识(足以设置系统的网络和存储库,然后安装nano:P),但是我从未处理过插件之前。

#1 楼


注意:我是Wingware的共同创始人,是Wing IDE for Python的制造商。


您可以尝试Wing IDE,它具有用于重命名,移动,提取代码的重构操作。函数或方法,并引入变量。它是一个完整的IDE,但启动速度很快,并且可配置性很强(例如,您可以隐藏自己不感兴趣的内容),并自动从磁盘重新加载代码,因此您可以将其与另一个编辑器一起使用。

如果您的代码不在同一目录中,那么您确实需要确保Wing(我认为是任何重构工具)都知道Python路径是什么。否则,它无法确定导入所引用的模块,因此可能会丢失您正在更改的符号的使用。这可能与您的源代码不相关,但是仍然值得您注意。

要满足您的其他要求:Wing具有各种键盘个性,不需要您知道emacs或vim。它以.deb(以及其他形式)出现,但不在Ubuntu存储库中,您的重构引擎也不能作为ST3插件使用(对不起!)。

评论


这是“软件建议”。您是从个人经验中建议这样做,还是只是举报您认为对此是正确的?

–伊拉克·巴克斯特
14年2月19日在8:34

@IraBaxter他在开发团队中

–分形
2014年2月26日在8:16

@Fractaliste:好。现在至少他的经验和与之的联系是显而易见的。

–伊拉克·巴克斯特
2014年3月3日在13:48

感谢您澄清这一点。抱歉,这是我在这里的第一篇文章,而我是从错误的帐户进行的。

–软件
2014年4月4日14:11