lsp-use-native-json enable 经常陷入卡顿
(setq lsp-use-native-json nil) 有时卡顿
放弃gui,转入tty,如丝般顺滑
lsp-use-native-json enable 经常陷入卡顿
(setq lsp-use-native-json nil) 有时卡顿
放弃gui,转入tty,如丝般顺滑
这个问题我也折腾了挺长时间了,最近找到一种解决方案。
首先,我遇到的第一个问题是用lsp-pyls时,在python文件中的注释中输入时会很卡,经常连着卡好几秒,后来从高人处学会用company-diag查看company上一次的补全状态,发现在注释中键入时company会用company-capf进行补全,把company-capf从company-backends中删去就可以解决。不过好像这个问题只有我遇到了…
第二,就是补全很慢的问题。我用company-lsp和company-jedi分别测试,前者补全np.需要三四秒,并且从np.''到
np.arr’'中间每次键入字母(a, r, r)都会造成emacs短暂卡顿,体验较差;而company-jedi,在np.处弹出补全列表只用了0.5秒,并且之后键入字母时毫无卡顿,体验极好。(如果你用company-jedi补全慢,可以试试把/Users/XXX/Library/Caches/Jedi/中的缓存清空一遍,可能是因为之前积累的缓存太多导致jedi变慢,实际上jedi是很快的。
综上,配置可以这样写。除了补全用jedi外,lsp-pyls的其它功能都可用。
(use-package lsp-mode
:ensure t
:ensure company-jedi
:commands lsp
:hook (python-mode . (lambda ()
(lsp)
(setq-local company-backends '(company-jedi company-files))
))
)
啊?tty的神秘力量 233333
可能是有些影响性能的package在tty下没能执行,一开始我就试过在terminal或是emacs -q + lsp最小依赖,发现还是会有掉帧卡顿的现象,后来有次心血来潮登录tty去跑,发现同样的lsp-server在tty下居然如此流畅
这个问题不是你一个人,我也遇到了 。然后发现 company-backends
里有两个 company-lsp
,删掉一个就好了……(当然也可能是因为换成了ms-pyls)
更新:我也把capf禁了…
补全os, sys都很快, numpy稍慢, tensorflow慢得实在受不了…
我试过 lsp-use-native-json
和company-capf
, 发现没什么效果. 大家有什么好办法吗?
建议还是先anaconda-mode用着,lsp-mode 现阶段还是太磨人