使用Emacs CEDET完成Python的自动补全

10
在默认安装的cedet-1.0中,补全功能只能追踪当前文件中的全局作用域符号。这与内置的自动完成函数(dabbrev-expand或hippie-expand)没有太大的区别。
它既无法完成导入模块的符号,也无法完成类属性。并不是说它不能处理“self”。
是否有可能调整semantic来完成这些事情?
附注: ECB代码浏览器成功地看到了所有导入/基类和其他东西。它的符号完成工作不正确,或者没有正确设置。
1个回答

8
CEDET对每种语言的支持略有不同。在Python的情况下,CEDET 1.0版本没有配置将Python导入转换为文件名。此外,'self'类似于C++中的'this',因为它没有声明,所以需要通过完成逻辑添加。这两个功能在今年1月份被添加到了bzr存储库中。我不是Python程序员,但我记得有报告称这修复了一系列最基本的智能完成功能,使从导入库中的符号起作用。还有针对Python系统路径的新代码。
因此,我建议从bzr下载CEDET以获取这些功能,并查看它是否现在可以实现您对智能完成的期望。

1
qMax,你能否说一下你是否尝试过它,如果是的话,它对你有什么作用? - unhammer
顺便提一下,https://dev59.com/4HRB5IYBdhLWcg3wAjNH#750912 - 它的效果相当不错,只要确保使用github代码,博客文章有点过时了。 - unhammer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接