求助大神!emacs27.2,lsp-mode 7.0.1,default 配置,lsp-ui 7.0.1,flymake作为backend,能够检测出语法错误,并且高亮出错代码位置,但是光标移动到代码上并不能自动在sideline显示诊断信息。使用flymake-goto-next-error 或者 show-diagnostics-buffer 能正常显示诊断信息。不知道哪个地方没配置对,其实也没配置任何东西。
补充一下,是在js-mode下面。用的推荐的typescript-language-server
头像好评~ 你看看这个链接(关于lsp的一些feature如何关闭和打开)有帮助么?
多谢回复!
我打开了所有能打开的,还是不显示… 举个栗子, 错误是有提示的,比如图中的function给下划线标出来了。但是光标移动上去之后,sideline不显示任何东西。modeline里面显示的内容是通过“flymake-goto-next-error" 显示出来的。
这是我配置。以前我记得用flycheck的时候好好的。
(use-package lsp-mode
:ensure t
:defer t
:commands (lsp lsp-deferred)
:hook
(js-mode . lsp-deferred)
:init
(setq lsp-session-file "~/.emacs.d/.local/etc/lsp-session")
(setq lsp-auto-guess-root t)
(setq lsp-idle-delay 1.0)
(setq lsp-enable-symbol-highlighting nil))
;; (setq lsp-log-io t)) ;; logging gopls
(use-package lsp-ui
:ensure t
:defer t
:command lsp-ui-mode)
找到原因了, 应该是lsp-ui 不支持 built-in flymake ,换成flycheck 后就能显示了。下面是我的配置,仅供朋友们参考。
(use-package lsp-ui
:ensure t
:defer t
:commands lsp-ui-mode
:config
(setq lsp-ui-sideline-diagnostic-max-lines 10) ;; 默认最大行数是1,长的信息会显示不全。
(setq lsp-ui-sideline-delay 0.5))
2 个赞