lsp/eglot与flycheck/flymake的相关问题

  1. 有办法在lsp与eglot中彻底禁用flymake吗?主要是感觉flymake速度又慢,又没有flycheck好用。试过这里的方法,似乎不行。

  2. flymake/flycheck在结合lsp/eglot使用的时候,就是感觉特别慢,不是指check得特别慢,是指反馈回来高亮特别慢。主要是我已经修复错误了,highlight出来的错误依然没有消失,要么就是我已经修复了,highlight的地方没有来得及跟着变化。不使用lsp 的话没有任何问题。flycheck-idle-change-delayflycheck-display-errors-delay这两个变量都和我平时不使用lsp/elgot时一样,都是0.1。

关键是要用延时, 看我的帖子吧: lsp-mode新接口lsp.el - #22,来自 manateelazycat

lsp 的 README 里有一个使用 flycheck 的方法

 (setq lsp-prefer-flymake nil) 

本着最小化配置的理念想尝试一下flymake, lz可以说说比起flycheck哪里觉得不爽吗

建议自己尝试好了, 新版 flymake 从 26 开始是自带的,而且 lsp 和 eglot 默认启动 flymake,所以尝试的成本很低

主要还是不太懂怎么配置… M-x flymake-mode开箱即用?

我写js用eslint,flymake会直接调用eslint吗?

这个不太清楚,我不怎么写 js,其他语言比如 bash,C, java 都是 lsp 或者 eglot 自动配置的,不需要手动配置


刚刚试了一下,如果不通过 lsp 或者 eglot 启动的话, flymake 支持的语言应该是有限的(或者需要自己配置),比如在 Elisp 下可以开箱即用,在 js, bash 下就不可以

折腾了一上午, 体验lsp和flycheck的组合拳成功了, flycheck比flymake好用太多了.

订正一下 可能是eglot没有好好配置flymake的问题, 使用lsp来配置flymake后似乎就正常使用了.

非要说的话, flycheck更开箱即用一点, 和lsp-ui的配合更加紧密一点. 我觉得flymake自己写点函数粘合一下也能达到和flycheck类似的效果. 但是我懒了.

是不是因爲cc-mode自動啓用的flymake-cc?我在mode hook裏(setq flymake-diagnostic-functions '(lsp--flymake-backend t))禁用flymake-cc

另外需要一個flymake-posframe

1 个赞