如何在Emacs中自动允许执行来自HLS的代码操作?
解决Emacs Eglot连接HLS时需手动确认代码操作的问题
你可以通过修改Eglot的配置变量实现自动确认并应用代码操作,无需每次手动弹窗确认:
全局生效(所有语言服务器):在你的Emacs配置文件(如
init.el或~/.emacs.d/init.el)中添加以下代码:(setq eglot-confirm-server-initiated-edits nil)这个变量控制是否需要确认由语言服务器发起的编辑操作,设为
nil后会自动应用所有服务器提出的代码操作。仅针对HLS生效:如果只想让Haskell语言服务器自动确认操作,其他语言保持默认询问,可以添加局部变量配置:
(add-hook 'haskell-mode-hook (lambda () (setq-local eglot-confirm-server-initiated-edits nil)))
添加配置后重启Emacs,或者执行M-x eval-buffer加载配置,之后通过Eglot调用HLS的代码操作就会自动应用,不再弹出确认窗口。
内容的提问来源于stack exchange,提问作者MrO
相关产品推荐
相关产品推荐

