帮助浏览/跟踪(大型)Python项目源代码的工具
举个具体的例子:熟悉django的项目源代码(核心部分、贡献模块、工具等)。有一个很有用的工具叫ctags,它可以让你“跳转”到某个函数或方法定义的文件和位置。想知道开发者们还使用哪些其他工具(比如:有没有一种工具,可以给出一个函数x(),然后列出调用x()的函数和被x()调用的函数?)。谢谢。
编辑:添加了一个答案,汇总了其他答案中提到的工具。
9 个回答
我觉得 Komodo Edit 和 PyDev 这两个工具可以让你快速跳转到 Python 函数的定义部分。
以下是一些在其他回答中提到的工具汇总...
cscope
http://cscope.sourceforge.net/
维基百科链接: http://en.wikipedia.org/wiki/Cscope
cscope 是一个控制台模式或基于文本的图形界面工具,通常用于非常大的项目中,可以根据输入的文本字符串找到源代码、函数、声明、定义和正则表达式。
pycscope
http://pypi.python.org/pypi/pycscope/
这个工具可以生成 Python 源代码树的 cscope 索引。
ctags 和 exuberant ctags
http://ctags.sourceforge.net/ctags.html
维基百科链接: http://en.wikipedia.org/wiki/Ctags
Ctags 是一个程序,可以生成一个索引(或标签)文件,里面包含各种编程语言的源文件和头文件中的名称。根据不同的语言,函数、变量、类成员、宏等都可以被索引。这些标签可以帮助文本编辑器或其他工具快速找到定义。
Eclipse:
维基百科链接: http://en.wikipedia.org/wiki/Eclipse_%28software%29
Eclipse 是一个多语言的软件开发平台,包含一个集成开发环境(IDE)和一个插件系统,可以扩展其功能。它主要用 Java 编写,可以用来开发 Java 应用程序,也可以通过各种插件开发其他语言的应用,比如 C、C++、COBOL、Python、Perl、PHP 等。
PyDev
PyDev 是一个插件,使用户能够在 Eclipse 中进行 Python 和 Jython 开发,让 Eclipse 成为一个一流的 Python IDE。
Komodo Edit
http://www.activestate.com/komodo_edit/
维基百科链接: http://en.wikipedia.org/wiki/ActiveState_Komodo
Komodo Edit 是一个免费的文本编辑器,适用于动态编程语言,首次推出于 2007 年 1 月。4.3 版本开始,Komodo Edit 基于 Open Komodo 项目开发。
它是为需要多语言编辑器的程序员设计的,功能广泛,但不包括 IDE 的一些特性,比如调试、DOM 查看器、交互式 shell 和源代码控制集成。
Prashanth 的调用图(可视化)工具
我想分享一个我很久以前找到的有趣小脚本,它可以绘制函数调用的图。这个工具只适用于简单的情况,所以就这样用的话,更多是好玩而不是实用。
rope/ropemacs
http://rope.sourceforge.net/ropemacs.html
Ropemacs 是一个插件,用于在 emacs 中进行 Python 重构。它使用 rope 库和 pymacs。
http://www.enigmacurry.com/2008/05/09/emacs-as-a-powerful-python-ide/
Wing IDE
Wing IDE 提供了跳转到定义、查找使用、源代码浏览器、重构和其他代码智能功能,应该能帮助你理解代码。理解不熟悉的 Python 代码的另一个好方法是设置一个断点,在调试器中运行到这个断点,然后上下查看调用栈。在 Wing Professional 中,你还可以使用调试探针与调试运行时状态进行交互,尝试一些操作(这实际上是一个在当前调试栈帧上下文中运行的 Python shell)。