Sublime text 2 как удалить только комментарии

В моем коде 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
}

Ответ 1

Если у вас нет другой возможности, вы можете выбрать каждый // (сначала выберите //, затем Ctrl D, а комментарии останутся, если моя память верна).

Затем нажмите Shift End, чтобы выбрать каждый конец строки с помощью // и Del!:)

(Возможно, для этого есть плагин, но это самый простой метод, который я думаю. Это говорит о том, что все ваши // относятся к началу комментария, конечно)

Ответ 2

Вам нужно дважды проверить это (иметь резервную копию!), но следующее следующее выражение должно работать в окне "replace", с включенными регулярными выражениями (значок *):

  • Откройте окно "replace" (ctrl + h/cmd + option + f)
  • Включить регулярное выражение, убедившись, что значок * выбран
  • Введите в "Найти что?" коробка

    \/\/.*
    
  • Оставьте поле "заменить на" пустым, чтобы удалить найденный текст.

  • Нажмите "Заменить все"

Изменить

как отметил @ollie, это также удалит любые URL-адреса с префиксом //. Следующее (слегка проверенное) регулярное выражение должно служить для улучшения целевых комментариев: (^\/\/.*)|(\s+\/\/.*)

Изменить v2

Решение для одиночных и многострочных комментариев (^\/\/.*)|(\s+\/\/.*)|((\/\*)(.|\n)+?(\*\/))

Ответ 3

Ни один из других ответов не охватывает все случаи (многострочные комментарии, комментарии по одной строке, комментарии с двойной косой чертой и комментарии слэш-звездочкой/звездочкой).

Чтобы соответствовать всем возможным случаям (без соответствующих URL-адресов), используйте следующее:

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

Ответ 4

Вот что я делаю в ST3 в HTML, чтобы удалить все комментарии, особенно неприятные комментарии, встроенные в текстовый текст <p>, например...

  • установка пакета SelectUntil

  • выйти и перезапустить возвышенное

  • ctrl + f <!--

  • alt + enter, чтобы выбрать все экземпляры <!--

  • ctrl + shift + s вытащит поле ввода, где вы можете ввести: -->

  • нажмите delete!

Ответ 5

Ни один из ответов здесь, по-видимому, не использует тот факт, что подсветка синтаксиса уже определила, где все комментарии - просто выполните это в консоли Python (меню "Вид" → "Показать консоль" ), чтобы выбрать все комментарии:

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

(нажмите Enter после ввода/вставки его для его выполнения) затем нажмите Delete, чтобы удалить все выборы и Esc, чтобы вернуться в режим одиночного выделения.

Ответ 6

Хорошо, есть простой способ сделать это в Mac Sublime Text, если вы уверены, что в операторах печати нет //.

найдите // и нажмите cmd+ctrl+G, а затем выберите целую строку, которая нажала cmd+shift+Arrow и удалила ее. Предполагая, что вы использовали только одиночные комментарии