Sublimetext2 升华文本2如何仅删除注释

Sublimetext2 升华文本2如何仅删除注释,sublimetext2,Sublimetext2,在我的sass代码中,我有内联注释,我希望在崇高的文本中删除这些注释。是否可以单独永久删除所有评论内容 @function emCalc($values) { $emValues: ''; $max: length($values); //Get the total number of parameters passed @for $i from 1 through $max { $value: (nth($values, $i)); //Take the individua

在我的sass代码中,我有内联注释,我希望在崇高的文本中删除这些注释。是否可以单独永久删除所有评论内容

@function emCalc($values) {
  $emValues: '';
  $max: length($values); //Get the total number of parameters passed
  @for $i from 1 through $max {
    $value: (nth($values, $i)); //Take the individual parameter
    $value: $value / ($value * 0 + 1); //Doing this gets you one unit (1px)
    $value: $value / $em-base * 1em; //Divide the px value by emBase and return the value as em
    $emValues: #{$emValues + $value}; //Append to array
    @if $i < $max {
      $emValues: #{$emValues + " "}; //Adding space between parameters (except last), if there are multiple parameters
    }
  }
  @return $emValues; //Call emCalc like so emCalc(10, 20, 30, 40) it should return margin: 0.625em 1.25em 1.875em 2.5em
}
@函数emCalc($values){
$emValues:'';
$max:length($values);//获取传递的参数总数
@从$1到$max的$i{
$value:(n次($values,$i));//取单个参数
$value:$value/($value*0+1);//这样做可以得到一个单位(1px)
$value:$value/$em base*1em;//将px值除以emBase,返回em值
$emValues:#{$emValues+$value};//追加到数组
@如果$i<$max{
$emValues:#{$emValues+“”};//如果有多个参数,则在参数之间添加空格(最后一个除外)
}
}
@return$emValues;//像调用emCalc(10,20,30,40)一样调用emCalc,它应该返回边距:0.625em 1.25em 1.875em 2.5em
}

如果您没有其他可能性,您可以选择每个
/
(首先选择
/
,然后选择CtrlD,如果我的记忆正确,则留下注释)

然后按ShiftEnd选择带有
/
和Del!的行的每一端:)


(这可能有一个插件,但我认为这是最简单的方法。这表明你所有的
/
当然都是指注释的开头)

你需要再次检查这一点(手头有备份!),但是下面的正则表达式应该在“replace”窗口中工作,并启用正则表达式(图标*):

  • 打开“替换”窗口(ctrl+h/cmd+option+f)
  • 通过确保选中
    *
    图标来启用正则表达式匹配
  • 在“查找什么?”框中输入以下内容

  • 将“替换为”框留空以删除找到的文本

  • 单击“全部替换”
  • 编辑 正如@ollie所指出的,这也将删除任何前缀为
    /
    的URL。以下(经过轻度测试的)正则表达式应该可以更好地定位注释:
    (^\/\/.*)(\s+\/\/.*)

    编辑v2
    单行和多行注释的解决方案
    (^\/\/.*)(\s+\/\/.*)(\/\*)(.\/\*)+?(\*\/)

    其他答案都不包括所有情况(多行注释、单行注释、双斜杠注释和斜杠星形/星形斜杠注释)

    要匹配所有可能的情况(不匹配URL),请使用以下命令:

    (^[\s]*?\/\/.*)|(/\*[\s\S]+?\*/)
    

    下面是我在ST3中用HTML剥离所有注释的方法,特别是嵌入
    正文文本中的讨厌的注释,例如

  • 软件包控制安装
    选择直到

  • 退出并重新启动升华

  • ctrl+f

  • 点击删除


  • 这里的答案似乎都没有利用语法突出显示已经确定了所有注释的位置这一事实——只需在Python控制台(View menu->Show console)中执行此操作即可选择所有注释:

    view.sel().clear(); view.sel().add_all(view.find_by_selector('comment'))
    
    (键入/粘贴后按Enter键执行)
    然后按Delete键删除所有选择,按Esc键返回单选模式。如果您确定打印语句中没有//语句,则可以在mac升华文本中轻松执行此操作


    搜索
    /
    并点击
    cmd+ctrl+G
    ,然后选择点击
    cmd+shift+Arrow
    的整行内容并将其删除。假设您只使用了单行注释

    ctrl+D效果很好,但我必须继续这样做,以获得尽可能多的注释。ctrl+f和alt+enter让我在第二天到达那里eps与多次按ctrl+D相比,非常感谢这一绝妙的提示,效果非常好!这是我见过的最好的技巧。谢谢。它将帮助我使代码整洁。这是一个非常好的方法。有没有办法修改HTML注释?尽管这两行可能比较难,例如,
    @Ollie you's you's very right,我已经更新了希望是一个更好的正则表达式解决方案。非常欢迎改进。这非常好,但没有考虑多行注释(/*something*/)。@Crates使用多行解决方案更新(我刚刚看到了您自己的答案,我将+1)这是boss。完美这个问题不是关于HTML的。谢谢你的
    SelectUntil
    plugin。Windows上的Alt+Shift+S.nhahtdh是对的。但是我来这里是为了寻找Rowe所说的。所以,谢谢!非常好的答案。这将适用于所有编程语言。这工作非常完美,因为它利用了Su的内置语法突出显示BLIME文本,所以你不必担心错过任何评论或删除一些不是偶然的评论。我在HTML文档中测试了它,删除所有JavaScript注释,并且它工作正常。这对HTML注释和C++评论也适用吗?是的,它将具有正确的范围注释的任何语法定义,所以当然,任何与ST Qualife捆绑在一起的产品,可能都是真的:)
    view.sel().clear(); view.sel().add_all(view.find_by_selector('comment'))