You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何彻底移除ZLS的自动格式化与自动修复(基于Nvim Kickstart)

解决ZLS保存时压缩结构体为单行的问题

关键问题定位

你修改的enable_autofix配置和代码格式化无关,该选项用于自动修复代码错误(比如未使用变量、语法修正),不控制结构体的格式化样式。真正控制结构体是否被压缩的是ZLS的格式化相关配置项。

ZLS层面的解决方案

1. 找到ZLS生效的配置文件路径

打开终端执行以下命令,查看当前ZLS读取的配置文件位置:

zls --show-config-path

Windows下通常路径为%APPDATA%\zls\config.json,如果该文件不存在,手动创建即可。

2. 修改配置文件中的格式化选项

在config.json中添加或修改formatting字段,根据需求选择配置:

  • 如果你想彻底关闭ZLS自动格式化:
{
  "format_on_save": false
}
  • 如果你想保留格式化但禁止结构体被压缩为单行:
{
  "formatting": {
    "compact_structs": false,
    "struct_braces_on_new_line": true
  }
}

其中compact_structs设为false是禁用结构体压缩的核心配置,struct_braces_on_new_line设为true可确保结构体左大括号单独占一行,保持排版一致。

3. 重启生效

修改配置后,关闭并重新打开编辑器,或重启ZLS服务,确保配置生效。

补充:修正你的Nvim配置错误

你之前的Nvim配置中,ZLS的settings使用Lua节点是错误的,正确的配置节点应为zls(若已通过ZLS全局配置解决问题,可忽略此部分):

zls = {
  cmd = { 'C:/zig/lsp/1.12.0/zig-out/bin/zls.exe' },
  settings = {
    zls = {
      format_on_save = false,
      formatting = {
        compact_structs = false,
      },
    },
  },
},

内容的提问来源于stack exchange,提问作者varikoz272

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 08:34:55