| 📦 Turbo Python 6fc62ea k33g 12h ago | 1 | # Référence : réglages de projet |
| 2 | |
| 3 | > Description neutre de `.turbo-python/settings.toml` : où il est cherché, ce qu'il peut contenir, et ce qui y écrit. |
| 4 | |
| 5 | ## Emplacement |
| 6 | |
| 7 | | Propriété | Valeur | |
| 8 | | --- | --- | |
| 9 | | Dossier | `.turbo-python` dans le répertoire de travail de l'éditeur | |
| 10 | | Fichier | `.turbo-python/settings.toml` | |
| 11 | | Recherche | Le répertoire de travail seulement. Les dossiers parents ne sont **pas** parcourus. | |
| 12 | | Lecture | Au démarrage de l'éditeur, puis à chaque enregistrement du fichier depuis l'éditeur | |
| 13 | | Obligatoire | Non. Un projet qui n'en a pas obtient les valeurs par défaut ci-dessous. | |
| 14 | |
| 15 | ## Clés |
| 16 | |
| 17 | Chaque clé est facultative, et chaque clé se trouve dans la table `[editor]`. Une clé absente garde sa valeur par défaut ; une clé présente l'emporte, y compris avec une valeur égale à la valeur par défaut. |
| 18 | |
| 19 | | Clé | Type | Défaut | Description | |
| 20 | | --- | --- | --- | --- | |
| 21 | | `theme` | chaîne | le défaut de l'éditeur (`turbo-classic`) | Nom du thème de couleurs de démarrage, tel que listé par `turbo-python -list-themes` | |
| 22 | | `autosave` | booléen | `false` | Si les fichiers modifiés sont écrits sans qu'on le demande. Le fichier qu'écrit **Create project settings** le met à `true` ; la valeur par défaut ici est celle qui s'applique à un projet sans fichier de réglages du tout. | |
| 23 | | `autosave_delay` | chaîne | `"2s"` | Combien de temps attendre après la dernière frappe. Une durée Go : `"500ms"`, `"2s"`, `"1m"`. Consultée seulement quand `autosave` vaut true. | |
| 24 | |
| 25 | ### Exemple |
| 26 | |
| 27 | ```toml |
| 28 | [editor] |
| 29 | theme = "turbo-dark" |
| 30 | autosave = true |
| 31 | autosave_delay = "500ms" |
| 32 | ``` |
| 33 | |
| 34 | ## Priorité du thème |
| 35 | |
| 36 | De la plus forte à la plus faible : |
| 37 | |
| 38 | | Source | L'emporte sur | |
| 39 | | --- | --- | |
| 40 | | `-theme` sur la ligne de commande | tout | |
| 41 | | `theme` dans le fichier de réglages | le défaut intégré | |
| 42 | | Le défaut intégré `turbo-classic` | — | |
| 43 | |
| 44 | Un nom de thème inconnu, à n'importe quel niveau, retombe sur le défaut intégré plutôt que d'échouer. |
| 45 | |
| 46 | ## Quand un changement prend effet |
| 47 | |
| 48 | Le fichier est lu au démarrage, et **de nouveau à chaque enregistrement depuis l'éditeur** — un changement fait dans l'éditeur est donc en vigueur dès que vous appuyez sur `F2`, sans redémarrage. |
| 49 | |
| 50 | | Clé | Ré-appliquée à l'enregistrement | Pourquoi | |
| 51 | | --- | --- | --- | |
| 52 | | `autosave` | oui | | |
| 53 | | `autosave_delay` | oui | | |
| 54 | | `theme` | **non** | Options ▸ Theme est la façon vivante de le changer, et y réécrit déjà le choix. Une option `-theme` donnée en ligne de commande est l'affirmation la plus explicite pour cette session, et l'enregistrement d'un fichier ne la contredit pas. | |
| 55 | |
| 56 | | Résultat | Barre d'état | |
| 57 | | --- | --- | |
| 58 | | Lu et appliqué | `Applied .turbo-python/settings.toml — autosave on (2s)` | |
| 59 | | Lu et appliqué, autosave désactivée | `Applied .turbo-python/settings.toml — autosave off` | |
| 60 | | Enregistré, mais plus du TOML valide | `Saved, but not applied: …` — les valeurs précédentes restent en vigueur | |
| 61 | |
| 62 | Enregistrer est enregistrer, quel qu'en soit l'auteur : la sauvegarde automatique qui écrit le fichier de réglages les ré-applique exactement comme `F2`. Une modification faite **hors** de l'éditeur n'est pas remarquée ; rien ne surveille le fichier. |
| 63 | |
| 64 | ## Sauvegarde automatique |
| 65 | |
| 66 | | Comportement | Détail | |
| 67 | | --- | --- | |
| 68 | | Déclencheur | Le délai écoulé sans modification dans aucune fenêtre | |
| 69 | | Portée | Tout fichier ouvert qui a un nom, pas seulement celui au premier plan | |
| 70 | | Échéance | Une seule pour tout l'éditeur, relancée par toute modification dans n'importe quelle fenêtre | |
| 71 | | Fichiers sans nom | Jamais enregistrés ; jamais l'objet d'une question | |
| 72 | | Signalement | `Saved <nom>` dans la barre d'état | |
| 73 | | Échec | Signalé dans la barre d'état, jamais dans un dialogue, et non réessayé avant la modification suivante | |
| 74 | | Fermeture d'une fenêtre | Enregistre au lieu de demander, si le fichier a un nom | |
| 75 | | Sortie de l'éditeur | Enregistre au lieu de demander, si le fichier a un nom | |
| 76 | |
| 77 | ## Écritures |
| 78 | |
| 79 | Le fichier de réglages est écrit par exactement deux actions. Rien d'autre dans l'éditeur n'y écrit, et rien ne le crée tout seul. |
| 80 | |
| 81 | | Action | Effet | |
| 82 | | --- | --- | |
| 83 | | **Options ▸ Create project settings** | Crée `.turbo-python/settings.toml` avec le thème en cours, `autosave = true` et des commentaires explicatifs. Grisée dès que le projet en a un, elle ne peut donc pas être choisie deux fois. | |
| 84 | | **Options ▸ Theme** | Réécrit la valeur de `theme` **uniquement si le fichier existe déjà**. Commentaires, lignes vides, ordre des clés et commentaire de fin de la ligne du thème sont conservés. | |
| 85 | |
| 86 | Les deux écrivent via un fichier temporaire du même dossier, renommé en place : une écriture interrompue laisse le fichier précédent intact. |
| 87 | |
| 88 | ## Entrées de menu |
| 89 | |
| 90 | | Entrée | Menu | Fichier requis | Effet | |
| 91 | | --- | --- | --- | --- | |
| 92 | | Create project settings | Options | refuse le fichier | Comme ci-dessus, puis ouvre le fichier. Grisée dès que le projet en a un. | |
| 93 | | Project settings… | Options | exige le fichier | Ouvre `.turbo-python/settings.toml`. Grisée tant que le projet n'en a pas. | |
| 94 | |
| 95 | ## Erreurs |
| 96 | |
| 97 | | Message | Cause | |
| 98 | | --- | --- | |
| 99 | | `turbo-python: reading …/settings.toml: …` sur la sortie d'erreur | Le fichier est là mais n'est pas du TOML valide. L'éditeur s'ouvre avec ses valeurs par défaut. | |
| 100 | | `reading …: autosave_delay "x" is not a duration such as "2s"` | `autosave_delay` n'est pas une durée Go | |
| 101 | | `reading …: autosave_delay must be positive, not "0s"` | `autosave_delay` est nul ou négatif | |
| 102 | | `Already there: .turbo-python/settings.toml` dans la barre d'état | Créer dans un projet qui en a déjà un. Inatteignable depuis le menu, qui grise l'entrée ; reste possible pour un appelant qui n'est pas un menu. | |
| 103 | | `Saved, but not applied: …` dans la barre d'état | Le fichier de réglages a été écrit mais ne s'analyse plus. Les valeurs précédentes restent en vigueur. | |
| 104 | | `This project has no .turbo-python/settings.toml yet.` | **Project settings…** dans un projet qui n'en a pas | |
| 105 | | `Theme set for this session only: …` | Le thème a changé mais le fichier de réglages n'a pas pu être écrit | |
| 106 | |
| 107 | ## Voir aussi |
| 108 | |
| 109 | - [Donner ses propres réglages à un projet](../how-to/configure-a-project.md) |
| 110 | - [Réglages de projet](../explanation/project-settings.md) |
| 111 | - [Format des fichiers de thème](themes.md) — un autre fichier, dans le même langage |