【问题标题】:How to share Code Style settings between developers in IntelliJ如何在 IntelliJ 中的开发人员之间共享代码样式设置
【发布时间】:2012-02-23 15:19:07
【问题描述】:

我希望我团队中的所有开发人员都使用相同的默认代码样式设置。我们都使用 IntelliJ 11+ 作为我们的 IDE,我们使用 git 作为我们的源代码控制系统。

确保它们都使用相同设置的最简单方法是什么?我认为有一种方法可以将样式设置签入项目并让他们的编辑自动发现它们,但似乎并非如此。

PS。我不介意开发人员是否有意识地用他们自己的偏好覆盖了一些默认设置,但我确实想确保我们都至少从一组通用的默认设置开始。

【问题讨论】:

    标签: intellij-idea


    【解决方案1】:

    代码样式可以为copied to project,在.idea/codeStyles中保存为shared via version control

    复制到项目单击此按钮可将当前全局方案创建到项目级别的副本。创建副本后,IntelliJ IDEA 建议在项目级别切换到这个新方案。

    【讨论】:

    • 你知道涉及到哪些文件吗?我们目前已将 git 设置为排除 .idea 目录中的文件,我想修改我们的 git 设置以不排除代码样式文件。
    • 对我来说是 .idea/projectCodeStyle.xml
    • 这似乎对IntelliJ 13无效。我终于找到了存储在~/.IntelliJIdea13/config/codestyles中的个人代码样式设置,这并不好找到。但是将它们导出到项目中并没有在项目中生成任何.idea 目录。如果 UI 中只有一个简单的“导出”或“另存为”选项,那就太好了。
    • 在 Max OS X 和 IntelliJ 13 上,代码样式文件位置为:~/Library/Preferences/IntelliJIdea13/codestyles/。 Library 文件夹在使用 Finder 时通常是隐藏的,因此请使用 CMD+SHIFT+G(或命令行)。
    • 这个答案仍然相关,但第一个链接已更改:jetbrains.com/help/idea/settings-code-style.html
    【解决方案2】:

    Settings Repository 功能是在 IntelliJ IDEA 2016 中引入的。

    此选项帮助我们在不同计算机之间共享 IDE 设置,包括在开发人员之间共享设置。

    设置存储在 Git 存储库中,例如 GitHub 或 Bitbucket。

    要设置 Git 存储库,我们应该通过 Settings Repository 菜单选项设置 URL。

    开发者可以加载远程设置、覆盖远程设置或将本地设置与远程设置合并。

    带有设置的 Git 存储库结构:

    我使用个人访问令牌进行 GitHub 身份验证。


    更多信息:

    【讨论】:

    • 我的团队最近发现了这个功能。我发现它很难使用,因为它共享所有设置,例如代码样式以及配色方案,这在整个团队中绝对不一样。有没有办法在排除其他文件的同时配置所需设置列表
    • @JID 我们遇到了类似的问题,因为我们只想共享代码格式设置,而不是主题设置等。我们设法通过使用带有 .gitignore 的设置存储库来使其工作,该 .gitignore 排除了所有内容,除了代码格式化程序的东西。
    • 它与 jetbrains-account 设置同步不兼容:/ 如果该帐户只是一个个人设置存储库,它会更有意义吗?虽然我尊重这是一个难题,但我发现 jetbrains 产品的设置共享机制相当糟糕和令人困惑..
    【解决方案3】:

    我在事后很长时间遇到了这个,但如果有人遇到这个,我想我会分享。将以下内容添加到您的 .gitignore

    # IDE - IntelliJ
    /.idea/*
    # Keep the code styles.
    !/.idea/codeStyles
    /.idea/codeStyles/*
    !/.idea/codeStyles/Project.xml
    !/.idea/codeStyles/codeStyleConfig.xml
    # Keep the inspection levels
    !/.idea/inspectionProfiles
    /.idea/inspectionProfiles/*
    !/.idea/inspectionProfiles/Project_Default.xml

    当然,确保你的 .gitignore 也有一个 !放在它前面,这样这些变化就会被采纳。

    基本上,gitignore 的递归查找有点不稳定,所以下面会忽略一个目录的内容,除了子目录,然后忽略该子目录的内容,除了我们想要的文件。

    codeStyleConfig 让您可以使用每个项目的设置,项目文件本身就是您的实际代码样式,并且我包含了 Project_Default,因为它包含警告级别,如果您仍然在进行代码样式工作,您可能需要它。

    【讨论】:

    • 我得到了一个关于代码样式的更简单的版本:.idea/* !.idea/codeStyles
    【解决方案4】:

    您可以在您的项目中创建 .editorconfig 文件(并且可以在目录级别进行管理)。有关https://www.jetbrains.com/help/idea/configuring-code-style.html#editorconfighttps://editorconfig.org/ 的更多信息

    通过这种方法,您可以将所有代码样式设置保存在一个文件中,并且不仅限于 IJ。

    【讨论】:

    • 是的,但是 editorconfig 官方只支持很少的属性。从 IDEA 导出的其余部分将带有 ij_ 前缀,因为它们不是官方的。其他 IDE 很可能无法理解这些属性。
    猜你喜欢
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 2017-05-29
    • 2014-07-07
    • 2023-03-31
    • 2019-04-22
    相关资源
    最近更新 更多