Есть ли ответ на это без использования регулярного выражения? Просто с помощью ярлыка, например CTRL-KD, который форматирует документ, но забывает удалить двойные пустые строки.
Jan
Ответы:
174
Поскольку Visual Studio 2012 изменил свой синтаксис регулярных выражений, исходные ответы Ala переводятся в VS 2012 следующим образом:
Удалить одиночные пустые строки
Старый:
^:b*$\n
Новое:
^(?([^\r\n])\s)*\r?$\r?\n
Visual Studio 2013 (спасибо BozoJoe и Джо Джонстону):
Ответ BozoJoe, для меня, также хорошо работал в VS2012 (обновление 4)
BertuPG
5
^ \ s + $ \ n изменено на ^ \ s * $ \ n, чтобы разрешить (без содержимого) чистые переводы строк.
Джо Джонстон
4
Как я могу сделать это автоматизированным, как работать с CTRL + K + D?
ErTR
Это предназначено для работы со строками или для кода в редакторе?
Кайл Делани
114
Это очень полезно, особенно если вы хотите упорядочить или сравнить коды, спасибо за людей, которые отвечают на этот вопрос, я получил ответ отсюда и хотел бы поделиться им со Stackoverflow:
Visual Studio имеет возможность удалять пустые строки в операции замены, используя регулярные выражения.
Нажмите Ctrl- H(быстрая замена)
Галочка "Использовать регулярные выражения"
В Find укажите ^$\n
В поле Заменить удалите все.
Нажмите «Заменить все»
Все пустые строки будут удалены.
Регулярное выражение для пустой строки состоит из
Начало строки ^
Конец линии $
Разрыв строки \n
Обратите внимание, что обычно в Windows конец строки обозначается 2 символами CRLF- Возврат каретки (CR, ASCII 13, \r) Перевод строки (LF, ASCII 10, \n).
Регулярное выражение для удаления пустых строк, которые являются / не являются действительно пустыми (то есть они имеют / не имеют пробелов): ^:b*$\n
Чтобы удалить двойные строки: ^:b*\n:b*\nзамените на:\n
* для Visual Studio 2013 и выше: *
^\s*$\n
и для двойных линий:
^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n
Смотрите обновления синтаксиса регулярных выражений для VS2012 и выше в ответе @ lennart ниже
Работает как прелесть с очисткой XML-файла в Visual Studio 2015. Кто-нибудь знает, как создать ярлык для выполнения этого?
Лешек П
1
для Visual Studio 2012 и выше проверьте ответ ниже
Alaa
1
Есть ли способ для этого работать с автоматическим форматером?
Кайл Делани
19
В Visual Studio 2013 (версия 12.0.20623.01) я удалил пустые строки с помощью этого регулярного выражения. ^\r\nНа экране вы можете видеть совпадающие линии, обозначенные коричневыми квадратами.
Я тоже попробовал такой способ, но визуальная студия застряла на несколько минут, а затем заменила только 1 случай из нескольких сотен, которые у меня были! LOL :-D
BertuPG
17
Протестировано в VS 2012, чтобы обеспечить чистые переводы строк.
Установите CodeMaid и нажмите Ctrl+M, Space' to clean up the code. (It formats the code, like Format DocumentCtrl + E, D`, а также). Вы можете убрать больше файлов из Solution Explorer.
Ctrl+ K, Ctrl+ Dавтоматически форматирует текущий документ, и это удаляет ненужный пробел в вашем коде. Это помогает сохранить ваш код читабельным, если это то, что вы искали.
Ответы:
Поскольку Visual Studio 2012 изменил свой синтаксис регулярных выражений, исходные ответы Ala переводятся в VS 2012 следующим образом:
Удалить одиночные пустые строки
Старый:
Новое:
Visual Studio 2013 (спасибо BozoJoe и Джо Джонстону):
Удалить двойные пустые строки
Старый:
Новое:
Катится прямо с вашего языка.
Вот конверсионный лист из MSDN.
источник
Это очень полезно, особенно если вы хотите упорядочить или сравнить коды, спасибо за людей, которые отвечают на этот вопрос, я получил ответ отсюда и хотел бы поделиться им со Stackoverflow:
Visual Studio имеет возможность удалять пустые строки в операции замены, используя регулярные выражения.
Нажмите Ctrl- H(быстрая замена)
Галочка "Использовать регулярные выражения"
В Find укажите
^$\n
В поле Заменить удалите все.
Нажмите «Заменить все»
Все пустые строки будут удалены.
Регулярное выражение для пустой строки состоит из
Начало строки
^
Конец линии
$
Разрыв строки
\n
Обратите внимание, что обычно в Windows конец строки обозначается 2 символами CRLF- Возврат каретки (CR, ASCII 13,
\r
) Перевод строки (LF, ASCII 10,\n
).Регулярное выражение для удаления пустых строк, которые являются / не являются действительно пустыми (то есть они имеют / не имеют пробелов):
^:b*$\n
Чтобы удалить двойные строки:
^:b*\n:b*\n
замените на:\n
* для Visual Studio 2013 и выше: *
и для двойных линий:
Смотрите обновления синтаксиса регулярных выражений для VS2012 и выше в ответе @ lennart ниже
источник
В Visual Studio 2013 (версия 12.0.20623.01) я удалил пустые строки с помощью этого регулярного выражения.
^\r\n
На экране вы можете видеть совпадающие линии, обозначенные коричневыми квадратами.источник
Протестировано в VS 2012, чтобы обеспечить чистые переводы строк.
НТН
источник
Использование Visual Studio 2017 и выше
в текущем документе
использовать ярлык
Edit.DeleteBlankLines
выделите весь текст и нажмите на ярлык
источник
Чтобы удалить две или более соседних пустых строки с VS2012, используйте это:
источник
Я использую Visual Studio 2017, ни один из вышеперечисленных работал для меня, пока я не попробовал
\n\r
шаги:
\n\r
в поле «Найти ...»источник
Чтобы удалить двойные строки: ^: b * \ n: b * \ n заменить на: \ n
Источник: http://geekswithblogs.net/mnf/archive/2008/03/04/remove-empty-lines-in--text-using-visual-studio.aspx
источник
Установите CodeMaid и нажмите
Ctrl+M, Space' to clean up the code. (It formats the code, like Format Document
Ctrl + E, D`, а также). Вы можете убрать больше файлов из Solution Explorer.источник
В VS 2012 строка регулярного выражения, используемая для поиска и замены всех пустых строк, представляет собой ^ (? ([^ \ R \ n]) \ s) \ r? \ N
источник
Ctrl+ K, Ctrl+ Dавтоматически форматирует текущий документ, и это удаляет ненужный пробел в вашем коде. Это помогает сохранить ваш код читабельным, если это то, что вы искали.
источник