控制 lsp-mode 的 codeAction 请求

(defadvice! +lsp-modeline--check-mode-actions (&rest _)
  :override #'lsp-modeline--check-code-actions
  (when (and (lsp-feature? "textDocument/codeAction")
         (flycheck-overlay-errors-at (point)))  ;; (> (length (lsp-cur-line-diagnostics)) 0) 或者按行来
    (lsp-request-async
     "textDocument/codeAction"
     (lsp--text-document-code-action-params)
     #'lsp--modeline-update-code-actions
     :mode 'unchanged
     :cancel-token :lsp-modeline-code-actions)))

找到了触发的地方,加了个当前位置是否有错误的判断,目前感觉可以满足需要,待用用看是不是有其他问题。

2 个赞