doom emacs 补全没有centaur emacs完善

centaur emacs可以把text识别成property(text源码里是用的@property)

但是doom emacs 不管开不开启lsp,都只是识别成函数,这是因为centaur emacs使用了微软的lsp嘛?

解决了,doom emacs 也提供了安装ms lisp python 的command,安装即可

上个完整的解决方法,让大家都看看啊 :rofl:

哈,我这里说了呀,直接M-x 就有安装的函数,执行就行了

咱好像用的不是一个Doom :joy:

他延迟加载的,你先在init.el里面启用lsp和对应语言比如python +lsp,然后打开python文件,就有这个了

我这边还是没有这个函数啊 :upside_down_face:

Doom develop v2.0.9

打开 py 文件提示:

LSP :: example01.py not in project or it is blacklisted.

这是什么情况?何解?

老哥你 refresh没有呀

确定做过 refresh 了。

抄加魔改就完事

当然 doom re 过了,一天不来几遍就浑身难受 :grin:

给你分析一下: 首先可能是init.el 中 (python +lsp)这个flag没有打开 其次,你要找的这个函数lsp-python-ms-setup不是doom定义的,是lsp-python-ms这个package自己的,你只需要require这个package就可以找到这个函数

lsp-python-ms就是这效果了,这是目前 Python 最好的解决方案。

不过用这个有个问题,就是我在org 文件里插入代码(C-c ')时,没有lsp的补全,lsp应该是检测到打开python文件才会启用,这个咋解决呀?

可以的,在org文件目录下增加.projectile文件,lsp就起作用了

lsp-python-ms 对于 virtualenv 要进行一些什么配置呢,我 import 时总是找不到 package。

折腾了半天,原来是我的 jedi 版本太高了才没有自动提示。换成低版本的就可以了。

然而奇怪的是,在高版本 jedi 下 centaur 补全提示一切正常,在 doom 下就不能提示,这又是什么情况呢?

脑壳疼!

@seagle0128 mac 系统默认的 python 版本是 2.7,我也用 pyenv 安装了 python3,pyenv global 3.7.4, doom 打开 py 文件选择了 python3,可是在 seagle 里选择的是python2,这个要怎么切换呢?