Znajdź i zamień na nowy wiersz w programie Visual Studio Code

397

Próbuję nowego edytora Microsoft Visual Studio Code w środowisku Linux Fedora. Chciałbym wiedzieć, jak zastąpić nowy wiersz (\ n) zamiast jakiegoś innego tekstu.

Na przykład mam taki tekst HTML

<tag><tag> 

który chciałbym zastąpić jako

<tag>
<tag>

W wzniosły sposób użyłbym wzorca wyrażenia regularnego i znajduję „> <” i zastępuję go „> \ n <” Jak to zrobić w programie Visual Studio Code?

Sriram
źródło
@RobertMacLean to pytanie zostało zadane przed powyższym otagowanym pytaniem
Sriram
1
@RobertMacLean tworzy zduplikowany cykl
Kishan Kumar
Widziałeś to.? stackoverflow.com/a/50042582/6597375
Deepu Reghunath 24.04.2019
Właściwie to nie duplikat: drugie pytanie dotyczy zwrotu karetki, to pytanie o znak nowej linii i żadna odpowiedź nie działa z jakiegoś powodu na powrót karetki.
Jason Young,

Odpowiedzi:

580

W lokalnym polu wyszukiwania ( ctrl+ f) możesz wstawiać znaki nowej linii, naciskając ctrl+ enter.

Obraz wyszukiwania wielowierszowego w wyszukiwaniu lokalnym

Jeśli korzystasz z wyszukiwania globalnego (ctrl + shift+ f), możesz wstawiać znaki nowej linii, naciskając shift+ enter.

Obraz wyszukiwania wielowierszowego w wyszukiwaniu globalnym

Jeśli chcesz szukać multilinii według literału znaków, pamiętaj, aby sprawdzić ikonę wyrażenia regularnego znajdującego się po prawej stronie .

Obraz trybu wyrażenia regularnego w wyszukiwaniu zastępuje


W poprzednich wersjach kodu Visual Studio było to trudne lub niemożliwe. Starsze wersje wymagają użycia trybu wyrażenia regularnego, starsze wersje jeszcze nie obsługiwały wyszukiwania nowego wiersza.

Håkon Egset Harnes
źródło
6
Ani w wersji 0.10.3. Ale istnieje rozszerzenie, które może to zrobić: marketplace.visualstudio.com/items/jmallien.ReplaceWithNewline
rmac
14
Zauważ, że chociaż obsługiwane jest zastępowanie znakami nowej linii, znajdowanie znaków nowej linii nadal nie działa, dopóki github.com/Microsoft/vscode/issues/313 nie zostanie naprawiony.
C Snover,
2
To nie działa na Macu - dosłownie zastępuje \ r lub \ n
Naveen Vijay
38
Pamiętaj, że musi być włączony tryb wyrażenia regularnego. Jeśli nie, nie użyje nowego wiersza.
neves
12
regex wyszukaj \\ni zamień na \ndziała dla mnie, używając 1.25.0
Gregor
130

W wersji VS Code 1.38 możesz nacisnąć CTRL+ Enterw polu wyszukiwania edytora, aby dodać znak nowej linii.

wprowadź opis zdjęcia tutaj

W wersji VS Code 1.30 możesz wpisać Shift+ Enterw polu wyszukiwania, aby dodać znak nowej linii bez potrzeby używania trybu wyrażenia regularnego.

wprowadź opis zdjęcia tutaj

Od wersji VS Code 1.3 wyszukiwanie wyrażeń regularnych obsługuje znaki nowej linii. Aby użyć tej funkcji, ustaw okno wyszukiwania w tryb wyrażenia regularnego i użyj \njako znaku nowej linii.

Znajdź multilinię w VS Code gif

Szyk
źródło
To dało mi mały nacisk we właściwym kierunku. Potrzebowałem pustego wiersza, aby zastąpić komentarze HTML: <!--[\s\S\n]*?-->I brakowało mi \ n :)
Guntram,
Podoba mi się ta funkcja, działa również w wyszukiwaniu i zastępuję pola!
SimplyInk
5
Nadal nie działa na pasku bocznym wyszukiwania Ctrl + Shift + F ... -_-
Xunnamius
61

W wersji 1.1.1:

  • Ctrl+H
  • Sprawdź ikonę regularnego exp .*
  • Szukaj: ><
  • Zastąpić: >\n<
Eric Bole-Feysot
źródło
15
Dziękujemy za wspomnienie, że musisz nacisnąć ikonę wyrażenia regularnego!
Paul Chernoch
24

Pamiętaj też, że po naciśnięciu ikony wyrażenia regularnego, aby faktycznie zastąpić \ntekst nową linią, musiałem użyć \\njako wyszukiwania i \njako zamień.

Stiv Ostenberg
źródło
1
Cześć @Stiv świetna wskazówka, ale tak naprawdę powinien to być komentarz, ponieważ nie odpowiada na pytanie.
Szyk
Może nie spojrzałem w komentarzach ... to była odpowiedź, której potrzebowałem. Dzięki @stiv!
Jack Ryan
16

Możliwym obejściem byłoby użycie multi-kursora. wybierz> <część przykładu użyj Ctrl+ Shift+ Llub wybierz wszystkie wystąpienia. Następnie użyj klawiszy strzałek, aby przenieść wszystkie kursory między znacznikami i naciśnij klawisz Enter, aby wstawić nowy wiersz wszędzie.

To nie zadziała we wszystkich sytuacjach.

Możesz także użyć Ctrl+ Ddo wyboru następnego dopasowania, co dodaje kolejne dopasowanie do zaznaczenia i dodaje kursor. I użyj Ctrl+ K Ctrl+, Daby pominąć wybór.

Bastiaan Deknudt
źródło
Ctrl+Djest super! Być może będziesz musiał nacisnąć Ctrl+Fnajpierw, a po kilku Ctrl+Dsekundach lub przeskoczyć za pomocą Ctrl+K Ctrl+D, możesz nacisnąć, Escaby umieścić kursor we wszystkich zaznaczeniach!
CPHPython
4

W mojej wersji VS Code Mac, wybieram sekcję, a następnie skrót to Ctrl+, jaby usunąć podziały linii.

tripleonard
źródło
1

W wersji 1.3.3.1 w trybie RegEx funkcja Zamień wszystko jest zepsuta. kliknięcie tego przycisku zastępuje tylko jedno wystąpienie

ekkis
źródło
1

CTRL+ H, a następnie wybierz wyrażenie regularne (*) i napisz \ n

Krótsza wersja: CTRL+ H ALT+ R\ n

TomoMiha
źródło