goland默认不识别“etcd”“grpc”等词是因为内置英文词典不含开源项目名和缩写;正确做法是添加utf-8编码、每行一词的自定义.dic文件,而非修改只读内置词典。

GoLand 为什么默认不识别 “etcd”“gRPC” 这类词
GoLand 的拼写检查基于内置英文词典,不包含常见开源项目名、协议名或缩写(如 etcd、gRPC、OIDC、CRD),所以它们会被标黄并提示 “Typo: ‘etcd’ is not a word”。这不是语法错误,只是拼写检查器不认识——关掉检查会漏掉真拼错的词,正确做法是让 IDE “学会” 这些词。
在 GoLand 中添加自定义拼写词库(.dic 文件)
GoLand 支持通过 .dic 文件扩展拼写词典,路径需手动指定,且文件格式必须是纯文本、UTF-8 编码、每行一个词(无空格、无注释):
- 新建文件,例如
go-tech.dic,用编辑器写入你需要的词,比如:
etcd gRPC OIDC CRD K8s TTL HTTP2 protobuf
- 保存为 UTF-8(不要带 BOM)
- 在 GoLand 中打开 Settings → Editor → Spelling → Dictionaries
- 点击
+号,选择该go-tech.dic文件 - 勾选它,点击 OK —— 立即生效,无需重启
为什么不能直接往内置词典里加词
GoLand 的内置拼写词典(如 en_US.dic)是只读的,且随版本更新可能被覆盖。手动修改会导致下次升级后丢失,还可能因格式错误(比如多了空行、用了中文逗号)让整个拼写检查失效。用独立 .dic 文件是唯一安全、可迁移的方式。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
哪些词该加?哪些不该加?
加词不是越多越好。拼写检查的核心价值是捕获 recieve(应为 receive)这类易错词,而不是把所有变量名都塞进去:
- ✅ 推荐加:广泛使用的专有名词(
Kubernetes、OAuth2)、标准缩写(HTTP、TCP)、主流项目名(consul、prometheus) - ❌ 避免加:项目私有变量名(
userRepo)、函数名(initDB)、带大小写的混合词(UnmarshalJSON)——这些本就不该出现在注释或字符串字面量中作为独立单词使用 - ⚠️ 注意:加了
grpc就别再加gRPC,因为 GoLand 拼写检查默认不区分大小写;重复添加没用,还可能干扰匹配
真正容易被忽略的是:团队协作时,这个 .dic 文件要纳入 Git(比如放在项目根目录 .idea/dictionaries/ 下),否则每人配一遍,拼写提示体验不一致。










