| 📦 Turbo Python 6fc62ea k33g 10h ago | 1 | # Référence : arbre du projet |
| 2 | |
| 3 | > Description neutre de la fenêtre d'arbre du projet : ce qu'elle montre, ce qu'elle cache, et les touches auxquelles elle répond. |
| 4 | |
| 5 | ## Ouverture |
| 6 | |
| 7 | | Chemin | Condition | |
| 8 | | --- | --- | |
| 9 | | `F9` | Toujours | |
| 10 | | **Window ▸ Project tree** | Toujours | |
| 11 | |
| 12 | Aucun des deux n'exige qu'un fichier soit ouvert. Les deux ramènent l'arbre existant au premier plan quand il y en a déjà un : il y a au plus une fenêtre d'arbre. |
| 13 | |
| 14 | ## Racine |
| 15 | |
| 16 | | Propriété | Valeur | |
| 17 | | --- | --- | |
| 18 | | Enracinée à | Le dossier depuis lequel l'éditeur a été lancé (`os.Getwd()`) | |
| 19 | | Recherche | Ce dossier seulement. Les dossiers parents ne sont **pas** parcourus, la même règle que `.turbo-python/settings.toml`. | |
| 20 | | Titre de la fenêtre | Le nom de base de ce dossier | |
| 21 | | Ligne de la racine | Non affichée ; la première ligne est la première entrée du projet | |
| 22 | |
| 23 | ## Ce qui est listé |
| 24 | |
| 25 | | Règle | Détail | |
| 26 | | --- | --- | |
| 27 | | Ordre | Les dossiers d'abord, puis les fichiers ; chaque groupe trié par nom | |
| 28 | | Masqué | `.git` seulement | |
| 29 | | Affiché | Toute autre entrée, y compris celles commençant par un point — `.turbo-python`, `.gitignore`, `.qlty` | |
| 30 | | Lecture | Un dossier est lu la première fois qu'il est déplié, pas avant | |
| 31 | | Dossier illisible | Apparaît déplié et vide ; le reste de l'arbre n'est pas affecté | |
| 32 | |
| 33 | ## Marqueurs |
| 34 | |
| 35 | | Marqueur | Signification | |
| 36 | | --- | --- | |
| 37 | | `▶ ` | Un dossier fermé | |
| 38 | | `▼ ` | Un dossier ouvert | |
| 39 | | (deux espaces) | Un fichier — indenté de la largeur d'un marqueur, pour que les noms s'alignent | |
| 40 | |
| 41 | Chaque niveau de profondeur ajoute deux espaces d'indentation. |
| 42 | |
| 43 | ## Touches |
| 44 | |
| 45 | Traitées quand la fenêtre de l'arbre a le focus. |
| 46 | |
| 47 | | Touche | Action | |
| 48 | | --- | --- | |
| 49 | | `↑` `↓` | Ligne précédente / suivante | |
| 50 | | `Page↑` `Page↓` | Un écran à la fois | |
| 51 | | `Début` `Fin` | Première / dernière ligne | |
| 52 | | `→` | Déplier un dossier fermé ; sinon aller à la ligne suivante | |
| 53 | | `←` | Replier un dossier ouvert ; sinon remonter au dossier qui contient cette ligne | |
| 54 | | `Entrée` | Ouvrir un fichier ; déplier ou replier un dossier | |
| 55 | | `F5`, `Ctrl-R` | Relire le projet | |
| 56 | |
| 57 | Les raccourcis de l'éditeur s'appliquent comme d'habitude : `F6` passe à la fenêtre suivante, `Ctrl-W` ferme l'arbre, `Alt-X` quitte. |
| 58 | |
| 59 | ## Souris |
| 60 | |
| 61 | | Action | Effet | |
| 62 | | --- | --- | |
| 63 | | Clic sur une ligne | Y déplacer la surbrillance | |
| 64 | | Clic sur la ligne surlignée | Agir dessus, comme `Entrée` | |
| 65 | | Molette haut / bas | Déplacer la surbrillance de trois lignes | |
| 66 | |
| 67 | ## Rafraîchissement |
| 68 | |
| 69 | | Déclencheur | Effet | |
| 70 | | --- | --- | |
| 71 | | `F5` ou `Ctrl-R` | Relit tous les dossiers qui ont été ouverts | |
| 72 | | Enregistrer un fichier | La même chose, automatiquement | |
| 73 | | Déplier un dossier | Lit ce dossier, s'il n'a pas encore été lu | |
| 74 | |
| 75 | Le rafraîchissement conserve la forme de l'arbre : un dossier ouvert le reste, un dossier supprimé emporte sa branche, et les dossiers que personne n'a ouverts restent non lus. La surbrillance reste sur la même entrée, ou sur la ligne restante la plus proche si cette entrée a disparu. |
| 76 | |
| 77 | L'arbre ne surveille **pas** le système de fichiers. Un fichier créé par une fenêtre terminal, ou par un `git checkout`, n'apparaît qu'après un rafraîchissement. |
| 78 | |
| 79 | ## Couleurs |
| 80 | |
| 81 | | Clé de thème | Ce qu'elle colore | |
| 82 | | --- | --- | |
| 83 | | `tree.text` | Le nom d'un fichier dans l'arbre, et le fond de l'arbre | |
| 84 | | `tree.directory` | Le nom d'un dossier | |
| 85 | | `tree.selected` | La ligne surlignée, quand l'arbre a le focus | |
| 86 | | `tree.unfocused` | La ligne surlignée, quand il ne l'a pas | |
| 87 | |
| 88 | Elles ne se rabattent pas sur les clés `list.*` : le rabattement suit les points et s'arrête à `default`. Voir [Format des fichiers de thème](themes.md). |
| 89 | |
| 90 | ## Erreurs |
| 91 | |
| 92 | | Message | Cause | |
| 93 | | --- | --- | |
| 94 | | `Cannot tell which directory this is: …` | Le répertoire de travail n'a pas pu être lu | |
| 95 | | `reading …: …` | Le dossier du projet n'a pas pu être lu | |
| 96 | | `… is not a directory` | La racine désigne un fichier | |
| 97 | |
| 98 | ## Voir aussi |
| 99 | |
| 100 | - [Parcourir un projet et ouvrir des fichiers depuis un arbre](../how-to/browse-a-project.md) |
| 101 | - [Arbre du projet](../explanation/project-tree.md) |
| 102 | - [Clavier](keyboard.md) |