Знайдіть і замініть новий рядок у коді 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.