Encuentre y reemplace con una nueva línea en Visual Studio Code


397

Estoy probando el nuevo editor de código de Microsoft Visual Studio en el entorno Linux Fedora. Me gustaría saber cómo reemplazar la nueva línea (\ n) en lugar de otro texto.

Por ejemplo, tengo un texto html como este

<tag><tag> 

que me gustaría reemplazar como

<tag>
<tag>

En sublime, usaría el patrón regex y buscaría "> <" y lo reemplazaría con "> \ n <" ¿Cómo logro esto en Visual Studio Code?



@RobertMacLean esta pregunta se hizo antes de la pregunta etiquetada anteriormente
Sriram

1
@RobertMacLean creando un ciclo duplicado
Kishan Kumar


En realidad, no es un duplicado: la otra pregunta se refiere al retorno de carro, esta vez a la nueva línea, y no, la respuesta no funciona para el retorno de carro por alguna razón.
Jason Young

Respuestas:


581

En el cuadro de búsqueda local ( ctrl+ f) puede insertar nuevas líneas presionando ctrl+ enter.

Imagen de búsqueda multilínea en búsqueda local

Si usa la búsqueda global ( ctrl+ shift+ f) puede insertar nuevas líneas presionando shift+ enter.

Imagen de búsqueda multilínea en búsqueda global

Si desea buscar líneas múltiples por el carácter literal, recuerde verificar el ícono de expresiones regulares más a la derecha .

Imagen del modo regex en búsqueda reemplazar


En versiones anteriores del código de Visual Studio, esto era difícil o imposible. Las versiones anteriores requieren que use el modo regex, las versiones anteriores aún no admitían la búsqueda de nueva línea.


66
Ni en la versión 0.10.3. Pero hay una extensión que puede hacer esto: marketplace.visualstudio.com/items/jmallien.ReplaceWithNewline
rmac

14
Tenga en cuenta que, aunque se admite la sustitución por caracteres de nueva línea, la búsqueda de caracteres de nueva línea todavía no funciona hasta que se solucione github.com/Microsoft/vscode/issues/313 .
C Snover

2
Esto no funciona en Mac, literalmente reemplaza \ r o \ n
Naveen Vijay

38
Tenga en cuenta que el modo regex debe estar activado. Si no, no usará una nueva línea.
neves

12
Regex buscar \\ny reemplazar con \ntrabajos para mí, usando 1.25.0
Gregor

130

Con VS Code versión 1.38 puede presionar CTRL+ Enteren el cuadro de búsqueda del editor para agregar un carácter de nueva línea.

ingrese la descripción de la imagen aquí

Con VS Code versión 1.30 , puede escribir Shift+ Enteren el cuadro de búsqueda para agregar un carácter de nueva línea sin necesidad de usar el modo regex.

ingrese la descripción de la imagen aquí

Desde VS Code versión 1.3 , el regex find ha admitido caracteres de nueva línea. Para usar esta función, configure la ventana de búsqueda en modo regex y úsela \ncomo el carácter de nueva línea.

Multilínea encontrar en VS Code gif


Esto me dio un pequeño empujón en la dirección correcta. Necesitaba la línea vacía para reemplazar los comentarios HTML: <!--[\s\S\n]*?-->y me faltaba el \ n :)
Guntram

Me encanta esta función, ¡también funciona en los campos de búsqueda y reemplazo!
SimplyInk

55
Todavía no funciona en la barra lateral de búsqueda ctrl + shift + f ... -_-
Xunnamius

61

En la versión 1.1.1:

  • Ctrl+H
  • Verifique el ícono de exp regular .*
  • Buscar: ><
  • Reemplazar: >\n<

15
¡Gracias por mencionar que debes presionar el ícono regexp!
Paul Chernoch

24

También tenga en cuenta que, después de presionar el icono de expresiones regulares, para reemplazar el \ntexto con una nueva línea, tuve que usar \\ncomo búsqueda y \ncomo reemplazo.


1
Hola @Stiv gran consejo, pero esto realmente debería haber sido un comentario ya que no responde a la pregunta.
Chic

Podría no haber mirado en los comentarios ... esta fue la respuesta que necesitaba. Gracias @stiv!
Jack Ryan

16

Una posible solución sería usar el cursor múltiple. seleccione la parte> <de su ejemplo use Ctrl+ Shift+ Lo seleccione todas las ocurrencias. Luego use las teclas de flecha para mover todos los cursores entre las etiquetas y presione Intro para insertar una nueva línea en todas partes.

Esto no funcionará en todas las situaciones.

También puede usar Ctrl+ Dpara seleccionar la siguiente coincidencia, que agrega la próxima coincidencia a la selección y agrega un cursor. Y use Ctrl+ K Ctrl+ Dpara omitir una selección.


Ctrl+D¡es genial! ¡Es posible que deba presionar Ctrl+Fprimero y después de unos Ctrl+Dsegundos o saltar Ctrl+K Ctrl+D, puede presionar Escpara colocar el cursor en todas las selecciones!
CPHPython

4

En mi versión para Mac de VS Code, selecciono la sección, luego el atajo es Ctrl+ jpara eliminar los saltos de línea.


1

con v1.31.1 en modo RegEx, la funcionalidad Reemplazar todo está rota. hacer clic en ese botón reemplaza solo una instancia


1

CTRL+ H, luego seleccione regex (*) y escriba \ n

Versión más corta: CTRL+ H ALT+ R\ n

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.