可以设置cache吗?
我记得 lsp-python-ms 配合 doom-modeline ,在索引会有提示,在 doom-modeline 还有个进度条。
目前忙测的结果是,目录大了 mspyls 就不工作了,还没有研究是目录大了没索引完还是直接不索引了?
研究了下 lsp-python-ms, 发现 initializationOptions 里面加上 :analysisUpdates t, 会返回索引的进度。
回复类似
(:jsonrpc "2.0" :method "python/reportProgress" :params
["Analyzing in background, 86 items left..."])
server-notification Mon Mar 30 23:11:24 2020:
(:jsonrpc "2.0" :method "python/reportProgress" :params
["Analyzing in background, 72 items left..."])
server-notification Mon Mar 30 23:11:24 2020:
(:jsonrpc "2.0" :method "python/reportProgress" :params
["Analyzing in background, 58 items left..."])
server-notification Mon Mar 30 23:11:25 2020:
(:jsonrpc "2.0" :method "python/reportProgress" :params
["Analyzing in background, 39 items left..."])
server-notification Mon Mar 30 23:11:25 2020:
(:jsonrpc "2.0" :method "python/reportProgress" :params
["Analyzing in background, 37 items left..."])
已经添加到Nox对mspyls的支持,方便大文件的时候看一下进度,要不还以为mspyls挂了。
测试结果是目录和文件太多,索引很慢很慢………
是 spinner,在索引时会显示。*lsp-log*
里会打印详细信息。
你是mac吗?
mscOS Catalina
感觉好看,能介绍一下用了什么ui方面的包么?
目前在Mac catalina 下使用nox+lsp-python-ms体验很好,很流畅。
今天在Win10 上用,nox 好像还得其他针对windows的配置、不然会造成emacs冻结。
欢迎发送补丁
我在 windows 10 上用过一段事件,暂时没发现问题。
就老王的官方配置,只是设置了下 nox-python-path 和 nox-python-server-dir 不过我发现win10 下面 mspyls 容易占用比较高的内存。你看是不是这个问题。 话说我看到你写的使用 nox + lsp-python-ms? 是写错了吧,应该是 nox + mspyls 吧。
多谢指正。是mspyls,我还以為lsp-python-ms 就是全称。原来这个是配合lsp-mode用的,很容易搞混。
有没有win10 下 emacs 27 的配置?我的设置后完全没有反映: 但lsp-log显示已经加载了呀:
(use-package lsp-python-ms
:init
(setq python-shell-interpreter "e:/anaconda3/Scripts/ipython.exe")
(setq python-shell-exec-path "e:/anaconda3/python.exe")
:defer t
:demand
; :ensure nil
:hook (python-mode . lsp)
:config
(setq lsp-python-ms-dir
(expand-file-name "E:/gitrep/python-language-server/output/bin/Debug"))
(setq lsp-python-ms-executable
"E:/gitrep/python-language-server/output/bin/Debug/Microsoft.Python.LanguageServer.exe"))
加载显示:
Command "pyls" is present on the path.
Command "pyls" is present on the path.
Found the following clients for e:/gitrep/xxx/xxx.py: (server-id pyls, priority -1), (server-id mspyls, priority 1)
The following clients were selected based on priority: (server-id mspyls, priority 1)
此后蹦出一个莫名的json错误:
File mode specification error: (json-readtable-error 80)
是不是编译成debug的不行啊?