如何在VSCode中实现Clojure文件保存时自动格式化?
解决VSCode中Calva插件自动格式化Clojure文件失效的问题
开启自动保存格式化的核心配置
打开VSCode设置(快捷键Ctrl+,/Cmd+,):- 搜索
editor.formatOnSave,确保全局勾选,同时搜索[clojure] editor.formatOnSave,确认Clojure语言专属的该选项也为true - 搜索
calva.formatting.formatOnSave,将其设置为true
- 搜索
确认Calva格式化引擎配置
Calva默认用cljfmt做格式化工具:- 搜索
calva.formatting.preset,选择"basic"或"community"预设,避免自定义配置冲突 - 若需要自定义规则,在项目根目录创建
.cljfmt.edn,示例基础配置:{:indentation? true :remove-surrounding-whitespace? true :remove-trailing-whitespace? true :insert-missing-whitespace? true}
- 搜索
重置Calva服务
打开命令面板(Ctrl+Shift+P/Cmd+Shift+P),执行Calva: Restart Calva and Jack-in,重启Calva服务后再测试保存格式化指定Calva为Clojure默认格式化器
- 在.clj文件中右键选择「使用...格式化文档」,选择
Calva并设为默认 - 也可以在设置中搜索
editor.defaultFormatter,将Clojure对应的格式化器设为BetterThanTomorrow.calva
- 在.clj文件中右键选择「使用...格式化文档」,选择
按上述步骤配置后,你的代码保存后应该会自动格式化为:
(let [a :b] (str "foo" "bar" "baz" "a" a))
内容的提问来源于stack exchange,提问作者bugsyb
相关产品推荐
相关产品推荐

