我记得有一种方法可以在eclipse(特殊注释或注释?)中标记一段代码,这使得autoformatter忽略了该部分。或者我可能会匆匆忙忙......
主要用于当我有包裹在几行上的字符串并且我不希望autoformatter重新排列它时。
答案 0 :(得分:59)
自从eclipse 3.5(或3.6)以来,这是可能的: - 转到项目属性 - Java代码样式 - 格式化程序 - 编辑... - 选择标记为“关/开标签”的选项卡, - 在源代码的注释中包含标记,例如
/* @formatter:on */
答案 1 :(得分:9)
您可以在这些特殊注释之间包装您不希望自动格式化的代码:
normal code
/* @formatter:off */
strangely laid out code
/* @formatter:on */
normal code
这是一个基本的用法示例,它使json字符串(稍微)更具可读性:
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);
}
}
答案 2 :(得分:2)
我只知道评论的答案:
Eclipse非常聪明,只能重新格式化生成的JavaDoc不会改变的注释(即空白无关紧要):
/**
* foo <i>
* bar </i>
*
* <pre>
* foo
* bar
* </pre>
*/
将重新格式化为
/**
* foo <i> bar </i>
*
* <pre>
* foo
* bar
* </pre>
*/
请注意<pre>
标记的内容未重新格式化。
对于长字符串文字,我建议它们可能表明你应该将其中的一部分外化。
答案 3 :(得分:1)
我不确定您所指的确切功能,但您可以更改表达式的换行策略,这可能会帮助您解决字符串问题。参见:
Window-&gt; Preferences-&gt; Java-&gt; Code Style-&gt; Formatter
点击“修改...”按钮
点击“换行”标签
在树中,选择“表达式” - >“分配”,然后更改窗口底部的缩进策略。
当然在格式化程序中有无数其他选项,你可能会发现许多其他选项也很有用,比如在哪里放括号,或者如何缩进控件块。
答案 4 :(得分:1)
我刚发现这个问题,因为我对此功能的缺乏感到恼火。
小搜索显示了这个问题和以下答案: Stop eclipse from line wrapping?
Eclipse 3.5支持这一点。 (它在几天前发布了候选版本,所以值得一试)
祝你好运! :)
答案 5 :(得分:1)
我偶然发现了这一点,因为我很想看到Eclipse中的部分着色。想象一下,您可以简单地为代码中的部分提供一些背景颜色。难道不会让它更容易接近,尤其是当你在凌晨4点褪色时? :)
答案 6 :(得分:0)
您可以标记要格式化的代码,并在此部分中单击鼠标右键选择格式。这是一个“白名单”解决方案,也许它会有所帮助......