我正在研究emacs作为Eclipse的替代品。 Eclipse中我最喜欢的一个功能是能够将鼠标悬停在几乎任何python对象上并获取其源代码列表,然后单击它直接转到另一个文件中的代码。
我知道这在emacs中一定是可行的,我只是想知道它是否已经在某个地方的脚本中实现,如果是的话,如何在emacs上运行它。
看起来我的版本是版本24.2。
此外,由于我将进行Django开发,如果有一个能理解Django模板语法的插件,那就太棒了。
答案 0 :(得分:2)
我也从Eclipse切换到Emacs,我必须说在调整了更多以文本为重点的探索代码之后,我完全不会错过这个功能。
在Emacs中,您只需打开一个shell提示符(M-x shell)。然后从Emacs shell中运行IPython,你就完成了。我通常将屏幕水平分成两半,使底部窗口变薄,这样就像Eclipse控制台一样。
我在.emacs中添加了一个功能,让我“聚焦”底部窗口并将其交换到顶部窗口。因此,当我编写代码时,如果我遇到了我想要查看源代码的内容,我只需键入C-x c将IPython shell交换到顶部窗口,然后输入%psource<代码事物>它会显示来源。
这涵盖了我用于快速获取Eclipse源代码的95%以上的用例。我也不在乎需要输入C-x b或C-x C-f来打开代码文件。实际上,经过大约2或3个小时的编程后,我发现几乎我可能需要的每个缓冲区都已经打开,我只需输入C-x b<文件名的开头>然后选项卡完成它。
由于我已经变得更熟练打字并且不需要将注意力转移到鼠标上,我认为现在实际上比Eclipse中的“快速”鼠标加F3策略更快。要启动,在底部打开IPython比非交互式Eclipse控制台更好。你可以使用像M-p和M-n这样的东西来获取IPython在返回命令方面的前后行为。
我想念的一件事是IPython中的标签完成。为此,我认为有一些附加功能可以实现,但我还没有投入时间来安装它们。
如果您想查看我上面提到的选项的任何elisp代码,请告诉我。
答案 1 :(得分:0)
检查ropemacs(重构库)。它有一个“go to definition”命令(C-c g
),可以按预期工作(如果需要,可以打开文件)。
如果您不想花费大量时间为python配置emacs,请查看此package。
我不知道任何了解Django模板语法的插件,抱歉。
答案 2 :(得分:0)
代表python-mode.el打开了一个功能请求
https://blueprints.launchpad.net/python-mode/+spec/go-to-definition
py-complete-goto-definition应该已经在函数上工作了