Eclipse 切换缩进注释

28

我有以下代码:

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;
}

2
我可以试着说服你,Eclipse的方式更好,而不是回答“我没有答案”吗?它在视觉上区分了行注释和被注释的代码,并且对于使用高级文本编辑器(如vim)的人更加友好,因为他们可以使用宏或可视块删除来注释/取消注释代码。 - Mark Peters
@MarkPeters。我向您保证,我知道关于注释掉代码的问题。我不打算以任何方式发布这样的代码。我只是想为了自己的使用,在查找错误或测试其他代码时快速剪切代码块。 - Lesmana
1
啥?我从没反对过注释掉代码,也不反对把它作为运输方式。事实上,我在争论Eclipse的方法使得注释/取消注释代码比您提出的替代方案更容易。你的问题和我的评论都是关于注释掉代码的格式配置,所以我真的不明白你的评论。我也不明白为什么你认为你的方式会让"剪切代码块..."更容易。现有的切换注释功能已经可以完美地做到这一点了。这只是一个格式上的差异。 - Mark Peters
@MarkPeters。我误解了你的第一条评论,我很抱歉。你是对的,这个问题严格来说只涉及格式,而我也是这个意思。当我在测试不同的问题解决方法时,我所说的剪切代码块是指:我注释掉其中一个,测试,注释另一个,测试,以此类推。实际上,我发现如果注释字符缩进而不是在行首,那么它更容易阅读。 - Lesmana
请见我回答中的更新部分。 - dira
显示剩余2条评论
5个回答

9

我能让Eclipse像这样切换注释吗?

这是一个三步骤的过程...

第一步:选择所需代码。

if(bar) {
  bam += 1;
}

步骤二:按下Control + 7Control + /

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

步骤三:按下Ctrl + Shift + F

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

更新

另外,取消注释时,Eclipse自动格式化程序无法恢复之前的缩进。

与注释类似,取消注释也是一个三步骤的过程:

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

它会应用自己的格式化规则。

您可以更改这些格式化规则。Windows --> Preferences --> Java --> Code Style --> Formatter --> Edit --> Comments Tab.

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


它可以使注释行与周围的代码块缩进对齐,但会使注释内部代码块的缩进变平。而且,当取消注释时,Eclipse自动格式化程序不会恢复先前的缩进,而是应用自己的格式化规则。 - Lesmana
我通过选择代码并按下 Shift-Tab 直到代码的左边缘碰到编辑器边缘(注意不要再按 Shift-Tab,否则将失去缩进),然后按下 Ctrl-/,再按下 Tab 直到代码返回原始位置来解决这个问题。当我取消注释(只需再次按下 Ctrl-/,无需缩进)时,它会完全保留原始缩进。 - ADTC
我在Eclipse中使用Scala时遇到了同样的问题,但下面的解决方案都是针对Java的,因为Scala代码格式化选项卡有不同的选项。有没有办法关闭Scala的注释重新格式化? - Glenn Strycker

8

谢谢提供链接,他们似乎认为这是一个特性...唉。我建议那些想要改变的人应该去问题页面投票(并祈祷)。 - studgeek

2
问题似乎有点过时,但是无论如何。
代码块可以使用列选择模式进行漂亮的注释(从Eclipse 3.5开始)。只需按下Alt + Shift + A切换到列模式,然后使用箭头选择代码,键入//,再次按下Alt + Shift + A关闭列模式即可。
[1] 如何在Eclipse中启用列选择模式?

这似乎是一个可行的解决方法。我目前不再使用Eclipse,所以无法测试。有人可以验证一下吗?然后我会接受这个答案。 - Lesmana

2

对于大胆的人来说,尽管Eclipse团队不想包含这种行为,但错误报告提到的补丁允许任何从源代码构建Eclipse的人将该行为添加到他们的副本中。


-1

选择要注释的代码

  • 要切换注释,请按Cntrl + /
  • 要进行块注释,请按Cntrl + Shift + /

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接