部分绝地自动完成

时间:2018-02-06 11:11:11

标签: python-3.x emacs autocomplete emacs-jedi

在开发Tryton模块时,我希望在Emacs中有自动完成功能

我正在使用的Tryton安装在Python 3.6 virtualenv中,带有pip

我正在尝试Jedi,但它只为我自己的源文件中定义的标识符提供自动完成功能。

它没有提供任何关于我为调用tryton字段而调用的方法的参数

例如,如果我写

someIdentifier = fields.Function(

它没有提供关于我可以传递给“功能”

的参数的问题

功能的签名怎么样?

也许我以错误的方式使用Jedi?

我不确定我是否了解jedi-server的用途,以及它是否应与我的tryton模块位于相同的virtualenv

我的Tryton模块的virtualenv基于Python3.6,无论如何它就像这样:

my-module/env

env包含

bin  include  lib  lib64  pip-selfcheck.json  share

当我需要工作时,我

source env/bin/activate

所以我试过

(setq jedi:environment-root "~/path/to/my/module/")

但它从零开始创建了一个新的virtualenv,基于python 2.7,散布bin,lib和我模块文件夹中的其余部分,忽略了我的env virtualenv

如何正确设置Jedi?

在我的jedi设置信息中,我看到了这个

;; Emacs Lisp version:
(:emacs-version "25.3.1" :jedi-version "0.2.7" :python-environment-version "0.0.2alpha0")
;; Python version:
((:version "2.7.14 (default, Jan 17 2018, 14:28:32) \n[GCC 7.2.1 20170915 (Red Hat 7.2.1-2)]" :name "sys" :file nil)
 (:version "0.11.1" :name "jedi" :file "/home/catonano/.emacs.d/.python-environments/default/lib/python2.7/site-packages/jedi/__init__.pyc")
 (:version "0.0.5" :name "epc" :file "/home/catonano/.emacs.d/.python-environments/default/lib/python2.7/site-packages/epc/__init__.pyc")
 (:version "0.0.3" :name "sexpdata" :file "/home/catonano/.emacs.d/.python-environments/default/lib/python2.7/site-packages/sexpdata.pyc"))
;; Command line:
...

0 个答案:

没有答案