编程语言
首页 > 编程语言> > 带有vim pythoncomplete的Python文档字符串未显示我自己的类函数的换行符

带有vim pythoncomplete的Python文档字符串未显示我自己的类函数的换行符

作者:互联网

尝试在自己的类函数上使用Python Omni Completion时,出现一些意外结果.函数的文档字符串未使用换行符正确格式化,如下图所示:

当我从标准python库导入模块时,得到的结果是我期望的:

根据python docstring conventions,源文件中的换行符应解释为换行符.有谁知道这是怎么回事,也许怎么解决这个问题?

解决方法:

编辑:我写了一个自动完成,应该比pythoncomplete好得多:https://github.com/davidhalter/jedi-vim

vim的Python Omni Completion非常愚蠢.这是一个简单的脚本,用于解析当前文件并导入所有其他文件.这是非常危险的,不应该这样做.但是,它的作用并不坏(但也不是很好).

因此,这两种情况之间的真正区别在于,正在导入标准库.您的文件也是如此,但当前文件不是.如果您使用了另一个名为test2的模块并使用了:

import test
test.mydoc.prettyStr

它应该工作.

您当前的文件正在解析.解析器很简单,而且不是很好.由于以下这一行,dostring解析器特别奇怪(行号〜290):

docstr = docstr.replace('\n', ' ')

您可以修改它-只需更改此文件:
/usr/share/vim/vim73/autoload/pythoncomplete.vim也许在另一个目录中.

目前,我正在为python / vi编写更好的自动完成功能(这也是我知道这一点的原因).但这仍然是一些工作.希望我能在一个月内准备好Beta版.我会尽力让您发布.

标签:vim,autocomplete,docstring,python
来源: https://codeday.me/bug/20191201/2081504.html