【问题标题】:How to use eclipse's code formatter to remove new lines after 'case'?如何使用 eclipse 的代码格式化程序在“case”之后删除新行?
【发布时间】:2014-04-25 15:46:32
【问题描述】:

我查看了 eclipse Java 格式化程序(Java / Code Style / Formatter),但找不到在 case 之后没有新行的方法。而不是

switch (a) {
    case 0:
        Other.doFoo();
        break;
    case 1:
        Other.doBaz();
}

我想要

switch (a) {
    case 0: Other.doFoo();
            break;
    case 1: Other.doBaz();
}

有没有办法做到这一点,如果有,那是什么?

【问题讨论】:

    标签: eclipse format switch-statement


    【解决方案1】:

    我找不到解决此问题的方法。正如您所料,没有办法重构现有代码

    但是您现在可以避免编写此类 switch 语句,方法是启用 off/on 标签,如此处Eclipse Formatter Allow Multi Line ; 所述,然后将Windows > Preferences > Java > Editors > Templates 中的 switch 模板更改为下面提到

        //@formatter:off
            switch (${key}) {
                case ${value}:${cursor}
                              break;
    
                default:break;
            }
        //@formatter:on
    

    【讨论】:

    • 所以这个模板将是语句的初始形式,如果我只是ctrl+shift+F 那么它会恢复到我的格式化程序的结构吗?顺便说一句,这是格式化现有代码,而不是重构现有代码
    • 按下Ctrl+Shift+FNOT 格式化@formatter 标记之间的行。测试一下。
    • 测试过,我按你说的放标签的时候还是格式化的。
    • 好的,需要在格式化程序自定义中启用Off/On Tags
    猜你喜欢
    • 2020-07-28
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多