¿Cómo encuentro y reemplazo todas las ocurrencias (en todos los archivos) en Visual Studio Code?

245

No puedo encontrar la manera de encontrar y reemplazar todas las apariciones de una palabra en diferentes archivos con Visual Studio Code versión 1.0.

Tengo la impresión de que esto debería ser posible ya que hacer Ctrl + Shift + F me permite simplemente buscar una carpeta, pero no tengo idea de cómo proceder desde aquí.

Miré en varias combinaciones de teclas https://code.visualstudio.com/Docs/customization/keybindings

Pero solo encontré cómo reemplazar todas las ocurrencias en el archivo abierto (Ctrl + h)

Toda ayuda agradecida, esto me está volviendo loco.

Cisum Inas
fuente

Respuestas:

363

Estoy usando Visual Studio Code 1.8, y esta función está disponible. Pero es un poco difícil de entender al principio, y (al momento de escribir esto) los documentos no explican claramente cómo usarlo, así que así es cómo funciona, paso a paso:

Invocar Reemplazar en archivos (en el menú Edición, o con acceso directo Ctrl+ Shift+ H)

Verá una entrada estándar Buscar / reemplazar que reemplaza el panel de archivos a la izquierda:

ingrese la descripción de la imagen aquí

Ingrese su cadena de búsqueda y la cadena de reemplazo, luego presione enter. Puede agitarse por un segundo buscando todos los archivos, luego mostrará los cambios propuestos en todos los archivos de su proyecto, pero tenga en cuenta que estos cambios aún no se han realizado. Así es como se ve:

ingrese la descripción de la imagen aquí

Ahora necesita hacer los cambios (e incluso después de eso, debe guardar los archivos modificados ).

Puede hacer esos cambios de varias maneras:

1) Realice todos los cambios en todos los archivos a la vez.

Haga clic en el icono de reemplazo al lado de su cadena de reemplazo (nota: obtendrá un cuadro de diálogo para confirmar esta acción masiva).

ingrese la descripción de la imagen aquí

2) Realice todos los cambios en un solo archivo a la vez.

Haga clic en el icono de reemplazo al lado del nombre del archivo (nota: el icono solo aparece cuando pasa el cursor sobre la fila del nombre del archivo)

ingrese la descripción de la imagen aquí

3) Realice un solo cambio en un solo archivo.

Haga clic en el icono de reemplazo al lado del cambio individual: (nota: el icono solo aparece cuando pasa el cursor sobre la fila de cambio)

ingrese la descripción de la imagen aquí

¡Finalmente, no olvides guardar!

Todos esos archivos ahora se modifican en el editor y aún no se guardan en el disco.

Utilice Archivo -> Guardar todo (o Ctrl+ Alt+ S)

Actualización: no estoy seguro de cuándo se agregó esto, pero si hace clic en el botón "Reemplazar todo" y ve este cuadro de diálogo, al hacer clic en "Reemplazar" cambiará y guardará todos los archivos con un solo clic:

ingrese la descripción de la imagen aquí

Jeff Ward
fuente
1
¿Es posible guardar un 'buscar-reemplazar'? A menudo busco 'class =' ​​y lo reemplazo con 'className ='
Rune Jeppesen
1
¿Es posible omitir el último paso y hacer una búsqueda silenciosa y reemplazarla? Si estoy haciendo una búsqueda trivial y reemplazo, no quiero guardar cada archivo individual.
sáb
1
No estoy seguro de la respuesta a ninguna de estas preguntas. Pero @satJ, tenga en cuenta que Ctrl+Alt+Sguarda todos los archivos modificados a la vez, por lo que es bastante rápido y fácil.
Jeff Ward,
Maldita sea, eso es peligroso, cambiar todos los archivos por defecto. ¿Hay un comando para buscar / reemplazar en un solo archivo?
Alexander Mills
El valor predeterminado de guardar todo actual es Ctrl-k, seguido de la letra s. Ctrl-k, seguido de Ctrl + w cerrará todas sus ventanas después de que los programas hayan abierto un montón de ellas.
Rebecca
26

Actualizar

A partir de la versión 1.3 (junio de 2016) es posible buscar y reemplazar en Visual Studio Code. Usando ctrl + shift + f, puede buscar y reemplazar todas las ocurrencias.

Parece que esto no es posible en este momento (Versión 1.1.1 (abril de 2016))

"P: ¿Es posible buscar y reemplazar globalmente?

R: Esta característica aún no está implementada, ¡pero puede esperar que llegue en el futuro! "

https://code.visualstudio.com/Docs/editor/codebasics

Esto parece también solicitado por la comunidad: https://github.com/Microsoft/vscode/issues/1690

Cisum Inas
fuente
Para buscar cosas en una carpeta específica, simplemente agregue la ruta de la carpeta en el campo files to include. Puede encontrar / reemplazar cosas incluso fuera del espacio de trabajo. ⚠ no busca dentro de los nombres de archivo, sino dentro de los archivos. (¿Alguien sabe cómo buscar el nombre del archivo fuera del espacio de trabajo?)
JinSnow
22

Para reemplazar una cadena en un solo archivo (actualmente abierto): CTRL + H

Para reemplazar a nivel de espacio de trabajo, use: CTRL + SHIFT + H

Sidd501
fuente
Nota: Debe presionar Intro para que se ejecute la búsqueda cuando use Ctrl + Shift + H.
Aaron Franke
19

Esta es la mejor manera.

  1. Primero coloque el cursor sobre el miembro y haga clic en F2.

  2. Luego escriba el nuevo nombre y presione la tecla Intro. Esto cambiará el nombre de todas las ocurrencias en cada archivo en su proyecto.

Esto es ideal para cuando desee cambiar el nombre de varios archivos. Por ejemplo, es posible que desee cambiar el nombre de una función de acceso público en un servicio Angular y que se actualicen todos los sitios que lo utilizan.

Para obtener más herramientas excelentes, recomiendo: https://johnpapa.net/refactoring-with-visual-studio-code/

DonDaniel
fuente
¿Qué sucede si quiero cambiar el nombre de las ocurrencias solo en el archivo actual?
temirbek
@temirbek He estado siguiendo esta solicitud por un tiempo. Han pasado más de 2 años y aún no se ha implementado. github.com/Microsoft/vscode/issues/14836
DonDaniel
Hola, ¿también cambia el nombre de las carpetas relacionadas y las importa?
Tamashi Kaizen el
5

En la página Vinculaciones de teclas del código de Visual Studio , la sección Referencia de atajos de teclado tiene enlaces a un PDF para cada sistema operativo principal. Una vez abierto, busque "reemplazar en archivos" o cualquier otro acceso directo que pueda necesitar.

Otra forma es usar la Paleta de comandos ( ctrl/cmd+ shift+ P) donde puede escribir "reemplazar" para enumerar todos los comandos relacionados, incluido el que desee:

Reemplazar en archivos ctrl/cmd+ shift+H

T04435
fuente