如何为 Intellij Idea 拼写检查创建共享的可编辑词典?

How to create a shared editable dictionary for Intellij Idea spellchecking?

Intellij Idea拼写检查需要有字典,满足以下要求:

  1. 可能是VCS共享的,所有开发者都可以使用
  2. 每个开发人员都应该能够轻松编辑它

据我所知,idea里面有2种字典:

  1. 一个用户词典,名为“%username%.xml”(设置-->拼写-->接受的词)
  2. 自定义词典数量,“*.dic”(设置-->拼写-->词典)

但是none个符合要求

用户字典很容易编辑(Alt+Enter "Save ... to dictionary")并且可以添加到VCS,但是它有一个预定义的用户名,所以不能分享(例如开发者A分享了他的A.xml,但是开发者B无法使用,因为他的Idea项目只适用于B.xml)

自定义词典分享没有问题,但需要手动编辑,需要重启Idea才能生效(比如让它看到新词)

我还没有找到解决该问题或任何类似问题的插件,这让我觉得没有人需要这样的词典,或者答案太明显了。

那么,有什么办法吗?

请注意,即使每个开发人员添加到字典中的单词都存储在单独的文件中,IntelliJ IDEA 会采用所有开发人员添加的单词,并且不会将其中的任何单词突出显示为拼写错误。单独文件中的存储专门用于避免在版本控制系统中存储字典时发生合并冲突。

因此,IntelliJ IDEA 的默认功能应该可以满足您的要求。

除了@Yole 的回答,您可能还想考虑使用选项 2(如您的问题中所列)和选项 1。我见过的一个好策略是使用系统词典(选项2) 对于您域中 all/most 个项目中常见的词。仅为字典文件创建一个 VCS 项目并提交它们。让您的开发人员 check-out/clone 在他们的 PC 上安装 VCS project/repo。然后将这些词典设置为默认设置(文件 > 其他设置 > 默认设置),这样它们就会出现在所有新项目中。然后让开发人员设置计划脚本(通过 cron 作业或 Windows 任务计划程序)以定期更新这些词典。开发人员需要偶尔重启 IDEA 才能获得任何新版本。但是一旦那些'domain'个word文件建立起来,它们就不会太频繁地改变了。而且它使您不必将常规单词添加到项目级词典中。

然后使用项目词典来查找项目特定的单词。

当遇到新的未知单词时,开发者可以通过Alt+Enter将其添加到项目词典中。如果它是一个可能出现在所有项目中的词(比如你公司合并的公司名称或你将经常使用的新图书馆的名称),他们可以花点时间将它添加到 "all projects" 字典和 commit/push 它。

最后您可能想要 vote/watch 这些功能请求:

  • IDEA-26854 拼写:不重新加载更改 .dic 文件
  • IDEA-121886提高处理多个拼写词典的能力

作为 Mark Vedder 建议的 Git 特定替代方案:

根据您的情况,您可能希望将以下内容或类似内容添加到您的 .gitignore 文件中,以将每个开发人员的字典文件保存在中央 git 存储库中:

# Exclude IntelliJ files, they will be recreated from the build files.
.idea/*
# But keep dictionaries to have less false positives in spellcheck inspection.
!.idea/dictionaries