emacs有可能使Python etags变得更智能一些吗?

我使用emacs工作在我的Django项目上。 在我的virtualenv“postactivate”脚本中,我有以下简单的命令:

find -L . -type f -name "*.py" | xargs etags -e > /dev/null 2>&1 &

标签文件生成得很好,但系统似乎很笨拙。 当光标是模型过滤器调用时,例如

MyModel.objects.filter(...)

我打M-,有时候emacs会把我放在MyModel文件导入的地方(实际的导入语句)。 我只想访问类,方法和函数定义。

有没有办法让etags变得更聪明?

谢谢,瑞安Kaskel


用python这样的语言获取正确的模块分析非常困难,由于他的动态特性,获取正确信息的最好方法是进行静态分析或启发式分析。

目前我发现的最好的方法是使用ropemacs扩展来探索方法,这些扩展具有代码辅助(非常智能)和calltips等强大功能。

不幸的是,要用ropemacs正确安装并不容易,你应该安装第一个pymacs,然后配置安装各种绳索库。 (我正在研究它的打包版本)

另一个可以静态分析你的python代码并生成“更智能的标签”的软件包就像pysmell,但我没有广泛使用它

链接地址: http://www.djcxy.com/p/1005.html

上一篇: Is it possible to make Python etags a bit smarter with emacs?

下一篇: Porting a project to OpenGL3