goimports-reviser:终极Go导入排序工具,让你的代码整洁如新
2026/7/28 5:12:09 网站建设 项目流程

goimports-reviser:终极Go导入排序工具,让你的代码整洁如新

【免费下载链接】goimports-reviserRight imports sorting & code formatting tool (goimports alternative)项目地址: https://gitcode.com/gh_mirrors/go/goimports-reviser

goimports-reviser是一款强大的Go语言导入排序与代码格式化工具,作为goimports的替代方案,它能将导入语句按标准库、通用库、公司内部库(可选)和项目依赖等3-4个分组进行排序,并提供代码格式化功能,让你的Go代码导入结构清晰有序。

🌟 为什么选择goimports-reviser?

在Go开发中,随着项目规模扩大,导入语句往往变得杂乱无章。goimports-reviser解决了这一痛点,它不仅能自动排序导入,还能:

  • ✨ 移除未使用的导入(-rm-unused选项)
  • 🔧 为版本化包设置别名(-set-alias选项)
  • 📝 提供额外的代码格式化功能(-format选项)
  • 🏢 支持公司内部包分组(-company-prefixes选项)

图:在JetBrains IDE中配置goimports-reviser文件监听器的界面

🚀 快速开始

安装方式

使用Go安装

go install -v github.com/incu6us/goimports-reviser/v3@latest

使用Homebrew

brew tap incu6us/homebrew-tap brew install incu6us/homebrew-tap/goimports-reviser

使用Snap

snap install goimports-reviser

基础用法

对单个文件进行处理:

goimports-reviser -rm-unused -set-alias -format ./reviser/reviser.go

对目录递归处理:

goimports-reviser -rm-unused -set-alias -format -recursive reviser

对整个项目处理:

goimports-reviser -rm-unused -set-alias -format ./...

💡 功能示例

基本导入排序

处理前

package testdata import ( "log" "github.com/incu6us/goimports-reviser/testdata/innderpkg" "bytes" "golang.org/x/exp/slices" )

处理后

package testdata import ( "bytes" "log" "golang.org/x/exp/slices" "github.com/incu6us/goimports-reviser/testdata/innderpkg" )

公司内部包分组

使用-company-prefixes选项可将公司内部包单独分组:

处理前

package testdata import ( "fmt" //fmt package "golang.org/x/exp/slices" //custom package "github.com/incu6us/goimports-reviser/pkg" //公司内部包 "goimports-reviser/pkg" )

处理后

package testdata import ( "fmt" // fmt package "golang.org/x/exp/slices" // custom package "github.com/incu6us/goimports-reviser/pkg" //公司内部包 "goimports-reviser/pkg" )

代码格式化

启用-format选项可自动调整代码格式:

处理前

package main func test(){ } func additionalTest(){ }

处理后

package main func test(){ } func additionalTest(){ }

⚙️ 高级配置

自定义导入顺序

通过-imports-order选项可自定义导入分组顺序,支持的分组包括:

  • std:标准库
  • general:通用库
  • company:公司内部库
  • project:项目依赖
  • blanked:下划线别名导入
  • dotted:点别名导入

示例:

goimports-reviser -imports-order "std,general,company,project,blanked,dotted" -format ./main.go

IDE集成

在JetBrains IDE中通过文件监听器插件配置,可实现保存文件时自动运行goimports-reviser,保持代码始终整洁。

📚 可用选项

Usage of goimports-reviser: -apply-to-generated-files 对生成文件应用排序和格式化 -company-prefixes string 公司包前缀,逗号分隔 -excludes string 排除文件或目录,如:.git/,proto/*.go -format 执行额外格式化 -imports-order string 导入分组顺序 (默认 "std,general,company,project") -list-diff 列出需要格式化的文件 -output string 输出方式:file, write或stdout (默认 "file") -project-name string 项目名称,如:github.com/incu6us/goimports-reviser -recursive 递归处理目录 -rm-unused 移除未使用的导入 -separate-named 将命名导入与组用空行分隔 -set-alias 为版本化包设置别名 -set-exit-status 格式化需要更改时设置退出状态为1 -use-cache 使用缓存提高性能 -version 显示版本

🎯 总结

goimports-reviser是Go开发者提升代码质量的必备工具,它通过自动化的导入排序和代码格式化,让你的代码库保持一致的风格和结构。无论是个人项目还是大型团队协作,都能从中受益。立即尝试,体验代码整洁如新的开发乐趣!

图:goimports-reviser项目标识

【免费下载链接】goimports-reviserRight imports sorting & code formatting tool (goimports alternative)项目地址: https://gitcode.com/gh_mirrors/go/goimports-reviser

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询