阻止 Eclipse 缩进使用 Ctrl-/ 创建的注释

Stop Eclipse from indenting comments created with Ctrl-/

我经常需要临时注释掉一行(例如,调试时)。这很容易用 Ctrl-/ 完成,并在行的开头产生 //

public class Foo {
    int foo(int a, int b) {
        int sum = a + b;
//        System.out.println("debug: sum = " + sum);
        return sum;
    }
}

我喜欢 // 的位置,因为它很突出,所以很容易看出您可能想要取消注释的行(与 "English description" 永远不应该取消注释的注释相反).

问题是,当我稍后用 Ctrl-A (select all) 后跟 Ctrl-I (indent selection) 缩进我的代码时,注释变得超级丑:

public class Foo {
    int foo(int a, int b) {
        int sum = a + b;
        //        System.out.println("debug: sum = " + sum);
        return sum;
    }
}

如果我改为使用 Shift-Ctrl-F 格式化代码,结果看起来更好,但 // 不再位于行的开头:

public class Foo {
    int foo(int a, int b) {
        int sum = a + b;
        // System.out.println("debug: sum = " + sum);
        return sum;
    }
}

此外,在这两种情况下,当我稍后取消注释带有 Ctrl-/ 的行时,该行不再正确缩进。

我的问题:如何让 Eclipse 的压头和格式化程序停止更改我使用 Ctrl-/ 创建的行注释?

  1. 转到Window -> Preferences -> Java -> Code Style -> Formatter
  2. Select 您想要 use/change 的个人资料,然后单击 Edit 按钮。
  3. 转到 Comments 选项卡并查看 General settings
  4. 对于压头问题,检查选项"从不在第一列缩进行注释"。
  5. 对于格式化程序问题,取消选中选项"格式化第一列的行注释"。
  6. 如果您要修改内置配置文件,请输入新的 Profile name
  7. 应用更改。

现在,使用ctrl-/创建的行注释不会被缩进修改(ctrl-A 后跟 ctrl-I) 或格式化 (shift-ctrl-F)。这也适用于 // 位于行首的任何其他行注释。

注意:仅在注释行上使用ctrl-I将保留// 在该行的开头并将其余注释移动到与上面的行对齐。