请教 :关于Python代码的自动补全

ChongQingJin28 2013-05-08 04:27:17

我所知道的python编辑器有Pydev、Pycharm、Sublime、Eric。还有就是Vim、Emacs(听说VS也行)。

Pydev用过一段时间(半个月左右)。Pycharm用的时间不超过2天(30天试用版)。
Sublime不超过8小时,Eric还没有下载过。
Vim没有超过4小时,Emacs用了快半年了(用来写Python也就1个月左右)

由于我对其他的编辑器用的不熟练,所以想和大家讨论一下关于自动补全的问题
每种编辑器里面的补全都有什么功能,有什么需要改进的地方

我只是知道Emacs的自动补全,所以只能在这里先说一下Emacs的补全方法及功能
功能有 :1.查看函数的参数 2.对函数参数的补全 3.查看函数或类的doc 4.函数或类doc的利用

1.查看函数的参数。 pydev中是和doc一起的,好像并不能单独显示参数。
2.对函数参数的补全。好像我的pydev版本不够新(pydev2.5),或许是我不会用。我没有找到怎么弄。
3.查看函数或类的doc。 应该都有的吧!
4.函数或类doc的利用。同上。

在我的资源中有图片(我实在是上传不上来 ,如果觉得有意思 ,可以看看)

图片 1—4 实现了 1、2中的查看参数及参数的补全

图片 5 在参数自动补全之后,可以快速的删除补全的参数(有些参数是不需要的)

图片 6—7 实现了3、4中查看doc并将其加以利用

图片 8 Emacs中补全功能的不足之处


(说明 :以上的补全方法是用python的Jedi包的(当然也需要有Emacs的el文件)。
而且其中的 2.对函数参数的补全 、 4.函数或类doc的利用 、图片 5 补全参数的快速删除,都是我自己写的Elisp代码。
Jedi本身是没有这些功能的 !以后我会放到github上面(等我把图片 8 中的问题解决之后))
...全文
4625 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jlzxxxxx 2013-12-02
  • 打赏
  • 举报
回复
请问下 emacs里面跳转到函数的定义,搜索函数的所有引用位置, 这种功能是用的什么emacs插件?
乔巴好萌 2013-05-10
  • 打赏
  • 举报
回复
另外 你都开始自己写elisp了 就可以放下其他的编辑器了吧
乔巴好萌 2013-05-10
  • 打赏
  • 举报
回复
emacs你是装的插件了吧 emacs本身是无法自动补全的 补全目前来看 还是pycharm比较好 其他的如eric pydev 感觉不如pycharm强大 其实 在pycharm里面可以把键位映射改成emacs的
ChongQingJin28 2013-05-10
  • 打赏
  • 举报
回复
我发好了 如果有愿意看的请去 https://github.com/zhouchongzxc
ChongQingJin28 2013-05-10
  • 打赏
  • 举报
回复
pycharm对于if elif应该是可以折叠的吧
ChongQingJin28 2013-05-10
  • 打赏
  • 举报
回复
引用 7 楼 openXMPP 的回复:
ps: 在pycharm里按住ctrl+鼠标左键 是可以直接跳转到定义的 这个我觉得很方便 emacs貌似都是要再手动search一下
跳到定义嘛,Emacs用Alt+g。 不用点鼠标的。 还可以用Alt+空格。还可以用F6。 不仅仅可以跳转到函数的定义,还可以用 Alt+n 搜索函数的用法(这个我觉得比定义有用吧) (你按一次他搜索一次 可不是一下搜索全部,他能够记住顺序的。 根据你import的包搜索的,对于查看一个函数是如何被使用非常有帮助。对于了解框架原理同样有帮助) 不仅仅可以搜索函数的用法,在搜索到之后 可以用Alt+b 复制他所处的语句到当前的文件内 (可以用空白行来做为段落的分隔,还可以用根据缩进判断所处的段落) (这个我觉得比搜索用法还有用,你好像用不着复制、粘贴) pycharm也能做到吗?
乔巴好萌 2013-05-10
  • 打赏
  • 举报
回复
不过每个人对事物的认知程度是不同的 我也曾努力费劲的配置过emacs 但可能水平不够吧 elisp也只会一点皮毛 所以还没完全享受到emacs带给我的乐趣 如果lz真觉得emacs比pycharm顺手的话 那就还是上emacs吧 ps: 在pycharm里按住ctrl+鼠标左键 是可以直接跳转到定义的 这个我觉得很方便 emacs貌似都是要再手动search一下
乔巴好萌 2013-05-10
  • 打赏
  • 举报
回复
语法高亮和自动补全 真没觉得emacs多有优势
无论是text property还是其他的关注的属性

我觉得emacs可能强于pycharm点在于
pycharm必须有图形界面
没法用ssh启动
而emacs+overlay的自动补全 是可以用ssh做远程编辑的

ChongQingJin28 2013-05-10
  • 打赏
  • 举报
回复
ChongQingJin28 2013-05-10
  • 打赏
  • 举报
回复
引用 3 楼 openXMPP 的回复:
另外 你都开始自己写elisp了 就可以放下其他的编辑器了吧
首先谢谢楼上的回复 我只是想知道pycharm到底好在哪里。我想让Emacs跟他一样好。 另外关于快捷键的映射功能,我不知道pycharm是否也有text property。 text property的作用是能够让 “this is this is this” 这其中的三个“this”有完全不同的快捷键 (他并不是根据this所处的位置,而是他本身的text property) 我又加上了点别的功能 1.解决上面提到的sys.path没有doc的问题 2.还可以让他从中间开始匹配了。 (都是很小的改动。其中的第2个问题,在csdn上我发第一个帖子的时候就有那个想法了,只是到了现在才实现) (关于我用的编辑器 除了用pythonxy自带的Scite打开一些零散的文件之外,就只有Emacs了) (自从用了Emacs,就再也不用Eclipse了(当你给Eclipse写过插件之后你才会明白Emacs的好)) (现在可以发到github上面了。搜索我的名字(全部用拼音)应该能找到的吧!(我不知道 第一次传))
ChongQingJin28 2013-05-08
  • 打赏
  • 举报
回复
发帖不能传图片 回帖倒是可以。图片的顺序应该是 87654321(我猜的)





37,742

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧