大家是什么情况?感觉每次启动都要等好一阵 cpu 持续 90% 以上,启动以后内存占用挺高。
操作系统:linux mint (Ubuntu 18.04) emacs 26.3 lsp:mspyls
大家是什么情况?感觉每次启动都要等好一阵 cpu 持续 90% 以上,启动以后内存占用挺高。
操作系统:linux mint (Ubuntu 18.04) emacs 26.3 lsp:mspyls
打开 lsp log 看一下,是不是在扫描 ~
目录。
没错,是在扫描,扫描完就好了,但是内存占用还是高。每次打开项目都要扫描这么久吗?好像 vscode 上会快一些。
lsp-mode定义了一个workspace root, 工作时会扫描这个文件夹。运行lsp-workspace-folders-remove命令去除~目录就可以了!
我司的repo里有python和c++,都用bazel build and test。因为bazel会在root生成一些symlink,感觉msplys并没有把它们ignore掉,即使把那些symlink加到lsp-ignore-paths(大概这个名字)里,还是会去index。
可能你的repo也有类似的情况。我之前的解决方案是把自己工作的子目录变成project root。后面换到pyls了。。。
稍微有点麻烦,而且我不太希望把 sub directory 当做 project root,因为我有时会同时打开几个项目,不想把自己搞晕。
启动时间倒还好,但是内存占用真的有点高了,开几个项目的时候 16G 内存分分钟被占满。pyls 好一些是吗?速度和资源占用不能两全?请 @seagle0128 聊一下看法?
vscode 不知道会不会有这些问题,我猜应该是一样的?
把 ~
加入 lsp-session-folders-blacklist
试试。
貌似没有这个变量
lsp-session-folders-blacklist
是一个方法,返回的是 lsp-session
的 folders-blacklist
字段:
(lsp-session-folders-blacklist (lsp-session))
;; => ("/Users/..." ...)
原来是这样!我还以为是变量
我试一下
看我退出 emacs 和退出之前比内存占用猛跌(中间蓝色的是内存)
10G 的内存占用,谁能想到 emacs 能比 pycharm 还占资源
不知道你的项目有多大。如 @twlz0ne 所说, 不需要的 folder可以排除掉。理论上讲,设置相同的情况VSC 的内存占用应该没有区别。准确的说,这都是 server 占用的,跟编辑器本身无关。关于 pyls,我的使用经验看会占用更多的内存并且更慢。mypyls 是用 C#实现的,并发性能会好很多;pyls 是 Python 实现的,兼容性不错,性能就差多了。
同意是 server 造成的,但是对于把 emacs 当 IDE 的人来说,不会管那么多,直观就是 emacs 作为 IDE 来使用可能比 pycharm 更吃资源。
vscode python plugin默认用的不是mspyls,得disable jedi,然后才会用mspyls,其实感觉mspyls还处于测试阶段,还有很多bug
准备滚回 anaconda-mode 了,暂时没看到用 mspyls/pyls 有什么明显的收益
anaconda-mode也是用的jedi,跟Plys一样,区别不大
mspyls每次打开文件都卡几卡,而pyls每次编辑文件隔一会都卡几卡。
所以,你必须在这两种卡之中做出选择。。