Vim Python 全方位补全无法在系统模块上工作

发布于 2024-08-09 05:37:49 字数 404 浏览 10 评论 0原文

我注意到即使对于系统模块,代码完成也不能很好地工作。

例如,如果我有一个简单的文件:

import re
p = re.compile(pattern)
m = p.search(line)

如果我输入 p.,我不会完成我期望看到的方法(例如,我没有看到 search(),但我确实看到了其他方法,例如 func_closure()、func_code())。

如果我输入 m.,我不会得到任何完成(在本例中我期望 .groups())。

这似乎并不影响所有模块。有没有人见过这种行为并知道如何纠正它?

我在 WinXP 上运行 Vim 7.2,使用来自 vim.org (0.9) 的最新 pythoncomplete.vim,运行 python 2.6.2。

I'm noticing that even for system modules, code completion doesn't work too well.

For example, if I have a simple file that does:

import re
p = re.compile(pattern)
m = p.search(line)

If I type p., I don't get completion for methods I'd expect to see (I don't see search() for example, but I do see others, such as func_closure(), func_code()).

If I type m., I don't get any completion what so ever (I'd expect .groups(), in this case).

This doesn't seem to affect all modules.. Has any one seen this behaviour and knows how to correct it?

I'm running Vim 7.2 on WinXP, with the latest pythoncomplete.vim from vim.org (0.9), running python 2.6.2.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

峩卟喜欢 2024-08-16 05:37:49

完成这类事情是很棘手的,因为它需要执行实际的代码才能工作。

例如,p.search() 可以返回 None 或 MatchObject,具体取决于传递给它的数据。

这就是为什么全能补全在这里不起作用,而且可能永远不会起作用。它适用于可以静态确定的事物,例如模块的内容。

Completion for this kind of things is tricky, because it would need to execute the actual code to work.

For example p.search() could return None or a MatchObject, depending on the data that is passed to it.

This is why omni-completion does not work here, and probably never will. It works for things that can be statically determined, for example a module's contents.

掐死时间 2024-08-16 05:37:49

我从来没有让内置的omnicomplete 适用于任何语言。我在 pysmell 方面取得了最大的成功(最近似乎在 < a href="http://github.com/orestis/pysmell" rel="nofollow noreferrer">github 比官方仓库中的要多)。我仍然没有发现它足够可靠,无法持续使用,但我不记得确切的原因。

我已经为我的主要库构建了一组广泛的 snipMate 代码片段并使用默认值制表符补全来补充。

I never got the builtin omnicomplete to work for any languages. I had the most success with pysmell (which seems to have been updated slightly more recently on github than in the official repo). I still didn't find it to be reliable enough to use consistently but I can't remember exactly why.

I've resorted to building an extensive set of snipMate snippets for my primary libraries and using the default tab completion to supplement.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文