在过去的六个月里,我一直在用python开发一个项目,并且喜欢这门语言。但我还没有找到可以为我提供一些额外功能的IDE或文本编辑器。我目前有语法高亮,这是最简单的事情之一,但不多。我梦想让我的IDE跳转到我的代码中导致崩溃的行而不是从回溯中读取行号并在我的文本编辑器中手动定位它。我一直在寻找能够在我的开发限制下做到这一点的事情,但没有成功。我的约束如下:
我一直在做的是使用优秀的CyberDuck客户端通过SSH登录远程机器。这使我能够在我的任何本地常用文本编辑器(如TextMate或TextWrangler)内打开驻留在远程计算机上的文本文件,并在每次保存文件时自动上载更改。这真的让你感觉到你正在编辑你常用的cocoa界面中的远程文件。
然后执行python代码,我打开第二个SSH连接,这次使用我要输入的终端:
$ ssh user@dns
$ ipython -pylab
$ execfile("/projectdir/code.py")
最后,我阅读了回溯并返回我的本地文本编辑器以找到正确的行号。肯定有更好的办法 !有任何想法吗 ?
你可能喜欢或不喜欢这个建议,但我会使用vim,适当地设置makeprg和errorformat。通过这种方式,您可以像往常一样使用ssh,直接在远程计算机上编辑文件,并使用quickfix-errorlist编译/错误修复。它只会花费你时间来正确设置makeprg和errorformat。如果你做一点挖掘信息就在那里。
编辑
〜/ .vimrc设置:
"python makeprg settings setlocal makeprg=python\ % setlocal errorformat= \%A\ \ File\ \"%f\"\\\,\ line\ %l\\\,%m, \%C\ \ \ \ %.%#, \%+Z%.%#Error\:\ %.%#, \%A\ \ File\ \"%f\"\\\,\ line\ %l, \%+C\ \ %.%#, \%-C%p^, \%Z%m, \%-G%.%#
设置makeprg告诉vim你的“编译器”是python。设置errorformat告诉vim如何解析“编译器”的输出,以便跳转到错误行。在互联网上四处看看,有很多vimrc建议在python中编程。 Xcode / Visual C ++ / Perl / etc还有makeprg / errorformat设置,如果你用不同的语言编程,这真的让vim成为一个双赢的局面。还有其他一些奇特的东西,如autoindent,代码完成和语法高亮。请享用
注意:这些设置几乎是从here逐字记录的。
这是一个很好的list of Python-Editors。
在我看来WingIDE(有一个免费版本)功能丰富,简单易用,支持Remote-Debugging(仅限商业版)。 Eclipse PyDev-Plugin完全免费,值得研究,似乎支持Remote-Debugging。
你应该关注PyCharm - 它尚未准备好生产,但它有一些真正的潜力成为一个伟大的IDE。我已经使用它大约7个月 - 只要你保持你的构建最新,你可以续订45天免费试用。我相信远程调试是生产版本支持的功能。
您可以尝试PyCharm的专业版。到目前为止,它是迄今为止我发现的最好的远程调试器。有完整的调试功能可用于远程开发。唯一的问题是你可能每年要花几美元。