Extension Rechercher dans les fichiers¶
Recherchez dans tous les fichiers d'un dossier sur le disque et sautez directement à chaque correspondance — pour trouver toutes les occurrences d'un terme dans un projet. La recherche s'exécute en arrière-plan, l'éditeur reste donc réactif sur les grandes arborescences.
Où la trouver¶
Recherche ▸ Rechercher dans les fichiers… — raccourci Ctrl+Shift+F.
La boîte de dialogue¶
| Champ / option | Signification |
|---|---|
| Rechercher | Le terme à rechercher (avec historique des requêtes récentes). |
| Rechercher dans | La portée : Dossier ou Documents ouverts (voir plus bas). |
| Filtres | Motifs glob de noms de fichiers à inclure, p. ex. *.cpp *.h ou *.txt. Vide signifie tous les fichiers. (Les filtres récents sont mémorisés.) Portée Dossier uniquement. |
| Répertoire | Le dossier à parcourir ; Parcourir… permet d'en choisir un. Les répertoires récents sont mémorisés. Portée Dossier uniquement. |
| Dans tous les sous-dossiers | Descend récursivement dans les sous-répertoires (activé par défaut). Portée Dossier uniquement. |
| Respecter la casse | Recherche sensible à la casse. |
| Mot entier uniquement | Ne trouve que les mots complets. |
| Mode de recherche | Normal (littéral), Étendu (décode \n, \t, \r, \0, \xNN) ou Expression régulière (regex ECMAScript). |
Portée de la recherche¶
Les deux portées sont volontairement disjointes — un résultat provient toujours d'exactement l'une d'elles :
| Portée | Ce qui est parcouru |
|---|---|
| Dossier | Les fichiers sur le disque sous Répertoire (en respectant Filtres et Dans tous les sous-dossiers). Les onglets ouverts situés hors de ce dossier ne sont pas inclus, et les modifications non enregistrées ne sont pas vues — c'est un balayage du disque. |
| Documents ouverts | Les tampons vivants de tous les onglets ouverts, y compris les sans-titre et les modifications non enregistrées. Les filtres et le répertoire sont ignorés. |
Dossier est la portée par défaut tant qu'un dossier de travail est ouvert (Fichier ▸ Ouvrir un dossier) ; sinon, Documents ouverts est la portée par défaut. Dossier reste disponible dès qu'un répertoire est connu (le dossier du fichier actif, un répertoire mémorisé ou choisi via Parcourir…), de sorte que Tout rechercher parcourt toujours quelque chose — il ne reste jamais silencieusement sans effet.
Résultats¶
Les correspondances s'accumulent dans un panneau Résultats ancrable au fur et à mesure de leur découverte, regroupées par fichier avec le numéro de ligne et le texte correspondant. Double-cliquez sur un résultat pour ouvrir le fichier et sauter à la ligne et à la colonne exactes ; un résultat de la portée Documents ouverts active son onglet (avec les modifications à l'origine de la correspondance intactes) au lieu de recharger le fichier depuis le disque.
L'en-tête du panneau comporte un bouton Arrêter pendant qu'une recherche s'exécute. Fermer la boîte de dialogue n'interrompt pas une recherche en cours — c'est le panneau Résultats qui la possède.
Comment s'effectue le balayage
Un thread d'arrière-plan parcourt le répertoire choisi (récursivement si demandé) et lit chaque fichier qui passe le filtre. Les résultats arrivent au panneau par lots et le balayage patiente quand le panneau ne suit plus, si bien qu'une arborescence énorme ne fige pas l'interface. Une recherche s'arrête après 20 000 correspondances avec « Résultats tronqués à 20000 correspondances — affinez le filtre » — une limite sur les lignes correspondantes, pas sur les fichiers parcourus. La portée Documents ouverts travaille sur des tampons en mémoire et n'a pas besoin de thread.