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

Dictionary 如何为Intellij Idea拼写检查创建共享的可编辑词典?,dictionary,intellij-idea,version-control,spell-checking,Dictionary,Intellij Idea,Version Control,Spell Checking,需要有一本Intellij Idea拼写检查词典,该词典满足以下要求: 可能由VCS共享,因此所有开发人员都可以使用它 每个开发人员都应该能够轻松地编辑它 据我所知,Idea中有两种词典: 一个名为“%username%.xml”的用户词典(设置-->拼写-->接受的单词) 自定义词典数量“*.dic”(设置-->拼写-->词典) 但没有一个符合要求 用户字典很容易编辑(Alt+输入“Save…to dictionary”)并可以添加到VCS中,但它有预定义的用户名,因此无法共享(例如,开发人员

需要有一本Intellij Idea拼写检查词典,该词典满足以下要求:

  • 可能由VCS共享,因此所有开发人员都可以使用它
  • 每个开发人员都应该能够轻松地编辑它
  • 据我所知,Idea中有两种词典:

  • 一个名为“%username%.xml”的用户词典(设置-->拼写-->接受的单词)
  • 自定义词典数量“*.dic”(设置-->拼写-->词典)
  • 但没有一个符合要求

    用户字典很容易编辑(Alt+输入“Save…to dictionary”)并可以添加到VCS中,但它有预定义的用户名,因此无法共享(例如,开发人员a共享了他的a.xml,但开发人员B不能使用它,因为他的Idea项目只使用B.xml)

    自定义词典在共享方面没有问题,但应手动编辑,并且需要重新启动Idea以应用更改(例如,使其看到新单词)

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


    那么,有什么方法可以做到这一点吗?

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


    <> P>因此,因特利思思想的默认功能应该满足您的要求。

    < P>除了@ YOLE的回答之外,您还可能考虑使用选项2(如您的问题中列出的)以及选项1。我所看到的一个好策略是使用系统字典(选项2)来查找您所在领域中所有/大多数项目中常见的单词。仅为字典文件创建VCS项目并提交它们。让开发人员在其PC上签出/克隆VCS项目/repo。然后将这些字典设置为默认设置(文件>其他设置>默认设置),以便所有新项目都可以使用这些字典。然后让开发人员设置一个计划脚本(通过cron作业或Windows任务调度器)来定期更新这些字典。开发人员需要偶尔重新启动IDEA以获得任何新版本。但一旦这些“域”word文件建立起来,它们就不会经常更改。它还可以避免您将常规单词添加到项目级词典中

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

    当遇到新的未知单词时,开发人员可以通过Alt+Enter将其添加到poject字典中。如果这是一个可能出现在所有项目中的单词(比如你的公司合并的公司名称或你将经常使用的新库的名称),他们可以花点时间将其添加到“所有项目”字典中并提交/推送

    最后,您可能需要投票/观看以下功能请求:

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

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

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

    # 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
    

    您的意思是接受所有开发人员添加的单词,而拼写检查配置为突出拼写错误IDEA将从.IDEA/字典中的所有文件中获取单词?因为如果我用单词创建一个新文件,例如“.idea/dictionaries/test.xml”,它就不起作用了@yole就是这个意思。确保dictionary`元素的
    name'属性与文件名匹配(在本例中为“Test”)。可能需要重新加载项目。我不确定IDEA是否会在VCS更新中重新加载这些文件。(我们不将
    .idea
    设置存储在VCS中)。Yole会知道的,因为他是JetBrains的开发者之一。我在那个目录中成功地创建了多个字典文件。是的,这就是我的意思。我们正在JetBrains上使用此设置,它可以正常工作。我将字典文件从
    username.xml
    重命名为
    developer.xml
    ,以避免在我的机器上暴露我的用户名。我还更改了文件中
    name
    属性的值。我还更改了
    workspace.xml
    中的相应条目,并关闭并重新打开了该项目。但是,当我向字典中添加新词时,会创建一个新的
    username.xml
    文件。JetBrains,请让用户对此进行配置。@JJD请尝试将“user.name=”添加到idea.properties中是否确实有效?不适用于我,我在gitignore文档中发现了这一点:“如果该文件的父目录被排除,则不可能重新包含该文件”--您可以找到有关我在这里提到的内容的更多信息--@vadimkov请确保在
    .idea/*
    中包含
    *
    ,否则它将不起作用。