【问题标题】:How to share eclipse Java/XML code style settings between developers?如何在开发人员之间共享 eclipse Java/XML 代码样式设置?
【发布时间】:2012-11-24 13:36:33
【问题描述】:

在有许多开发人员的项目中,如果他们的所有 IDE 都配置了相同的代码样式设置,这很有用,这样当其他人更改您的代码时,您就不会因为格式更改检查到版本控制中而出现伪差异。您可以尝试说服所有人导入项目标准格式设置,但他们可能会忘记在创建新工作区时这样做,并且忘记在需要更改时对其进行调整,因此随着时间的推移会丢失。

那么,有没有一种简单的方法可以使事情自动化,让每个人都拥有相同的设置,并在需要更新时自动更改其设置 - 而无需他们自己采取任何行动?

如果这些设置被配置为 project local ,其中许多设置都存储在 .settings/org.eclipse.jdt.ui.prefs 中,因此可以将此文件签入版本控制,但在 .settings 中省略其他文件。不幸的是,格式化程序设置包含在大桶.settings/org.eclipse.jdt.core.prefs 中,因此您必须做更复杂的事情来更新这些设置。所以我想知道是否有更简单/其他的选择。

澄清:根据我的经验,许多开发人员忽略了调整 Eclipse 中各种代码样式设置的请求,因为他们认为这些设置不重要。所以我想让他们至少可以非常容易地使用项目标准设置,代码风格的适配充其量应该在没有他们合作的情况下完全工作——尤其是在编码风格的更新上。我正在寻找执行此操作的工具。

【问题讨论】:

  • 我创建了一个非常通用的答案。请注意,应该有一些与团队相关的插件也可以为您执行此操作。
  • 请注意,大多数开发机器的设置都比较宽松,我是本地管理员。这意味着开发人员总是可以“欺骗”并使用另一个 Eclipse 实例(或只是另一个工作区)。因此,您真正可以确定的唯一事情是检查到版本控制系统中的内容。因此,您可以使用钩子或自动构建过程来检查它。您不能在本地强制执行任何操作。
  • @owlstead 我不想强制执行任何事情 - 这不适合成年人。我只是想拿走借口:-),让做正确的事比做错的事更容易。

标签: java eclipse coding-style code-standards


【解决方案1】:

警告:在代码风格方面过于严格并不是一个好主意。许多程序员都有自己的风格。所以要小心你的愿望。

Eclipse 中最简单的方法是创建一个空的工作区,并通过简单地将其复制到开发人员的机器上来使用它。您甚至可以复制带有所有插件的 Eclipse。这具有必须手动创建更改的缺点。这也是限制性最强的选项。

另一种方法是导出/导入所有设置。这需要更多的工作,但限制较少。您需要分发以下设置:格式化程序、清理、模板。此外,您仍然必须设置最大值。常规设置中的线条大小。

让人们遵守代码实践的最佳方式是创建一份关于最低要求的文档。确保记录您的决定并让人们参与。然后检查人们是否遵守它;如果你让它溜走,程序员走自己的路。管理层(不幸的是)在这里可以发挥作用。

强制执行代码样式的最佳方式是创建一个 CheckStyle 配置并将其作为只读文件保存在磁盘上。然后,您可以将其用作 CheckStyle 插件的外部样式表。确保 Eclipse 格式化程序和清理设置匹配。

可以在自动构建环境中使用相同的 CheckStyle 配置来生成警告和错误。在审查期间应讨论这些警告和错误。确保你有漏洞,如果需要,规则应该被打破。

管理开发人员“与放牧猫没什么两样”

【讨论】:

  • 我完全同意你所说的。但是,我正在寻找的是无需团队成员之间太多合作的方法。根据我的经验,许多开发人员会忽略更改样式设置的请求。 Checkstyle 很好,但它只能验证人们是否使用了正确的设置——我想让他们变得非常容易,甚至可能不引人注意。
  • 对于有“强烈自己风格”的人,我在一个团队工作过,几个人在开始处理文件时会运行他们的个人风格格式,然后在他们检查之前运行官方格式任何东西。这样人们可以做自己的事,但不会弄乱diff。我认为 OP 的真正问题是,就像您提到的那样,这是一个管理/团队领导问题 - 必须有人执行规则。
【解决方案2】:

在我以前的公司,我们会创建一个“默认”或“模板”工作区,其中所有内容都根据个人喜好进行配置(如键设置、视图位置等)根据公司规则(格式化程序、编译器警告、检查样式、强制插件等)。

每次我需要一个新的工作区时,我都会复制这个模板工作区。

由于从头开始创建一个新的工作空间是如此痛苦,人们自然而然地习惯了使用模板,而不是创建一个完整的新工作空间。所以人们永远不会忘记它。

【讨论】:

    猜你喜欢
    • 2012-02-23
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 2017-05-29
    • 2014-07-07
    • 2019-04-22
    相关资源
    最近更新 更多