Есть ли способ удалить все строки комментариев в Sublime Text 3?

Я знаю, что в Vim вы можете удалить все комментарии в файле с помощью сочетания клавиш, но мне не удалось найти аналогичную технику в ST3. Это было бы особенно полезно для gemfiles и других файлов, которые имеют отвлекающие комментарии повсюду.

Поиск сочетания клавиш или быстрой и простой альтернативы.

какие предложения?

2 ответов


проще всего использовать регулярное выражение search-and-replace, например,

  • Cmd-Opt-f
  • выберите .* (выражение)
  • Найти: ^#.*\n Примечание 1
  • заменить на: (ничего)

Это не будет работать для блоков комментариев. Для них вам нужно быть немного сложнее, (очень) грубо:

=begin(.|\n)*=end

(не проверял надежно.)

Если вы делаете это много (что ИМО немного странно), вы можете привязать его к ключу.


Примечание 1: это работает для комментариев в начале линии. Он не делает комментариев, добавляемых к строкам кода; если вы хотите обработать это, вы можете удалить ^ но вам нужно будет так что-то о EOLs, которые исчезнут во время замены. Или вы можете просто игнорировать EOL и иметь пустые строки, где комментарии строк были.


то, что ответил Дэйв, не сработало для меня. Так что сделайте следующее, если это тот же случай для вас тоже,

удалить все конкретный элемент , включая содержимое внутри него:

  • Ctrl + H (на PC)
  • Включить (Регулярное Выражение):.* или Alt + R
  • Найти:

    синтаксис для работы с конкретным тег

    (?s).*?

    например, для тегов комментариев CSS,

    (?с.*/)*?*/

    для тегов комментариев HTML,

    (?s)

  • заменить на: оставьте поле пустым

  • Заменить Все