Watch relance automatiquement les vérifications sélectionnées après des modifications de fichiers lors d'une session d'édition active.
Ce que fait Watch
Watch relance une vérification BranchPy sélectionnée après chaque sauvegarde de fichier — aucune relance manuelle nécessaire pendant une session d'édition.
Watch est un déclencheur de relance, pas un moteur d'analyse en temps réel. Il ne maintient pas le modèle BranchPy complet continuellement à jour. Chaque sauvegarde déclenche une exécution unique et délimitée de la commande configurée, puis attend le prochain changement.
Ce qui est surveillé
| Modèle | Toujours surveillé | Uniquement avec media-missing |
|---|---|---|
**/*.rpy — tous les fichiers de script Ren'Py |
✅ | ✅ |
.branchpy.toml — configuration du projet |
✅ | ✅ |
assets/** — fichiers d'assets |
— | ✅ |
game/** — fichiers du répertoire game |
— | ✅ |
Les modifications de configuration (.branchpy.toml) sont toujours surveillées afin que les ajustements de paramètres déclenchent immédiatement une nouvelle exécution.
Comment démarrer
branchpy watch --project <path>
Cette commande démarre Watch avec la commande par défaut (checks). Appuyez sur Ctrl+C pour arrêter.
Spécifier la commande à relancer
branchpy watch --project <path> --cmd stats
Commandes disponibles : checks (par défaut), stats, tests, media-missing, doctor.
Remarque : Watch prend en charge uniquement les commandes légères. Les commandes nécessitant une analyse complète du projet — comme
analyze,compareetflowchart— ne sont pas prises en charge en mode Watch. Exécutez-les manuellement ou en CI.
Ajuster le délai de rebond
branchpy watch --project <path> --debounce 500
La valeur par défaut est 300 ms. Augmentez cette valeur sur les grands projets si plusieurs exécutions successives se déclenchent après une seule sauvegarde.
Intégration VS Code
branchpy watch --project <path> --emit-notify
--emit-notify fait émettre des événements à Watch après chaque exécution, permettant à VS Code d'afficher les résultats dans le panneau Problèmes et le Control Center sans changer de fenêtre.
Dans VS Code, la fonctionnalité Watch du Control Center relance toujours Analyze et Stats lors des modifications de fichiers. Compare n'est pas surveillé — il compare des résultats enregistrés et doit être actualisé manuellement après la génération de nouvelles analyses.
Exemple de sortie
[BranchPy Watch] Monitoring project: C:\projects\mygame
[BranchPy Watch] Command: checks
[BranchPy Watch] Debounce: 300ms
[BranchPy Watch] Press Ctrl+C to stop
[BranchPy Watch] File changed: game/script.rpy
... résultat de checks ...
[BranchPy Watch] Command completed with exit code: 0
Quand utiliser Watch
Watch est conçu pour les sessions d'édition actives — démarrez-le quand vous commencez à écrire, arrêtez-le quand vous avez terminé. Il n'est pas prévu pour tourner en arrière-plan en permanence. Le laisser tourner indéfiniment accumule du CPU (interrogation toutes les 500 ms), maintient les chemins de fichiers en mémoire jusqu'à l'arrêt, et risque de déclencher de longues exécutions pendant les périodes d'inactivité.
CPU — La surveillance interroge le système toutes les 500 ms, qu'il y ait ou non des changements. C'est léger sur les projets petits à moyens, mais le coût s'accumule lors de longues périodes d'inactivité.
Mémoire — Watch conserve en mémoire le chemin et l'horodatage de dernière modification de chaque fichier surveillé. Sur un grand projet (des milliers de fichiers .rpy et d'assets), cela représente typiquement 0,5 à 2 Mo — peu significatif en soi, mais non libéré avant l'arrêt de Watch.
Terminal — Watch s'exécute au premier plan. Gardez une fenêtre de terminal dédiée pour éviter de bloquer votre terminal principal.
Délai d'expiration des commandes — Chaque exécution déclenchée est interrompue après 5 minutes si elle n'a pas terminé. Si votre projet prend régulièrement plus longtemps à analyser, préférez exécuter la commande manuellement.
Recommandation : Démarrez Watch quand vous vous installez pour éditer, arrêtez-le quand vous avez terminé. Évitez de le laisser tourner toute la nuit ou en CI — utilisez plutôt des exécutions CI planifiées ou déclenchées par événements.
Conseils
- Utilisez
--cmd doctorpour obtenir un retour de diagnostic à chaque sauvegarde lors de la configuration d'un nouveau projet. - Utilisez
--cmd media-missinglors du travail sur les assets pour voir immédiatement si un sprite de personnage nouvellement ajouté est référencé mais pas encore sur disque. - Combinez avec
--emit-notifydans VS Code pour maintenir le panneau Problèmes à jour sans changer de fenêtre. - Sur les grands projets (milliers de fichiers
.rpy), utilisez--cmd checksou--cmd doctor— ce sont les options les plus légères.
En savoir plus : Référence CLI