🌟 什么是 Easy Naming?
Easy Naming 是一款由开发者社区推出的 AI 驱动的 IDE 插件,核心功能包括:
- 智能变量命名
- AI 自动生成注释
- 一键解释复杂逻辑
它不是简单的模板填充工具,而是基于大模型 真正理解你的代码上下文,生成语义准确、语言自然的注释。
插件支持:
- IntelliJ IDEA / GoLand(推荐)
- VS Code(基础功能)
- 在线体验:www.icanshock.fun/
🎯 场景背景:构建一个 FAQ 管理服务(Go + Gin)
假设我们正在开发 ICanShock.fun 的后端服务,需要实现一个 /faq 接口,返回常见问题列表。核心代码如下:
// handlers/faq.go
package handlers
import (
"github.com/gin-gonic/gin"
)
type FAQItem struct {
ID int `json:"id"`
Question string `json:"question"`
Answer string `json:"answer"`
Category string `json:"category"`
}
var faqData = []FAQItem{
{1, "What is ICanShock?", "A platform for safe remote-controlled experiences.", "general"},
{2, "Is it safe?", "Yes, all interactions require explicit consent.", "safety"},
{3, "Can I use it anonymously?", "Yes, no personal info is required.", "privacy"},
}
func GetFAQ(c *gin.Context) {
c.JSON(200, gin.H{"faq": faqData})
}
这段代码功能完整,但缺乏注释,新成员难以快速理解字段含义或逻辑目的。
✨ 使用 Easy Naming 一键生成注释
步骤 1:安装插件
在 GoLand / IDEA 中:
- 打开
Settings > Plugins - 搜索 Easy Naming
- 安装并重启 IDE
插件快捷键:
Alt + M(Windows/Linux)或Option + M(macOS)
步骤 2:为结构体字段生成注释(变量注释)
将光标放在 Question 字段上,按下 Alt + M:
type FAQItem struct {
ID int `json:"id"`
// 光标在此行 → 按 Alt+M
Question string `json:"question"`
Answer string `json:"answer"`
Category string `json:"category"`
}
✅ AI 自动生成:
type FAQItem struct {
ID int `json:"id"`
// 用户提出的问题文本
Question string `json:"question"`
// 对应问题的官方回答
Answer string `json:"answer"`
// 问题所属分类,如 "safety", "privacy"
Category string `json:"category"`
}
💡 注释精准解释了每个字段的业务含义,而非机械描述类型。
步骤 3:为全局变量添加说明(代码行注释)
将光标放在 faqData 初始化行末尾,按 Alt + M:
// 光标放在此行末尾 → 按 Alt+M
var faqData = []FAQItem{ ... }
✅ AI 自动生成:
// 静态 FAQ 数据源,用于提供网站常见问题内容
var faqData = []FAQItem{
{1, "What is ICanShock?", "A platform for safe remote-controlled experiences.", "general"},
{2, "Is it safe?", "Yes, all interactions require explicit consent.", "safety"},
{3, "Can I use it anonymously?", "Yes, no personal info is required.", "privacy"},
}
步骤 4:为 Handler 函数生成逻辑注释(代码块注释)
选中整个 GetFAQ 函数,按 Alt + M:
// 选中以下代码块 → 按 Alt+M
func GetFAQ(c *gin.Context) {
c.JSON(200, gin.H{"faq": faqData})
}
✅ AI 自动生成:
// GetFAQ 返回所有常见问题(FAQ)列表,用于前端 FAQ 页面渲染
// 响应格式: { "faq": [ { "id": 1, "question": "...", "answer": "...", "category": "..." }, ... ] }
func GetFAQ(c *gin.Context) {
c.JSON(200, gin.H{"faq": faqData})
}
🧠 为什么 AI 注释比手写更高效?
| 手写注释 | Easy Naming AI 注释 |
|---|---|
| 耗时、易遗漏 | 一键生成,秒级完成 |
| 描述模糊(如 “用户数据”) | 语义精准(如 “状态为激活且年龄>18的用户”) |
| 难以保持更新 | 修改代码后可重新生成 |
| 依赖个人表达能力 | 基于大模型,语言专业、简洁 |
尤其在 Go Web 项目 中,结构体(struct)、handler、配置项等高频出现,AI 注释能极大降低文档维护成本。
编码名批量转换
在左边的输入框里面输入要转换的变量名。工具会自动处理常见的特殊字符,确保转换结果的规范性。
使用有2种方式:
方式一:选中需要命名的文本内容,按下快捷键 Alt + Z,自动生成符合规范的命名。
方式二:直接按下 Alt + Z,手动输入需要命名的内容并进行转换
🔒 安全与隐私
Easy Naming 插件默认仅在本地调用 AI 模型(或通过安全 API),不会上传你的私有代码。你可在设置中选择模型提供商(如本地 Ollama 或云端服务)。
🚀 最佳实践建议
- 在 PR 前统一生成注释:确保代码库注释覆盖率
- 结合 Go Doc 规范:对导出类型使用
//注释,便于go doc生成 - 复杂逻辑必注释:如认证流程、计费算法、安全校验等
- 定期更新注释:代码变更后重新按
Alt + M刷新
✅ 总结
通过 Easy Naming 插件,我们实现了:
- 结构体字段自动注释 → 提升数据模型可读性
- Handler 函数逻辑说明 → 降低新人理解成本
- 全局变量语义解释 → 避免“魔法数据”困惑
写注释不再是负担,而是开发流程的自然延伸。
📥 立即体验
- IDEA / GoLand/ VS Code 插件市场:搜索
Easy Naming
让 AI 帮你写注释,你只管专注创造!