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.goIDE集成
在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),仅供参考