Trova e sostituisci con una nuova riga in Visual Studio Code


397

Sto provando il nuovo editor di codice Microsoft Visual Studio in ambiente Fedora Linux. Vorrei sapere come sostituire la nuova riga (\ n) al posto di qualche altro testo.

Ad esempio, ho un testo HTML come questo

<tag><tag> 

che vorrei sostituire come

<tag>
<tag>

In sublime userei il modello regex e troverei "> <" e lo sostituirò con "> \ n <" Come posso farlo in Visual Studio Code?



@RobertMacLean questa domanda è stata posta prima della domanda taggata sopra
Sriram

1
@RobertMacLean crea un ciclo duplicato
Kishan Kumar il


In realtà non è un duplicato: l'altra domanda riguarda il ritorno a capo, questa a proposito di newline, e no la risposta non funziona per il ritorno a capo per qualche motivo.
Jason Young,

Risposte:


581

Nella casella di ricerca locale ( ctrl+ f) è possibile inserire nuove righe premendo ctrl+ enter.

Immagine della ricerca multilinea nella ricerca locale

Se si utilizza la ricerca globale ( ctrl+ shift+ f) è possibile inserire nuove righe premendo shift+ enter.

Immagine della ricerca multilinea nella ricerca globale

Se si desidera cercare multiline dal carattere letterale, ricordarsi di controllare l' icona regex più a destra .

L'immagine della modalità regex nella ricerca sostituisce


Nelle versioni precedenti di Visual Studio questo era difficile o impossibile. Le versioni precedenti richiedono l'utilizzo della modalità regex, le versioni precedenti non supportano affatto la ricerca newline.


6
Né nella versione 0.10.3. Ma c'è un'estensione che può fare questo: marketplace.visualstudio.com/items/jmallien.ReplaceWithNewline
rmac

14
Si noti che durante la sostituzione con i caratteri di nuova riga è supportato, la ricerca di caratteri di nuova riga non funziona fino a quando non viene risolto github.com/Microsoft/vscode/issues/313 .
C Snover,

2
Questo non funziona sul Mac - sostituisce letteralmente \ r oppure \ n
Naveen Vijay,

38
Nota che la modalità regex deve essere attiva. In caso contrario, non utilizzerà una nuova riga.
neves

12
regex cerca \\ne sostituisce con \nlavori per me, usando 1.25.0
Gregor

130

Con la versione 1.38 di VS Code è possibile premere CTRL+ Enternella casella Trova dell'editor per aggiungere un carattere di nuova riga.

inserisci qui la descrizione dell'immagine

Con VS Code versione 1.30 è possibile digitare Shift+ Enternella casella di ricerca per aggiungere un carattere di nuova riga senza dover utilizzare la modalità regex.

inserisci qui la descrizione dell'immagine

Dalla versione 1.3 di VS Code , regex find ha supportato i caratteri newline. Per utilizzare questa funzione impostare la finestra di ricerca in modalità regex e utilizzare \ncome carattere di nuova riga.

Trova multilinea in VS Code gif


Questo mi ha dato una piccola spinta nella giusta direzione. Avevo bisogno della riga vuota per sostituire i commenti HTML: <!--[\s\S\n]*?-->E mi mancava il \ n :)
Guntram

Adoro questa funzione, funziona nella ricerca e sostituisce anche i campi!
SimplyInk,

5
Ancora non funziona nella barra laterale ctrl +
maiusc

61

Nella versione 1.1.1:

  • Ctrl+H
  • Controlla l'icona exp normale .*
  • Ricerca: ><
  • Sostituire: >\n<

15
Grazie per aver menzionato che devi premere l'icona regexp!
Paul Chernoch,

24

Inoltre, dopo aver colpito l'icona regex, per sostituire effettivamente il \ntesto con una nuova riga, ho dovuto usare \\ncome ricerca e \ncome sostituzione.


1
Ciao @Stiv ottimo consiglio, ma questo avrebbe dovuto essere un commento dato che non risponde alla domanda.
Chic il

Potrebbe non aver guardato nei commenti ... questa era la risposta di cui avevo bisogno. Grazie @stiv!
Jack Ryan,

16

Una possibile soluzione alternativa sarebbe utilizzare il multi-cursore. seleziona> <parte del tuo esempio usa Ctrl+ Shift+L o seleziona tutte le occorrenze. Quindi utilizzare i tasti freccia per spostare tutti i cursori tra i tag e premere Invio per inserire una nuova riga ovunque.

Questo non funzionerà in tutte le situazioni.

Puoi anche usare Ctrl+ Dper selezionare la corrispondenza successiva, che aggiunge la corrispondenza successiva alla selezione e aggiunge un cursore. E usa Ctrl+ K Ctrl+ Dper saltare una selezione.


Ctrl+Dè grande! Potrebbe essere necessario premere Ctrl+Fprima e dopo qualche secondo Ctrl+Do saltare con Ctrl+K Ctrl+D, è possibile premere Escper posizionare il cursore in tutte le selezioni!
CPHPython,

4

Nella mia versione mac di VS Code, seleziono la sezione, quindi il collegamento è Ctrl+ jper rimuovere le interruzioni di riga.


1

con v1.31.1 in modalità RegEx la funzionalità Sostituisci tutto è interrotta. facendo clic su quel pulsante si sostituisce solo un'istanza


1

CTRL + H , quindi selezionare regex (*) e scrivere \ n

Versione più breve: CTRL+ H ALT+ R\ n

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.