相关疑难解决方法(0)

如何为Java代码的某些部分关闭Eclipse代码格式化程序?

我有一些Java代码,其中SQL语句编写为Java字符串(请不要使用OR/M flamewars,嵌入式SQL就是这样 - 不是我的决定).

为了便于维护,我在几行代码中将SQL语句在语义上分解为几个连接的字符串.所以,而不是像:

String query = "SELECT FOO, BAR, BAZ FROM ABC WHERE BAR > 4";
Run Code Online (Sandbox Code Playgroud)

我有类似的东西:

String query =
    "SELECT FOO, BAR, BAZ" +
    "  FROM ABC          " +
    " WHERE BAR > 4      ";
Run Code Online (Sandbox Code Playgroud)

这种风格使SQL更易于阅读和维护(恕我直言),特别是对于较大的查询.例如,我可以将我的编辑器置于"覆盖"模式,并相当容易地就地修改文本.

请注意,此问题超出了SQL的特定示例.任何使用任何垂直格式编写的代码,特别是表格结构,都容易被漂亮的打印机破坏.

现在,一些项目成员使用Eclipse编辑器,语义格式在格式化整个源文件时经常被破坏.

有没有办法指示Eclipse在格式化方面忽略某些源代码行?

我正在寻找像切换Eclipse格式化程序的特殊注释.理想情况下,这样的评论可以配置为我们选择的任何内容,其他格式化程序也可以编程为尊重它:

// STOP-ECLIPSE-FORMATTING
String query =
    "SELECT FOO, BAR, BAZ" +
    "  FROM ABC          " +
    " WHERE BAR > 4      ";
// START-ECLIPSE-FORMATTING
Run Code Online (Sandbox Code Playgroud)

显然,一个"解决方案"是让我们的团队成员对JalopyJIndent这样的外部格式化程序进行标准化,但这不是这个问题的原因(也不是我对这个项目的决定):我正在寻找一种方法在临时的基础上避免使用Eclipse格式化程序.

理想情况下,解决方案将允许我插入Eclipse格式化程序的指令,而无需团队成员使用Eclipse进行任何IDE重新配置(除了可能选择格式化程序无关的命令注释:STOP-ECLIPSE-FORMATTINGSTOP-FORMATTING).

java eclipse code-formatting pretty-print eclipse-formatter

474
推荐指数
8
解决办法
15万
查看次数

使Eclipse的Java代码格式化程序忽略块注释

有没有办法让Eclipse的内置Java代码格式化程序忽略注释?每当我运行它,它会变成这样:

    /*
     * PSEUDOCODE
     * Read in user's string/paragraph
     * 
     * Three cases are possible
     * Case 1: foobar
     *         do case 1 things
     * Case 2: fred hacker
     *         do case 2 things
     * Case 3: cowboyneal
     *         do case 3 things
     *         
     * In all cases, do some other thing
     */
Run Code Online (Sandbox Code Playgroud)

进入这个:

    /*
     * PSEUDOCODE Read in user's string/paragraph
     * 
     * Three cases are possible Case 1: foobar do case 1 things Case 2: fred
     * hacker do …
Run Code Online (Sandbox Code Playgroud)

eclipse comments formatter

76
推荐指数
5
解决办法
3万
查看次数

Eclipse 3.6(Helios)格式化程序搞乱了XML注释?

我们的项目在XML文件中有数百条注释.其中一些只是这样的分隔:

<!--
    ==============================================================================================
    Entity Manager Bean
    ==============================================================================================
-->
Run Code Online (Sandbox Code Playgroud)

我们广泛使用XML autoformatter,它始终保持线条分离,同时包装其他冗长的注释.现在在Helios,我们得到这个:

<!--============================================================================================== Entity 
    Manager Bean ============================================================================================== -->
Run Code Online (Sandbox Code Playgroud)

除非我们在preferences-> xml-> xml files-> editor下取消选中新的"Join Lines"功能.但这样做意味着我们失去了换行功能.

这是向后退一步还是我错过了什么?

xml eclipse code-formatting

1
推荐指数
1
解决办法
1463
查看次数