doom emacs环境,本地lsp-bridge正常使用,尝试使用open-remote-file得到以下错误 “apply: Opening input file: No such file or directory, /Users/xxxx/.emacs.d/.local/cache/lsp-bridge/remote_file/ip.txt”
才陪客户喝完酒, 脑袋是懵逼的, 手指是清醒的, 看着报错盲修了一个补丁, 你更新看看咋样? 不行就给我 github issue报一个bug吧, 明天清醒肯定修得好。
doomemacs的配置能贴一下吗,我这边lsp-bridge无法配置成功
报一个 bug,使用 lsp-bridge 开发 Verilog-mode 如果使用 verilog-indent-buffer
命令时,lsp-bridge 线程的内存会快速增长,同时也卡住 Emacs。
.doom.d/package.el 可能就在本线程抄的
(package! lsp-bridge
:recipe (:host github :repo "manateelazycat/lsp-bridge"
:files ("*")))
(package! acm :recipe (:host github :repo "manateelazycat/lsp-bridge" :files ("acm")))
;; 如果没有上面这一行,安装 acm-terminal 的时候 doom sync 会报错,提示找不到 acm 这个包,不装 acm-terminal 不$
(package! popon)
(package! acm-terminal :recipe (:host github :repo "twlz0ne/acm-terminal"))
在.doom.d/config.el 我还在使用treesitter
(use-package! lsp-bridge
:hook
(python-base-mode . lsp-bridge-mode)
(c++-mode . lsp-bridge-mode)
(c++-ts-mode . lsp-bridge-mode)
(rustic-mode . lsp-bridge-mode)
(go-mode . lsp-bridge-mode)
(go-ts-mode . lsp-bridge-mode)
:init
(setq acm-enable-citre t)
:config
(set-lookup-handlers! 'rustic-mode :async t
:definition #'lsp-bridge-find-def
:implementations #'lsp-bridge-find-impl
:references #'lsp-bridge-find-references)
(set-lookup-handlers! 'go-mode :async t
:definition #'lsp-bridge-find-def
:implementations #'lsp-bridge-find-impl
:references #'lsp-bridge-find-references)
(evil-set-initial-state 'lsp-bridge-ref-mode 'insert))
没有关闭company mode的配置吗?
不知道,没试过哈
你再更新到 https://github.com/manateelazycat/lsp-bridge/commit/9df2ea76121e5478b26f5d67dea3e11a35443f5c 试试吧。
emacs升级到29以后 想往jdtls里加入lombok
依赖 但是jdtls
启动参数有点问题
lsp-bridge
buffer里 comand
好像没打印出来
而且.cache
目录下也没创建lsp-bridge-jdtls
目录
有debug选项的,你看一下readme的底部
command
里只运行了jdtls 没加参数
找到问题了,java-mode
里的hook
没执行,造成了用户自定义配置没拿到,获取的是langserver里的默认配置,所以无参数启动了jdtls
最后解决办法:因为使用了use-package
按需加载,需要在:init
里 (require 'lsp-bridge-jdtls)
把hook提前加上去 打开java-mode
时候就正常了
我是不是可以这么理解, jdtls可以直接连用,安装了lsp-java,之后 现在又了lsp-bridge,jdtls,需要在电脑上单独启动,然后让lsp-bridge去调用是吧 这样的话,lsp-java是不是就是可以不用安装了
lsp-java不用安装了,只用安装jdtls。不用手动启动jdtls,直接通过lsp-bridge去启动jdtls,然后就可以正常使用了
好的,我可以看一下你的 lsp-bridge 的相关配置吗,配置jdtls的路径啥的和 java-mode-hook 啥的
可以参考下 基本都是手册里的配置 加了个lombok
以前用pyright正常,就是是感觉内存消耗有点大。想尝试把python的lsp从pyright切换到pylsp,失败,想了解下原因。现象如下:
0、git pull更新lsp-bridge到最新版,python端通过pip安装python-lsp-server
(pip install python-lsp-server
),看python-lsp-server官网,顺带安装了pylint、yapf (pip install pylint yapf
),然后在cmd窗口试了一下pylsp -h
运行正常。
1、在emacs配置文件中,增加一行
(setq lsp-bridge-python-lsp-server "pylsp") ; 默认"pyright"
2、emacs打开python文件,报错
[LSP-Bridge] Error: can’t find command ’ruff’ to start LSP server ruff (xxx.py)
3、搜了下报错,想着可能还要安装lsp的插件,通过pip安装了python-lsp-ruff,它在python的scripts目录下安装了ruff.exe,目录已在PATH环境变量中,再把langserver下ruff中command相应改成"ruff"(原值是"ruff-lsp"),在cmd窗口试了一下ruff -h
运行正常。
4、emacs重启,再次打开python文件,lsp-bridge启动了,但启动的lsp又是pyright!!!查看了变量lsp-bridge-python-lsp-server
,值是"pylsp"。不理解了。
5、尝试了重启系统,把ruff重命名屏蔽掉,但还是要么报错找不到ruff,要么启动的是pyright,pylsp为啥启动不了?
环境:Windows 10 64位,原生GNU Emacs 28.2,Python 3.10 64位。
lsp-bridge-python-lsp-server 不要改,默认会混合pyright和ruff两个服务器。
我就是想尝试切换到pylsp呢,不要pyright,怎么设置?
如果确实不支持,我还是老老实实换回去继续pyright。
应该是 lsp-bridge-python-multi-lsp-server 的优先级大于 lsp-bridge-python-lsp-server
如果你只想用 pylsp , 可以把 lsp-bridge-python-multi-lsp-server 从 lsp-bridge-multi-lang-server-mode-list 中去掉以后, 再定制 lsp-bridge-python-lsp-server 就好了。
但是强烈推荐你参照 pyright-background-analysis_ruff.json 写一个结合 pylsp 和 ruff 的混合服务器配置, 因为 ruff 诊断的速度要比其他 python lsp server 都要快。