doom emacs 补全没有centaur emacs完善


#1

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

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


#2

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


#3

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


#4

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


#5

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


#6

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


#7

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

Doom develop v2.0.9


#8

打开 py 文件提示:

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

这是什么情况?何解?


#9

老哥你 refresh没有呀


#10

确定做过 refresh 了。


#11

抄加魔改就完事


#12

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


#13

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


#14

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


#15

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


#16

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


#17

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


#18

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


#19

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

脑壳疼!


#20

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