使用 jedi-vim 自动完成 blender 脚本

Autocomplete blender script using jedi-vim

我最近将 jedi-vim 添加到我的插件库中。它适用于标准模块,但无法找到 bpy 和 bmesh 东西。

所以在搅拌机控制台中,我获取了 print(sys.path) 的输出并将其添加到 .lvimrc 文件中的 vim 脚本函数,如下所示:

function BpyPath()
    python sys.path.append('/home/john/src/blender-2.77-linux-glibcl211-x86_64/2.77/python/lib/python3.5')
    ...
endfunction

现在效果更好了。输入 bpy. 给我:

但是输入 bpy.context. 仍然给我:-- Omni completion (^O^N^P) Pattern not found

版本:

我不是非常高级的 python 或 vim 用户,因此非常感谢您的帮助。

我刚刚意识到希望不大,因为您已经在与编译的 (C/C++) 模块对话。

如果dir(bpy.context)(在Python shell中)没有给你你想要的补全,Jedi 也将无法推断出这些信息。如果 dir 给你一些合理的东西,只需在 Jedi 问题跟踪器中创建一个问题。这将是一个错误,IMO。

我正在为 Jedi 计划一个插件系统,以便在此类用例中也可以使用 Jedi。但这可能需要两年时间。

这常常让人抓狂。 Blender 的 bpy 模块是从 Blender 中的源代码创建的编译模块。该模块的二进制文件合并到 blender 的二进制文件中,并且在 blender 内的 python 解释器之外不可用。

可以自己编译 blender 并启用构建 blender as a python module 的选项,您可以将其导入任何 python 解释器,并且可能是您正在寻找的解决方案。

中,您还可以找到一些指向其他答案的链接,这些链接包含使用 eclipse 的技巧,pycharm 和 blender 可能会有一些帮助。

Blender Python 文本编辑器,IDE 有这个新工具 Bacutor,有 intellisensesyntax Highlight 等等

http://bacutor.freeiz.com