在eclipse中取消注释多行代码

在eclipse中取消注释多行代码,eclipse,Eclipse,是的,这可能是重复的,但是,他们给出的答案不适用于我的案例 我已经格式化了java代码,当我选择并使用ctrl+shift+/时 /* * if (isKilled) { Log.i("TAG", "Killed"); } */ 但当我对上述所选代码使用ctrl+shift+/时,eclipse并没有取消对我的代码的注释 我尝试了ctrl+shift+\,ctrl+shift+/和ctrl+\。什么都没用。我总是手动删除*s,即使注释的代码非常大 如何做到这一点?我还希望删除*s。尝试使用

是的,这可能是重复的,但是,他们给出的答案不适用于我的案例

我已经格式化了java代码,当我选择并使用
ctrl+shift+/

/*
 * if (isKilled) { Log.i("TAG", "Killed"); }
 */
但当我对上述所选代码使用
ctrl+shift+/
时,eclipse并没有取消对我的代码的注释

我尝试了
ctrl+shift+\
ctrl+shift+/
ctrl+\
。什么都没用。我总是手动删除*s,即使注释的代码非常大


如何做到这一点?我还希望删除*s。

尝试使用Ctr+Shift+C
对于我来说,这应该是可行的
删除块注释
(Ctrl+Shift+\)只在注释的第一行有代码时有效,因此您的示例不起作用,但是:

/* if (isKilled) { Log.i("TAG", "Killed"); }
 */

确实有效。

在eclipse中启用保存操作时基本上是这样的。当您使用“Crtl+Shift+/”或键入您自己的姓名来放置块注释时:

/*
 line 1
 line 2
 line 3
*/
然后保存,编辑器将其格式化为

 /*
 * line 1
 * line 2
 * line 3
 */
*在每个中间行上添加。这导致“Crtl+Shift+\”无法删除行前的那些“*”

解决方案是:

1-使用“Crtl+Shift+C”进行注释和取消注释(切换)。最好是这样。

2-如果您不想使用“Crtl+Shift+C”。这实际上是一个黑客。保存时,编辑器会将代码格式化为:

 /*
  * line 1
  * line 2
  * line 3
  */
您可以立即撤消(Crtl+Z)它。编辑器会将其放回早期阶段,但代码会按如下方式保存:

/*
 line 1
 line 2
 line 3
*/

现在,您可以在需要时使用“Crtl+Shift+\”取消注释。*不会给您带来麻烦:)

这可能没有那么容易。但它仍然有效! 我使用Ctrl+F获得查找和替换窗口,选中正则表达式复选框,并在替换部件中使用此正则表达式
^(\s*)/?\*/?(.*)$
\1\2
,然后单击“全部替换”。 如果只想取消注释一个注释代码部分,可以选择该区域并使用范围部分中的单选按钮“Selected lines”

正则表达式分解

^#表示行的开始。以避免在代码的其他部分中匹配*。
(#第一组。保留缩进
\s*#选择制表符/空格。缩进
)#第一组已关闭
/? 匹配注释第一行中的正斜杠
\*匹配注释中的星号(星号)。反斜杠用作分隔符
/? 匹配注释最后一行中的正斜杠
(#第二组。保留缩进
.#要取消注释的实际代码
)#第二组已关闭
$#直到队伍的尽头


希望这有帮助

从那时起我就有这个问题。始终记住,Ctrl+Shift+C将是正确的注释方式,但它从不“取消注释”

相反,只需更改为使用Ctrl+/(也适用于组),或者如果您愿意,也可以更改为使用Ctrl+Shift+/

它永远不会失败,不要再给自己压力了

  • 选择要注释/取消注释的代码行

  • 然后点击“Ctrl+/”进行注释/取消注释


  • 部分解决方案是禁用块注释格式

    如果这样做,则在格式化代码时,Eclipse将不会为多行块注释中的中间行添加*。因此,您可以使用
    Ctrl+Shift+\
    或仅通过删除
    /*
    */
    来删除此类块注释

    在Eclipse for PHP(Windows)中,在主菜单窗口->首选项->PHP->代码样式->格式化程序->编辑->注释
    取消选中“启用块注释格式化”

    在其他版本的Eclipse中,此选项也存在,但路径不同。

    在Eclipse中, 要添加和删除单行注释

    CNTRL+SHIFT+C

    例如:

    // if(i==1){
    // ...
    // }
    
    要添加和删除多行注释

    CNTRL+SHIFT+/-->添加 CNTRL+SHIFT+\-->删除

    例如:

    /* if(i==1){
       ...
    }
    */
    

    只需将*替换为空格并删除多余的斜杠。

    可能重复的Afaik有一种倾向,即从
    /**/
    注释转移到
    /
    注释。通过
    Ctrl+Shift+C
    可以轻松切换多行的
    /
    注释。我想,IDE支持的这种简单性是许多开发人员喜欢
    /
    而不是
    /**/
    的原因。是的
    /
    可能很简单。但是他们的方法是否适用于
    /***/
    ?截至2017年,没有解决方案!这是目前为止我找到的最好的解决方案。请查看您的关键地图。转到工具->选项,然后选择关键点地图选项卡。在搜索栏中键入“comment”,barIt说切换注释-java源代码。我尝试过但不适用于*ed多行代码当注释具有不同级别(/////等)时不适用于多行代码。True,但我正在寻找多行。这是多行,必须在注释的第一行有代码。我尝试过在第一行使用代码。它删除
    /*
    */
    但不删除第二行中的*s是的,它只处理由
    添加块注释
    插入的注释-它不会在中间行中添加*。如果我们使用
    /***//code>格式化注释的代码,eclipse编辑器也会为中间行添加*。