我如何使eclipse的autoformatter忽略一段代码?
我记得有一种在eclipse(特殊注释或注释?)中标记一段代码的方法,它使自动标记忽略该部分。 或者我可能会破坏这个…
主要用于当我有string包装到几行,我不希望autoformatter重新排列这个。
从Eclipse 3.5(或3.6)开始,这是可能的: – 转到项目属性 – Java代码样式 – 格式化程序 – 编辑… – select标记为“关/开标签”的选项卡, – 在注释中包含标签源代码等
/* @formatter:on */
你可以把你不想自动格式化的代码包装在这些特殊的注释之间:
normal code /* @formatter:off */ strangely laid out code /* @formatter:on */ normal code
下面是一个基本的用法示例,它使得jsonstring(稍微)更具可读性:
public class SomeTest { @Test public void can_deserialize_json() { /* @formatter:off */ String json = "" + "{" + " \"id\" : 123," + " \"address1\" : blah," + " \"shippingInfo\" : {" + " \"trackingUrl\" : null," + " \"price\" : 350" + " }," + " \"errorMessage\" : null" + "}"; /* @formatter:on */ MyClass.deserializeJson(json); } }
我只知道评论的答案:
Eclipse足够聪明,只能重新生成生成的JavaDoc不会改变的注释格式(即空白无关紧要):
/** * foo <i> * bar </i> * * <pre> * foo * bar * </pre> */
将被重新格式化成
/** * foo <i> bar </i> * * <pre> * foo * bar * </pre> */
请注意<pre>
标记的内容未被重新格式化。
对于长string文字,我build议他们可能是一个迹象表明你应该将其中的一些外化。
我不确定你指的确切的function,但你可以改变expression式的换行策略,这可能会帮助你解决你的string问题。 看到:
Window-> Preferences-> Java-> Code Style-> Formatter
点击“编辑…”button
点击“换行”标签
在树中,selectExpressions-> Assignments,然后更改窗口底部的缩进策略。
当然,格式化程序里面还有很多其他的选项,你可能会发现其他许多有用的选项也适用于其他规则,比如在哪里放置花括号,如何缩进控制块。
我刚刚发现这个问题,因为我也对这个function缺乏兴趣。
一个小search显示了这个问题和以下答案: 停止线包装的日食?
Eclipse 3.5支持这一点。 (它几天前击中候选人,所以可能值得一试)
祝你好运! 🙂
我偶然发现了这个,因为我很想在Eclipse中看到剖面着色。 想象一下,你可以简单地给你的代码中的部分背景颜色。 难道它不会使它更容易访问,特别是当你在凌晨4点褪色? 🙂
您可以在本节中用鼠标右键标记要格式化和select格式的代码。 这是一个“白名单”解决scheme,也许它帮助…