12

在我的 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
}
4

6 回答 6

37

您需要仔细检查(准备好备份!),但以下正则表达式应该在“替换”窗口中工作,启用正则表达式(* 图标):

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

    \/\/.*
    
  4. 将“替换为”框留空以删除找到的文本。

  5. 点击“全部替换”

编辑

正如@ollie 所指出的,这也将删除任何以//. 以下(经过轻微测试)正则表达式应该可以更好地定位注释:(^\/\/.*)|(\s+\/\/.*)

编辑 v2

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

于 2013-06-28T14:10:57.870 回答
18

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

然后按用和ShiftEnd选择每一行的结尾!:)//Del

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

于 2013-06-28T11:56:35.130 回答
7

这里的答案似乎都没有利用语法突出显示已经确定所有注释的位置这一事实 - 只需在 Python 控制台(查看菜单 -> 显示控制台)中执行此操作以选择所有注释:

view.sel().clear(); view.sel().add_all(view.find_by_selector('comment'))

Enter键入/粘贴后按下以执行它)然后按下Delete以删除所有选择并Esc返回单选模式

于 2017-06-15T16:52:39.353 回答
4

其他答案均未涵盖所有情况(多行注释、单行注释、双斜杠注释和斜杠星号/星号斜杠注释)。

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

(^[\s]*?\/\/.*)|(/\*[\s\S]+?\*/)
于 2014-08-29T16:36:24.790 回答
4

这是我在 HTML 中的 ST3 中所做的,以去除所有评论,尤其是嵌入<p>正文中的讨厌的评论,例如......

  1. 包控制安装SelectUntil

  2. 退出并重新启动 sublime

  3. ctrl+f<!--

  4. alt+enter选择所有实例<!--

  5. ctrl+ shift+s 将拉出一个输入字段,您可以在其中键入:-->

  6. 点击删除!

于 2014-10-29T02:23:22.360 回答
0

好吧,如果您确定 print 语句中没有 // ,那么在 mac Sublime Text 中有一种简单的方法可以做到这一点。

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

于 2017-09-27T08:22:46.760 回答