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

时间:2017-01-13 23:16:39

标签: intellij-idea settings shared jetbrains-ide

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

我也尝试使用JetBrains工具的File->Settings Repository菜单下的功能。它在用户之间共享一些设置,我喜欢它自动创建Git仓库的提交,但它不共享所有设置。共享的设置很棒!但是,似乎“设置存储库”功能正在进行中。

我已经阅读了很多关于这个主题的讨论,但没有关于共享IDE级别设置的方法的明确答案,同时在使用JetBrains工具时预测特定的设置。更不用说,我使用多个JetBrains工具(PhpStorm,PyCharm,WebStorm和IntelliJ)。如果有一个解决方案也在所有工具之间共享设置,我会喜欢它,因为某些设置在所有JetBrains工具中是全局的,有些是特定于特定工具的,有些是特定于项目的。

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

1 个答案:

答案 0 :(得分:3)

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

此解决方案描述了我一直用来共享PyCharm项目的代码和设置。这个解决方案有一个警告,我将试图描述和详细解决这个问题。

按照JetBrain知识库的说明,我们将整个项目文件夹添加到Git仓库。但是,在执行此操作之前,请确保至少排除workspace.xml文件,方法是在项目目录中创建.gitignore文件,并至少添加以下行:

.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,因为它会存储所有本地窗口大小,调试面板布局等。我的团队发现同步我们的任务很有用,这样我们就可以协调工作了。但是,每个团队的工作方式都不同,所以请自行决定。

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

  1. <project_directory>/.idea包含项目特定设置。
  2. $HOME/.PyCharmYYYY.M/config包含由PyCharm管理的所有项目的选项(或替代任何其他JetBrains工具的“PyCharm”)。
  3. 如果您使用File-&gt; Settings Repository中的共享设置,$HOME/.PyCharmYYY.M/config将包含通过JetBrain内置的“共享设置”功能共享的所有设置。我和我的团队并不关心它,因为它似乎自动分享了一些我们不想要的东西(比如颜色主题和键映射)。而且我们无法选择一组子选项来共享团队范围。长话短说,它没有给我们所需的灵活性和控制力。
  4. 我们确实尝试同时使用选项1和3,但它太笨重了。例如,一个人会更改字体,下次我们重新启动JetBrains时会改变整个团队的字体。这是一团糟。如果您决定尝试使用选项1和3,我建议您格外小心。

    目前,我们只使用选项1,而且它的效果非常好。

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

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

    enter image description here