Comment rechercher et remplacer toutes les occurrences (dans tous les fichiers) dans Visual Studio Code?

245

Je ne peux pas comprendre comment rechercher et remplacer toutes les occurrences d'un mot dans différents fichiers à l'aide de Visual Studio Code version 1.0.

J'ai l'impression que cela devrait être possible car faire Ctrl + Shift + F me permet de rechercher simplement un dossier, mais je ne sais pas comment procéder à partir d'ici.

J'ai regardé dans diverses combinaisons de touches https://code.visualstudio.com/Docs/customization/keybindings

Mais j'ai seulement trouvé comment remplacer toutes les occurrences du fichier ouvert (Ctrl + h)

Toute aide appréciée avec gratitude, cela me rend fou.

Cisum Inas
la source

Réponses:

363

J'utilise Visual Studio Code 1.8, et cette fonctionnalité est disponible. Mais c'est un peu difficile à comprendre au début, et (au moment de la rédaction) les documents n'expliquent pas clairement comment l'utiliser, alors voici comment cela fonctionne, étape par étape:

Appelez Remplacer dans les fichiers (sous le menu Edition, ou avec le raccourci Ctrl+ Shift+ H)

Vous verrez une entrée standard Rechercher / Remplacer remplaçant le volet des fichiers sur la gauche:

entrez la description de l'image ici

Saisissez votre chaîne de recherche et la chaîne de remplacement, puis appuyez sur entrée. Il peut s'agiter une seconde dans tous les fichiers, puis il montrera les modifications proposées dans tous les fichiers de votre projet - mais notez que ces modifications n'ont pas encore été apportées! Voici à quoi ça ressemble:

entrez la description de l'image ici

Maintenant, vous devez apporter les modifications (et même après cela, vous devez enregistrer les fichiers modifiés .)

Vous pouvez effectuer ces modifications de différentes manières:

1) Apportez toutes les modifications à tous les fichiers en même temps.

Cliquez sur l'icône de remplacement à côté de votre chaîne de remplacement (remarque: vous obtiendrez une boîte de dialogue pour confirmer cette action groupée.)

entrez la description de l'image ici

2) Effectuez toutes les modifications dans un seul fichier à la fois.

Cliquez sur l'icône de remplacement à côté du nom de fichier (remarque: l'icône n'apparaît que lorsque vous survolez la ligne du nom de fichier)

entrez la description de l'image ici

3) Effectuez une seule modification dans un seul fichier.

Cliquez sur l'icône de remplacement à côté de la modification individuelle: (remarque: l'icône n'apparaît que lorsque vous survolez la ligne de modification)

entrez la description de l'image ici

Enfin, n'oubliez pas de sauvegarder!

Tous ces fichiers sont maintenant modifiés dans l'éditeur et ne sont pas encore enregistrés sur le disque.

Utilisez Fichier -> Tout enregistrer (ou Ctrl+ Alt+ S)

Mise à jour: je ne sais pas quand cela a été ajouté, mais si vous cliquez sur le bouton "Remplacer tout" et voyez cette boîte de dialogue, cliquez sur "Remplacer" pour changer et enregistrer tous les fichiers en un seul clic:

entrez la description de l'image ici

Jeff Ward
la source
1
Est-il possible d'enregistrer une «recherche-remplacement»? Je recherche souvent 'class =' ​​et je le remplace par 'className ='
Rune Jeppesen
1
Est-il possible de sauter la dernière étape et de faire une recherche et un remplacement silencieux? Si je fais une recherche triviale et que je remplace, je ne veux pas enregistrer chaque fichier individuel.
samJ
1
Je ne suis pas sûr de la réponse à l'une ou l'autre de ces questions. Mais @satJ, notez que Ctrl+Alt+Stous les fichiers modifiés sont enregistrés en même temps, donc c'est assez rapide et facile.
Jeff Ward
Bon sang, c'est dangereux, changer tous les fichiers par défaut. Existe-t-il une commande pour simplement trouver / remplacer dans un seul fichier?
Alexander Mills
La sauvegarde par défaut actuelle est Ctrl-k, suivie de la lettre s. Ctrl-k, suivi de Ctrl + w fermera toutes vos fenêtres une fois que les programmes en auront ouvert un tas.
Rebecca
26

Mettre à jour

Depuis la version 1.3 (juin 2016), il est possible de rechercher et de remplacer dans Visual Studio Code. En utilisant ctrl + shift + f, vous pouvez rechercher et remplacer toutes les occurrences.

Il semble que ce ne soit pas possible pour le moment (version 1.1.1 (avril 2016))

"Q: Est-il possible de rechercher et de remplacer globalement?

R: Cette fonctionnalité n'est pas encore implémentée, mais vous pouvez vous attendre à ce qu'elle arrive dans le futur! "

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

Cela semble également demandé par la communauté: https://github.com/Microsoft/vscode/issues/1690

Cisum Inas
la source
Pour rechercher des éléments dans un dossier spécifique, ajoutez simplement le chemin du dossier dans le champ files to include. Vous pouvez trouver / remplacer des éléments même en dehors de l'espace de travail. ⚠ il ne recherche pas dans les noms de fichiers, mais dans les fichiers. (Quelqu'un sait comment rechercher un nom de fichier en dehors de l'espace de travail?)
JinSnow
22

Pour remplacer une chaîne dans un seul fichier (actuellement ouvert): CTRL + H

Pour remplacer au niveau de l'espace de travail, utilisez: CTRL + SHIFT + H

Sidd501
la source
Remarque: vous devez appuyer sur Entrée pour lancer la recherche lorsque vous utilisez Ctrl + Maj + H.
Aaron Franke
19

C'est la meilleur façon.

  1. Placez d'abord votre curseur sur le membre et cliquez sur F2.

  2. Tapez ensuite le nouveau nom et appuyez sur la touche Entrée. Cela renommera toutes les occurrences de chaque fichier de votre projet.

Ceci est idéal lorsque vous souhaitez renommer plusieurs fichiers. Par exemple, vous souhaiterez peut-être renommer une fonction accessible au public sur un service Angular et mettre à jour partout où il l'utilise.

Pour plus d'excellents outils, je recommande fortement: https://johnpapa.net/refactoring-with-visual-studio-code/

DonDaniel
la source
que se passe-t-il si je souhaite renommer les occurrences uniquement dans le fichier actuel?
temirbek le
@temirbek j'ai suivi cette demande pendant un certain temps. Cela fait plus de 2 ans et il n'a pas encore été mis en œuvre. github.com/Microsoft/vscode/issues/14836
DonDaniel
Salut, renomme-t-il également les dossiers associés et les importe-t-il?
Tamashi Kaizen
5

Sur la page Liaisons de touches de code de Visual Studio , la section Référence des raccourcis clavier contient des liens vers un PDF pour chaque système d'exploitation principal. Une fois ouvert, recherchez «remplacer dans les fichiers» ou tout autre raccourci dont vous pourriez avoir besoin.

Une autre façon consiste à utiliser la palette de commandes ( ctrl/cmd+ shift+ P) où vous pouvez taper "remplacer" pour répertorier toutes les commandes associées, y compris celle que vous souhaitez:

Remplacer dans les fichiers ctrl/cmd+ shift+H

T04435
la source