436 votes

Comment puis-je trouver et remplacer toutes les occurrences (dans tous les fichiers) dans Visual Studio Code ?

Je ne peux pas comprendre comment trouver et remplacer toutes les occurrences d'un mot dans différents fichiers en utilisant Visual Studio Code version 1.0.

J'ai l'impression que cela devrait être possible puisque faire Ctrl + Shift + F me permet simplement de rechercher un dossier, mais je suis à court de comment procéder à partir de là.

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

Mais je n'ai trouvé comment remplacer toutes les occurrences que dans le fichier ouvert (Ctrl + h)

Toute aide est grandement appréciée, cela me rend fou.

0 votes

Dans toutes les notes ici, le simple texte "remplacer dans les fichiers" ne permet pas de distinguer entre les fichiers ouverts et fermés. Dans l'actuel VSCode, lorsque vous ouvrez la vue Rechercher tout/Remplacer tout, il y a une icône de livre pour "Rechercher uniquement dans les éditeurs ouverts". Notez également que vos "fichiers à inclure" et "fichiers à exclure" doivent être soigneusement conçus. Une autre icône est "Utiliser les paramètres d'exclusion et ignorer les fichiers". Lorsqu'elle est active, vous ne pourrez pas voir tout ce que vous voulez - ou vous pourriez voir des fichiers que vous ne voulez pas. Enfin, notez l'icône de rafraîchissement en haut, qui peut être nécessaire après avoir modifié d'autres paramètres ici. HTH

586voto

Jeff Ward Points 2849

Je suis en train d'utiliser Visual Studio Code 1.8, et cette fonctionnalité est disponible. Mais c'est un peu difficile à comprendre au début, et (au moment de l'écriture) la documentation n'explique pas clairement comment l'utiliser, donc voici comment ça fonctionne, étape par étape:

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

Vous verrez un champ de recherche/remplacement standard remplaçant le volet des fichiers sur la gauche:

enter image description here

Entrez votre chaîne de recherche et la chaîne de remplacement, puis appuyez sur entrée. Il peut mettre un peu de temps à rechercher tous les fichiers, puis il affichera les changements proposés dans tous vos fichiers de projet -- mais notez que ces changements n'ont pas encore été effectués! Voici à quoi cela ressemble:

enter image description here

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

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

  1. Effectuer tous les changements sur tous les fichiers en une seule fois.

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

enter image description here

  1. Effectuer tous les changements dans un seul fichier en une seule fois.

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

enter image description here

  1. Effectuer un seul changement dans un seul fichier.

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

enter image description here

Enfin, n'oubliez pas d'enregistrer!

Tous ces fichiers sont maintenant modifiés dans l'éditeur et pas encore enregistrés sur le disque (sauf si la Sauvegarde Automatique est activée).

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

Mise à jour: Je ne suis pas sûr de quand cela a été ajouté, mais si vous cliquez sur le bouton "Tout remplacer" et que vous voyez cette boîte de dialogue, cliquer sur "Remplacer" changera et enregistrera tous les fichiers en un clic:

enter image description here

1 votes

Est-il possible de sauvegarder une 'recherche-remplacement'? Je recherche souvent 'class=' et remplace par 'className='

1 votes

Est-il possible de sauter la dernière étape et de faire une recherche et un remplacement silencieux ? Si je fais une recherche et un remplacement trivial, je ne veux pas enregistrer chaque fichier individuel.

1 votes

Je ne suis pas certain de la réponse à l'une de ces questions. Mais @satJ, notez que Ctrl+Alt+S enregistre tous les fichiers modifiés en une seule fois, donc c'est assez rapide et facile.

143voto

Cisum inas Points 1789

Depuis la version 1.3 de vscode, c'est possible

  1. Accédez à la recherche, cliquez sur l'icône à gauche ou :
    • (mac) cmd + shift + h
    • (PC) ctrl + shift + h
  2. étendre remplacement
  3. entrer terme de recherche et terme de remplacement
  4. confirmer!

Rechercher et remplacer avec vscode

1 votes

Pour rechercher des choses dans un dossier spécifique, ajoutez simplement le chemin du dossier dans le champ fichiers à inclure. Vous pouvez trouver/remplacer des choses même en dehors de l'espace de travail. Il ne recherche pas dans les noms de fichier, mais dans les fichiers. (Quelqu'un sait comment rechercher le nom de fichier en dehors de l'espace de travail?)

1 votes

2021 sa n'est toujours pas implémenté, il n'y a pas de bouton pour cliquer sur "remplacer tout", vous devez utiliser un raccourci clavier... Je suppose que je ne devrais pas totalement remplacer sublime-text

1 votes

@ta32 Voir gif pour la recherche et le remplacement d'ux

50voto

Sidd501 Points 427

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

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

0 votes

Note : Vous devez appuyer sur Entrée pour exécuter la recherche lorsque vous utilisez Ctrl+Shift+H.

33voto

jHova Points 11

Mise à jour pour 2020

Si vous utilisez la fonction de recherche pour rechercher à travers les fichiers (Ctrl + Maj + F), il peut être facile de ne pas remarquer comment convertir votre recherche en une recherche et remplacement dans l'interface utilisateur.

Voici un résultat de recherche typique:

image de résultat de recherche

Pour convertir ceci en une recherche et remplacement, vous devez cliquer sur l'icône de flèche à gauche du champ de saisie de recherche. Cela ouvrira les options de remplacement comme indiqué ci-dessous. Notez que l'icône de flèche est maintenant dirigée vers le bas.

image de recherche et remplacement

Le raccourci clavier Ctrl + Maj + H fonctionnera également pour accéder à la recherche et au remplacement.

Lien vers la documentation de VSCode sur la recherche et le remplacement: https://code.visualstudio.com/docs/editor/codebasics#_search-and-replace

1 votes

La question générale en ce moment est que, après 10000 résultats, VSCode cesse de rechercher. Des solutions de contournement pour cela? Add-on de recherche + remplacement itératif?

25voto

DonDaniel Points 89

C'est la meilleure façon.

  1. Tout d'abord, placez votre curseur sur le membre et cliquez sur F2.

  2. Ensuite, tapez le nouveau nom et appuyez sur la touche Entrée. Cela renommera toutes les occurrences dans chaque fichier de votre projet.

Ceci est idéal lorsque vous souhaitez renommer dans plusieurs fichiers. Par exemple, vous pouvez vouloir renommer une fonction accessible publiquement dans un service Angular et que partout où elle est utilisée soit mise à jour.

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

0 votes

Et si je veux renommer les occurrences uniquement dans le fichier actuel ?

0 votes

@temirbek je suis cette demande depuis un moment. Cela fait plus de 2 ans et elle n'a pas encore été mise en œuvre. github.com/Microsoft/vscode/issues/14836

0 votes

Salut, cela renomme-t-il également les dossiers et les importations associés?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X