在 JetBrains 工具中,如何在多个开发人员之间共享 IDE 和项目设置?

In JetBrains tools, how can I share IDE and project settings between multiple developers?

我喜欢 JetBrains 工具。但是,我找不到在 IDE 级别和项目级别与团队成员有效共享设置的方法。迄今为止,我已按照 JetBrains 网站上一篇标题为 "How to manage projects under Version Control Systems" 的文章提供的说明进行操作。但是,这篇文章的许多评论都警告不要将其作为共享项目设置的方法来实现。而且我 运行 遇到了这个方法的一些问题,即并不是我想分享的所有内容实际上都与团队成员分享了。

我也尝试过使用 JetBrains 工具 File->Settings Repository 菜单下的功能。它在用户之间共享 一些设置,我喜欢它自动创建对 Git 存储库的提交,但 它不共享所有设置。共享的设置非常有用!但是,"Settings Repository" 功能似乎还在开发中。

我已经阅读了很多关于这个主题的讨论,但是对于共享 IDE 关卡设置以及使用 JetBrains 工具时的项目特定设置的方法没有明确的答案。更不用说,我使用了多个 JetBrains 工具(PhpStorm、PyCharm、WebStorm 和 IntelliJ)。如果有一个解决方案也可以在所有工具之间共享设置,我会很高兴,因为有些设置在所有 JetBrains 工具中都是全局的,有些特定于特定工具,有些特定于项目。

JetBrains 工具之间的共享设置更像是 "nice to have"。我真正需要知道的是,如何在团队成员之间轻松共享全局 IDE 设置和项目级别设置。但是,我会给任何能弄清楚两者的人疯狂的尊重点。 :-)

我终于抽出几分钟来写一个答案。我想写一个更完整的答案,但最近我一直非常忙,所以现在必须这样做。

此解决方案描述了我一直用来共享 PyCharm 项目的代码和设置的内容。这个解决方案有一个警告,我将尝试描述和详细说明一种解决方法。

按照 JetBrain 知识库中的说明,我们将把整个项目文件夹添加到 Git 存储库中。但是,在这样做之前,请务必通过在项目目录中创建一个 .gitignore 文件并至少添加以下行来至少排除 workspace.xml 文件:

.idea/workspace.xml
# JetBrains also recommends  adding tasks.xml, but I found it useful to
# share tasks with team members.
# Uncomment the following line to avoid sharing tasks with team members
# .idea/tasks.xml

您一定要将 workspace.xml 添加到 .gitignore,因为它存储了您所有的本地 window 尺寸、调试面板布局等。我的团队发现同步我们的任务很有用,这样我们就可以协调工作。但是,每个团队的工作方式不同,因此请自行判断。

存储项目和个人偏好的三个主要位置:

  1. <project_directory>/.idea 包含项目特定设置。
  2. $HOME/.PyCharmYYYY.M/config 包含由 PyCharm 管理的所有项目的选项(或用 "PyCharm" 替代任何其他 JetBrains 工具)。
  3. 如果您使用在文件 -> 设置存储库中找到的共享设置,$HOME/.PyCharmYYY.M/config 将包含通过 JetBrain 的内置 "shared settings" 功能共享的所有设置。我和我的团队并不关心它,因为它似乎会自动分享一些我们不想分享的东西(比如颜色主题和按键映射)。而且我们无法 select 一组选项在团队范围内共享。长话短说,它没有给我们所需的灵活性和控制力。

我们确实尝试过同时使用选项 1 和 3,但它太笨重了。例如,一个人会更改一种字体,下次我们重新启动 JetBrains 时,整个团队都会更改它。真是一团糟。如果您决定尝试使用选项 1 和 3,我建议您格外小心。

目前,我们只使用选项 1,而且效果很好。

您可能想要在 .gitignore 文件中添加或删除的其他一些值得注意的文件夹是:

  • <project_folder>/.idea/runConfigurations/ 包含您所有的调试和 运行 配置,用于 运行 鼻子测试和调试您的代码。
  • <project_folder>/.idea/scopes/ 包含用于将您的项目文件视图过滤到更多管理分组中的所有范围。
  • $HOME/.PyCharmYYYY.M/options 包含您正在使用的 PyCharm 版本的所有全局选项。例如,配色方案、键映射和任何其他非项目特定选项。有关其他全局设置的完整列表,请参阅这篇 JetBrains 文章或以下摘录: