【问题标题】:Eclipse: is there a way to specify the code formatting style using the style of the current source file?Eclipse:有没有办法使用当前源文件的样式来指定代码格式化样式?
【发布时间】:2013-03-11 16:52:45
【问题描述】:

我知道我可以手动设置 Eclipse Java 格式化程序的所有各种选项,然后轻松地将该样式应用于任何 Java 文件。

有没有办法去另一个方向?给定一个 Java 文件,输出与该文件的格式匹配(在某种程度上接近)的 Eclipse 格式化程序设置?我希望能够编辑现有代码并使用匹配的样式,而不是强加新的样式。而且我宁愿不必为不同的代码样式多次执行此操作。

这里的重点不是让我的组织了解编码约定;对于内部编写的代码,我只是手工完成,因为只有一组约定。困难的是,有许多来自外部组织的项目混合使用不同的编码约定,我想调整我的设置以匹配那些现有的项目。他们不会拿走我的:-)。

最好用于 Eclipse 3.7,但如果需要的话,我会切换到 4.x。

【问题讨论】:

  • 不太可能。您需要一种能够正确学习风格的工具。让人们对代码布局感到满意已经几乎不可能了;以见证你为例。如果该工具发现任何错误,您将拒绝它。因此,人们甚至没有动力去尝试构建这样的工具。
  • @IraBaxter,我不想快乐——我宁愿不痛苦。我认为您在这里对工具的可能性过于悲观了;世界上到处都是使代码格式化成为更好体验的工具。它们不必完美无缺。
  • 我提供了其中一些工具。你会惊讶于他们被拒绝的频率,因为他们没有做一些神秘的布局事情。我个人的看法是,组织中任何合理的标准布局都比每个人随心所欲地好得多。要求工具“学习风格”肯定会遇到失败(并且“被拒绝,因为它不会学习我的风格,更不用说去做了”)。如果您只是不想痛苦,为什么Astyle不能满足您的需求?不,它不会学习你的风格,但它有很多选择,其中一些应该不错。
  • 知道了 - 我澄清了我的问题。这不是关于我的一种风格,而是关于我必须从事的其他 15 个项目的风格,所有这些项目都使用自己不同的风格。如果我决定编码约定,我会很乐意接受 $ANY_STYLE_THAT_A_TOOL_CAN_AUTOMATE。

标签: eclipse code-formatting


【解决方案1】:

据我所知,对于 java 项目,代码格式化程序设置特定于工作区,而不是项目。设置位于 Preferences->Java->Code Style->Formatter.

因此,如果有人给您一个独立的源文件或 eclipse 项目,该实体将不包含任何 eclipse 工作区特定的代码格式化程序设置。

如果您有权访问获取该源/项目的原始工作区,则可以从那里导出设置(Preferences->Java->Code Style->Formatter->Export All)。

【讨论】:

  • 仅供参考,在 Java > Code Style > Formatter 下有一个选项可让您更改每个项目的样式,而不是每个工作区。但我认为您错过了问题的重点:如果您没有格式化程序设置,并且您有 Java 文件,是否有工具可以找出与文件匹配的设置?
  • @JamesMoore:我想我的意思是,你为什么不设置一次样式并接受它?
  • 想象一下,你有多个不同的项目在做,每个项目都有不同的风格。它们不是你的风格,你必须使用现有的风格。仔细检查并弄清楚每个设置真的很耗时。
  • 我假设您从某人那里获得了这些项目,并且它们并不是凭空出现的。你为什么不让那个人导出他的IDE设置,这样你就可以导入相同的了。一旦你有了这些设置(xml 文件),你甚至可以将它们保存在你的代码仓库中,以便其他人可以使用它。这是一个冷启动问题。一旦你得到设置,问题就解决了。在那之前,你被卡住了。
【解决方案2】:

快速而简短的回答:否。 Eclipse 中不支持该功能,EclipseCentral 中也没有插件可以为您执行此操作。

对不起:(

【讨论】:

    猜你喜欢
    • 2019-02-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2012-11-18
    • 2014-07-18
    相关资源
    最近更新 更多