Знайдіть і замініть новий рядок у коді Visual Studio


397

Я випробовую новий редактор коду Microsoft Visual Studio Code в середовищі Linux Fedora. Я хотів би знати, як замінити новий рядок (\ n) замість якогось іншого тексту.

Наприклад, у мене є такий html-текст

<tag><tag> 

яку я хотів би замінити як

<tag>
<tag>

У піднесенні я використовував би шаблон regex і знаходив "> <" і замінював на "> \ n <" Як це зробити в Visual Studio Code?



@RobertMacLean це запитання було задано перед вищезазначеним тегом
Sriram

1
@RobertMacLean створює дублікат циклу
Kishan Kumar


Насправді це не дублікат: інше питання задається питання про повернення вантажу, це питання про новий рядок, і жодна відповідь з якихось причин не працює для повернення вагона.
Джейсон Янг

Відповіді:


580

У місцевому вікні пошуку ( ctrl+ f) ви можете вставити нові рядки, натиснувши ctrl+ enter.

Зображення багаторядкового пошуку в локальному пошуку

Якщо ви використовуєте глобальний пошук ( ctrl+ shift+ f), ви можете вставити нові рядки, натиснувши shift+ enter.

Зображення багаторядкового пошуку в глобальному пошуку

Якщо ви хочете шукати мультилінії за літеральним символом, не забудьте перевірити правий крайній значок піктограми .

Зображення режиму регулярного вибору в пошуку замінити


У попередніх версіях коду Visual Studio це було важко або неможливо. Старіші версії вимагають використання режиму регулярного виразів, але більш старі версії не підтримували пошук у новому рядку.


6
Ні у версії 0.10.3. Але є розширення, яке може це зробити: marketplace.visualstudio.com/items/jmallien.ReplaceWithNewline
rmac

14
Зауважте, що замість символів нового рядка підтримується, пошук символів нового рядка все ще не працює, поки не буде виправлено github.com/Microsoft/vscode/isissue/313 .
C Snover

2
Це не працює на mac - він буквально замінює \ r або \ n
Naveen Vijay

38
Зауважте, що режим регексу повинен бути увімкнено. Якщо ні, то він не буде використовувати новий рядок.
neves

12
regex шукайте \\nта замінюйте \nдля мене роботи, використовуючи 1.25.0
Грегор

130

З випуском коду VS 1,38 ви можете натиснути CTRL+ Enterу полі пошуку редактора, щоб додати символ нового рядка.

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

З випуском коду VS 1.30 ви можете ввести Shift+ Enterу вікні пошуку, щоб додати символ нового рядка без необхідності використання режиму регулярного вираження.

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

З моменту випуску коду VS 1.3 , знаходження регулярного виразу підтримує символи нового рядка. Щоб скористатися цією функцією, встановіть вікно знаходження в режим регулярного вибору та використовуйте \nяк символ нової лінії

Знайдіть рядок у рядку VS Code


Це дало мені трохи поштовху в правильному напрямку. Мені потрібен порожній рядок для заміни HTML-коментарів: <!--[\s\S\n]*?-->І мені не вистачало \ n :)
Guntram

Я люблю цю функцію, працює і в пошуку, і заміни полів!
SimplyInk

5
Все ще не працює в ctrl + shift + f пошуку бічній панелі ... -_-
Xunnamius


24

Також зверніть увагу, що після натискання значка регулярного виразу, щоб фактично замінити \nтекст новим рядком, мені довелося використовувати \\nяк пошук і \nяк заміну.


1
Привіт @Stiv чудова порада, але це справді повинен бути коментарем, оскільки він не відповідає на питання.
Шикарний

Можливо, я б не заглянув у коментарі ... це була відповідь, яка мені була потрібна. Дякую @stiv!
Джек Райан

16

Можливим рішенням буде використання мульти курсору. виберіть> <частина вашого прикладу використовуйте Ctrl+ Shift+ Lабо виберіть усі події. Потім використовуйте клавіші зі стрілками для переміщення всіх курсорів між тегами та натисніть клавішу Enter, щоб скрізь вставити новий рядок.

Це не спрацює у всіх ситуаціях.

Ви також можете використовувати Ctrl+ Dдля вибору наступного матчу, який додає наступний збіг до вибору та додає курсор. І використовуйте Ctrl+ K Ctrl+, Dщоб пропустити вибір.


Ctrl+Dце здорово! Можливо, вам потрібно буде натиснути Ctrl+Fспочатку, а через кілька Ctrl+Ds або пропустити Ctrl+K Ctrl+D, ви можете натиснути, Escщоб розмістити курсор у всіх виділеннях!
CPHPython

4

У моїй версії mac VS Code я вибираю розділ, тоді ярлик є Ctrl+ jдля видалення розривів рядків.


1

з v1.31.1 в режимі RegEx функція «Замінити все» порушена. натискання цієї кнопки замінює лише один екземпляр


1

CTRL+ H, потім виберіть регулярний вираз (*) і запишіть \ n

Коротша версія: CTRL+ H ALT+ R\ n

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