Видаліть порожні рядки з тексту за допомогою Visual Studio


152

Як видалити порожні рядки у Visual Studio?



2
Чи є відповідь на це без використання регулярного вираження? Просто за допомогою ярлика типу CTRL-KD, який форматує документ, але забуває видалити подвійні порожні рядки.
Jan

Відповіді:


174

Оскільки Visual Studio 2012 змінив синтаксис регулярних виразів, оригінальні відповіді Ала перекладаються у VS 2012:

Видаліть окремі порожні рядки

Старий:

^:b*$\n

Нове:

^(?([^\r\n])\s)*\r?$\r?\n

Visual Studio 2013 (завдяки BozoJoe та Джо Джонстону):

^\s*$\n

Видаліть подвійні порожні рядки

Старий:

^:b*\n:b*\n

Нове:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

Відкочує язик прямо.

Ось лист конвертації з MSDN.


13
vs2013: ^ \ s + $ \ n
BozoJoe

Відповідь BozoJoe для мене також добре працював у VS2012 (оновлення 4)
BertuPG

5
^ \ s + $ \ n змінено на ^ \ s * $ \ n дозволяють (без вмісту) каналів чистого рядка.
Джо Джонстон

4
Як я можу зробити це автоматизованим, як, наприклад, робота з CTRL + K + D?
ErTR

Це означає працювати для рядків або для коду в редакторі?
Кайл Делані

114

Це дуже корисно, особливо якщо ви хочете впорядкувати або порівняти коди, дякую людям, які відповідають на це запитання, я отримав відповідь звідси і хотів би поділитися ним із Stackoverflow:

Visual Studio має можливість видаляти порожні рядки в процесі заміни, використовуючи регулярні вирази.

  • Клацніть Ctrl- H(швидка заміна)

  • Поставте галочку "Використовувати регулярні вирази"

  • У розділі Знайти вкажіть ^$\n

  • У полі Замінити видаліть усе.

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

Усі порожні рядки будуть видалені.

Регулярний вираз для порожнього рядка складається з

Початок рядка ^

Кінець рядка $

Розрив лінії \n

Зауважте, що зазвичай у Windows кінець рядка позначений двома символами - Повернення перевезення (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На екрані ви бачите відповідні лінії, позначені коричневими квадратами.

Visual Studio 2013 замінить порожні рядки


Я також спробував такий спосіб, але візуальна студія застрягла на кілька хвилин, а потім замінила лише 1 зустріч із кількох сотень у мене! lol :-D
BertuPG


17

Використання Visual Studio 2017 і вище

у поточному документі

використовувати ярлик

  • Відкрийте Інструменти > Опції або натисніть Alt+ T+O
  • На вкладці " Середовище" > Клавіатура
  • Знайдіть " DeleteBlank " та виберітьEdit.DeleteBlankLines
  • Додайте новий ярлик, наприклад Ctrl+ D, Ctrl+E
  • Призначити > ОК

виберіть весь текст і натисніть ярлик

введіть тут опис зображення


Це видалення лише вибраних порожніх рядків або з поточного рядка до наступного непорожнього рядка. Це не для всього документа чи проекту.
Jan

1
Спробуйте вибрати всі перед запуском команди, тоді вона буде працювати.
Кріс Морнес

9

Для видалення двох або більше сусідніх порожніх рядків за допомогою VS2012 використовуйте це:

^(?([^\r\n])\s)*\r?$\r?\n^(?([^\r\n])\s)*\r?$\r?\n

Я шукав рішення замінити два порожні рядки на лише один. Це працює для мене. Дякую!
Рікардо Франча

8

Я використовую візуальну студію 2017 року, не з вищезазначеного працював для мене, поки не спробував \n\r

Кроки:

  1. Ctrl + H (відкриває пошук і заміну)
  2. Виберіть використовувати регулярний вираз (Alt + E)
  3. Введіть \n\rвхід "Знайти ..."
  4. Натисніть кнопку Замінити


2

Встановіть CodeMaid і також натисніть Ctrl+M, Space' to clean up the code. (It formats the code, like Format DocumentCtrl + E, D`). Ви можете очистити більше файлів з Провідника рішень.


1

У VS 2012 рядок регулярного вираження, який використовується для пошуку та заміни всіх порожніх рядків, є ^ (? ([^ \ R \ n]) \ s) \ r? \ N


0

Ctrl+ K, Ctrl+ Dавтоматично форматує поточний документ, що видаляє зайвий простір у вашому коді. Це допомагає зберегти ваш код читабельним, якщо це те, що ви шукали.


я посилаюсь на своє питання, будь ласка, дивіться, він шукає, це те, що я шукав. stackoverflow.com/questions/44747909/… .
Вівек Шукла

1
Це не видаляє подвійні / повторно випорожнені порожні рядки.
Jan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.