Ligne de commande et git difftool¶
OctoEdit expose une petite surface en ligne de commande, adaptée aux scripts :
ouvrir des fichiers (avec une position de curseur optionnelle), ajuster un
lancement avec quelques options, et — le clou du spectacle — servir de
visualiseur de comparaison rapide de deux fichiers pour git difftool.
Les chemins peuvent être relatifs ou absolus. Lancés depuis une console,
--help/--version s'impriment dans celle-ci ; démarrés autrement, ils
s'affichent dans une petite boîte de dialogue.
Ouvrir des fichiers¶
- Chaque fichier s'ouvre dans son propre onglet. Un chemin qui n'existe pas encore s'ouvre comme un nouveau tampon non enregistré lié à ce nom (l'enregistrement crée le fichier).
- Un suffixe
:lineou:line:columnsur le premier fichier déplace le curseur (base 1, borné au document) — pratique depuis la sortie d'un compilateur ou de grep :
- Avec l'instance unique activée (le défaut), un second lancement transmet ses fichiers à la fenêtre en cours et se termine.
Options¶
| Option | Signification |
|---|---|
-h, --help |
Affiche l'aide et quitte. |
-v, --version |
Affiche la version de l'application et quitte. |
--log <level> |
Niveau de journalisation minimal pour ce lancement : trace, debug, info, warning ou error. |
--list-debug-flags |
Liste les options de débogage reconnues avec leurs valeurs actuelles et quitte. |
--diff <left> <right> |
Compare deux fichiers dans un visualiseur temporaire en lecture seule (implique --viewer). |
--viewer |
Instance de visualisation temporaire en lecture seule (voir ci-dessous). |
--readonly |
Ouvre les fichiers listés en lecture seule (voir ci-dessous). |
--readonly : ouvrir des fichiers précis verrouillés¶
Ouvre les fichiers listés avec l'édition désactivée — les commandes de
modification (Couper, Coller, Annuler…) sont grisées pour ces onglets tandis que
Copier continue de fonctionner. Contrairement à --viewer, il s'agit d'une
instance d'éditeur normale : votre session se restaure, vous pouvez ouvrir
et éditer n'importe quel autre document, et un second lancement --readonly
transmet ses fichiers, verrouillés eux aussi, à la fenêtre en cours. Deux
garde-fous : un fichier listé déjà ouvert avec des modifications non
enregistrées reste éditable (l'option ne piège jamais des changements que vous
ne pourriez plus enregistrer), et un chemin listé qui n'existe pas encore
s'ouvre comme un tampon vide verrouillé.
--diff : une fenêtre de comparaison de deux fichiers¶
Ouvre une fenêtre séparée et jetable dont le seul onglet est la comparaison côte à côte des deux fichiers — colorée syntaxiquement, en lecture seule, avec toute la panoplie de comparaison : navigation entre différences, règle de vue d'ensemble, bascules ignorer les espaces / la casse et Aligné, et fusion par copie de modifications avec enregistrement par côté (les deux opérandes sont de vrais fichiers, les deux directions fonctionnent donc).
- Exactement deux fichiers existants sont requis. Un fichier manquant ou un
répertoire est signalé et le processus se termine avec le code
2sans ouvrir de fenêtre d'éditeur (la comparaison de répertoires relève de l'extension Comparaison de dossiers). - Le processus reste vivant jusqu'à la fermeture de la fenêtre, puis se termine
avec
0— exactement ce qu'attendgit difftool. - La fenêtre est indépendante de votre OctoEdit habituel : elle ne rejoint
jamais le mécanisme d'instance unique, ne charge aucune extension et
n'enregistre rien (pas de session, pas de disposition, pas d'entrées de
fichiers récents). Votre éditeur et sa session restent intacts, et un nombre
quelconque de fenêtres
--diffpeuvent coexister avec lui. - L'assistant IA reste disponible — il fait partie du cœur. Poser une question là indique automatiquement à l'agent quels deux fichiers sont à l'écran (et lui accorde l'accès en lecture aux deux), de sorte que « qu'est-ce qui a changé entre ces fichiers ? » fonctionne tout seul.
Le configurer comme git difftool¶
# .gitconfig
[diff]
tool = octoedit
[difftool]
prompt = false
[difftool "octoedit"]
cmd = OctoEdit --diff "$LOCAL" "$REMOTE"
Puis, par exemple :
Tip
Assurez-vous que OctoEdit.exe est dans votre PATH, ou écrivez son chemin
complet dans la ligne cmd =.
--viewer : un visualiseur jetable en lecture seule¶
Une instance temporaire pour jeter un rapide coup d'œil à un fichier, sans
perturber votre vraie session d'édition (implicite avec --diff) :
- Les fichiers passés en ligne de commande s'ouvrent normalement — puis l'instance est verrouillée : les tampons sont en lecture seule, Fichier ▸ Nouveau/Ouvrir/Enregistrer et toutes les commandes de Comparaison sont désactivées, et rien ne peut ouvrir un autre onglet.
- Fermer le dernier onglet ferme la fenêtre.
- Rien ne persiste : pas d'enregistrement ni de restauration de session, pas d'écriture de disposition de fenêtre, pas d'entrées de fichiers récents.
- Aucune extension ne se charge, le démarrage est donc rapide ; les fonctionnalités du cœur — coloration syntaxique, thèmes, assistant IA — restent disponibles.
Codes de sortie¶
| Code | Signification |
|---|---|
0 |
Sortie normale, y compris la fermeture d'une fenêtre --diff/--viewer. |
2 |
Requête --diff invalide (mauvais nombre d'opérandes, fichier manquant, opérande répertoire). |