【问题标题】:Autocomplete for gtk3 and pygobjectgtk3 和 pygobject 的自动完成
【发布时间】:2014-05-14 10:32:17
【问题描述】:

我正在寻找将 gtk3 库的自动完成功能添加到 vim 的可能性。我已经尝试过 vim-jedi,因为它似乎是 vim 和 python 的最先进的自动完成机制(也推荐here),但这不适用于从 gi.repository 导入的 gtk3 东西

from gi.repository import Gtk, GdkPixbuf, Gdk, GObject

我查看了 gi.repository 站点包。在那之后,我对 jedi 无法自省 Gtk 模块的方法并不感到惊讶,因为这些模块在那里生成了很多魔法;-)

另外,像PyCharm 这样的其他“真实”IDE 也不支持以这种方式导入的模块的补全(我尝试了社区版,但我敢打赌专业版也不支持)。

有人知道如何将自动完成功能添加到 vim(首选解决方案)或其他编辑器/IDE?

GObject,Gtk 模块包含相当多的方法/类,记住你需要的一切并不容易。此外,似乎只有 gtk3 的 C api 的文档,其中方法名称并不总是与 python api 中的相同......

【问题讨论】:

  • "此外,似乎只有 gtk3 的 C api 的文档,其中方法名称并不总是与 python api 中的相同。" ——那不是真的。内省绑定是完全相同的 API,即使有诸如 Gtk.Button.new_with_text 之类的烦恼。

标签: python vim python-3.x gtk3 pygobject


【解决方案1】:

Neocomplcache/Neocomplete 能够完成自省的 GObject 库但是如果你没有针对 GTK+ 3 自己编译 Vim,这很可能会崩溃。在 Ubuntu 14.04 上,Vim 是针对 GTK+ 2 编译并尝试导入和自动完成 GTK+ 3 库将失败,因为这两个工具包不能同时运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    相关资源
    最近更新 更多