golangci-lint run --print-config可输出最终合并生效的完整yaml配置,涵盖run、linters、linters-settings等全部字段,是确认实际执行配置的唯一权威方式。

想确认当前项目里 golangci-lint 实际读取并执行的是哪套配置,避免因路径查找顺序、环境变量或命令行参数干扰导致规则未按预期启用。
用 --print-config 查看最终合并后的完整配置
在项目根目录下运行:golangci-lint run --print-config。
该命令不执行实际检查,只输出 golangci-lint 经过所有层级(命令行参数、环境变量、多级配置文件向上查找、默认值)合并后最终生效的完整 YAML 配置。
输出内容包含 run、linters、linters-settings、output 等全部已解析字段,是判断“它到底听谁的”的唯一权威依据。
确认配置文件是否被正确加载
方法一:检查配置文件是否存在且路径正确
golangci-lint 默认按顺序向上查找以下文件(遇到第一个即停止):.golangci.yml → .golangci.yaml → .golangci.toml → .golangci.json。确保你编辑的文件名拼写完全一致,【.golangci.yml 中的 yml 是小写,不是 YML 或 yaml】。
方法二:显式指定配置路径验证
运行 golangci-lint run -c ./path/to/your/.golangci.yml --print-config,若输出与之前不同,说明原先未命中该文件。
排查配置未生效的常见路径
第一步:确认当前工作目录是项目根目录,且该目录下存在配置文件
第二步:运行 golangci-lint help config 查看官方文档中关于配置加载逻辑的说明
第三步:执行 golangci-lint run --debug,观察控制台输出的 “Config search” 日志行,它会明确打印出“Found config file at: …”或“Used config: default”
第四步:若使用 IDE(如 GoLand),检查是否启用了“使用配置”复选框,并确认输入框中填写的路径指向真实存在的文件——【IDE 中填错路径不会报错,而是静默回退到默认配置】
golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!











