题 Eclipse切换注释缩进


我有以下代码:

public int doBam(int bam) {
    if(foo) {
        bam += 1;
        if(bar) {
            bam += 1;
        }
    }
    return bam;
}

我想评论一下 if(bar) ...

当我在Eclipse 3.6中切换评论时,我会得到这个:

public int doBam(int bam) {
    if(foo) {
        bam += 1;
//        if(bar) {
//            bam += 1;
//        }
    }
    return bam;
}

我可以让Eclipse切换这样的评论吗?

public int doBam(int bam) {
    if(foo) {
        bam += 1;
        //if(bar) {
        //    bam += 1;
        //}
    }
    return bam;
}

14
2017-11-19 14:30


起源


而不是回答(我没有答案)我可以试着说服你Eclipse的方式好多了?它在视觉上区分了注释掉的代码中的行注释,对于像vim这样的高级文本编辑器的人来说它更友好,因为它们可以使用宏或视觉块删除来注释/取消注释代码。 - Mark Peters
@MarkPeters。我向您保证,我知道有关注释掉代码的问题。我不打算以任何方式发布此类代码。我只想将它用于我自己的用法,当我查找错误或测试其他代码时快速删除代码块。 - lesmana
咦?我从未提出任何反对评论代码的论据,甚至也没有提出任何论据。事实上,我在争论Eclipse的方式 更轻松 评论/取消注释代码而不是建议的替代方案。你的问题和我的评论都纯粹是关于 格式化 注释掉代码的配置,所以我真的不明白你的评论。我不明白为什么你认为你的方式会更容易“切断代码块......”。当前的切换注释功能完美地做到了这一点。这只是一个差异。 - Mark Peters
@MarkPeters。我误解了你的第一条评论。我道歉。你是对的,问题严格来说就是格式化,我的意思就是这样。我在删除代码块时的意思是当我正在测试问题的不同方法时:我评论一个,测试,评论另一个,测试等等。当注释字符缩进而不是在行的开头时,我实际上发现它更容易。 - lesmana
请参阅我的答案中的UPDATE部分。 - Dipesh Rathod


答案:


我可以让Eclipse切换这样的评论吗?

这是一个三步过程..

步骤1: - 选择所需的代码。

if(bar) {
  bam += 1;
}

第二步: - 命中 控制+ 7 要么 控制+ /

//    if(bar) {
//      bam += 1;
//    }

第3步: - 点击 Control + Shift + F.

   // if(bar) {
   // bam += 1;
   // }

UPDATE

此外,在取消注释时,Eclipse autoformatter不会恢复先前的缩进

像评论一样,取消注释也是三步过程: -

  1. 选择
  2. Contorl + /
  3. Control + Shift + F.

它适用于自己的格式规则。

您可以更改这些格式规则。 Windows - >首选项 - > Java - >代码样式 - >格式化程序 - >编辑 - >注释选项卡。

Eclipse不允许编辑默认的内置配置文件。创建新配置文件并从内置配置文件继承所有属性,然后您可以自定义新创建的配置文件。


5
2017-11-22 17:41



它的作用是使注释的行与周围的块一起缩进,但它会使注释块内的缩进变平。此外,当取消注释时,Eclipse autoformatter不会恢复先前的缩进,而是应用它自己的格式规则。 - lesmana
@lesmana在我的回答中看到UPDATE部分。 - Dipesh Rathod
我通过选择代码并按下来解决此问题 Shift-Tab 直到代码的左边缘到达编辑器边缘 (小心不要 Shift-Tab 任何进一步或你会失去缩进), 然后 Ctrl-/然后按 Tab 直到代码返回到原始位置。当我取消注释 (只需按 Ctrl-/ 再次,没有必要的标签),它完全保留原始缩进。 - ADTC
我在Eclipse中遇到与Scala相同的问题,但下面的解决方案是特定于Java的,因为Scala代码格式化程序选项卡有不同的选项。有没有办法关闭Scala的评论重新格式化? - Glenn Strycker


似乎真的解决方案在eclipse中不会发生

https://bugs.eclipse.org/bugs/show_bug.cgi?id=321092


5
2017-12-28 14:08



感谢这个链接,他们似乎认为它是一个特征......叹息。我建议那些想要改变的人应该去问题并投票(并希望)。 - studgeek


对于大胆的,虽然Eclipse团队不希望包含这种行为,所以 bug报告提到了 包括允许任何人从源代码构建Eclipse以将行为添加到其副本中的补丁。


1
2017-11-24 00:37