Aperçu des capacités
Comment puis-je utiliser la comparaison de codes prenant en compte la langue dans Diff Anything ?
Passez de la comparaison intelligente à la comparaison par ligne classique en gardant la coloration syntaxique habituelle, le texte source exact, la modification du texte, les blocs déplacés, le retour à la ligne et un contexte compact. Le langage est détecté d’après le nom du fichier, son extension, la ligne shebang ou le contenu collé.
Smart Diff utilise l’alignement des jetons en fonction des familles de langues dans les 117 langues de l’éditeur de texte non brut. Il ignore les modifications sécurisées de mise en page uniquement dans les langages d’accolades et d’expressions, préserve les indentations et les sauts de ligne significatifs et traite les chaînes et les commentaires en fonction de la langue sélectionnée. Il ne s’agit pas d’une comparaison AST et ne revendique pas d’équivalence sémantique au niveau du compilateur.
Le code est détecté à partir des noms de fichiers, des extensions, des shebangs et du contenu collé. Les extensions partagées sont levées d’ambiguïté du contenu et les fichiers de structure peuvent mettre en évidence les langages d’implémentation intégrés au lieu de revenir au texte brut.
Le catalogue de l’éditeur maintenu comprend 18 langues supplémentaires dans la version 1.5 : Ada, Assembly, COBOL, Crystal, CUDA, D, Elm, Erlang, Fortran, GLSL, Haskell, Haxe, HLSL, LaTeX, LLVM IR, OCaml, Raku et WebAssembly text.
Le CLI fournit une vue de terminal en surbrillance sécurisée Unicode avec une couleur automatique ou forcée, un remplacement de langue explicite et un contexte configurable autour de chaque morceau.

Intelligent ou Ligne
Quand lire un changement dans Smart et quand le lire dans Line
La révision du code devient difficile lorsqu’un formateur touche un fichier. Un appel de fonction encapsulé, un bloc réindenté ou une accolade déplacée vers sa propre ligne peut transformer un correctif d’un mot en quarante lignes modifiées. La vue intelligente supprime ces modifications de mise en page uniquement et met en évidence les jetons qui ont réellement changé, afin que le correctif soit facile à retrouver.
La vue Ligne affiche chaque ligne exactement telle qu’elle est stockée. Utilisez-le lorsque les espaces sont le changement qui vous intéresse, lorsque vous souhaitez confirmer un morceau avant de le copier, ou lorsque vous devez faire correspondre les numéros de ligne avec un outil de révision de code. Les deux boutons sont placés l’un à côté de l’autre dans la barre d’outils de texte, et le fait de basculer entre eux conserve les deux fichiers et toutes les modifications que vous avez apportées.
Passez la souris sur Smart pour voir un bref résumé, soit le nombre de jetons modifiés, soit une note indiquant que la modification concerne uniquement le formatage. Smart a besoin des deux côtés dans la même langue. Lorsque les deux fichiers sont détectés dans des langues différentes ou sous forme de texte brut, le bouton Smart n’est pas disponible et la vue Ligne est utilisée.
Détection de langue
Comment la langue est choisie et comment la changer
Le menu Langue du code affiche ce qui a été détecté, par exemple Auto · TypeScript. Une langue que vous choisissez là-bas l’emporte sur tout le reste et s’applique aux deux côtés à la fois, ce qui modifie la mise en surbrillance et les règles que Smart utilise pour les chaînes, les commentaires et les espaces.
Sans choix manuel, Diff Anything vérifie les noms de fichiers connus comme Dockerfile ou Cargo.toml, puis l’extension, puis le contenu lorsqu’une extension est partagée par plusieurs langues. C’est ainsi qu’un fichier .m est distingué comme MATLAB ou Objective-C et un en-tête .h comme C ou C++. Les scripts sans extension sont reconnus à partir de leur ligne shebang et des extraits collés à partir de marqueurs de langage typiques.
Les modèles Vue, Svelte, Astro et Blade continuent de mettre en évidence les sections de script et de style qu’ils contiennent, au lieu d’afficher l’intégralité du fichier sous forme de balisage simple.
Contrôles de révision
Champs de la barre d’outils pour les fichiers longs ou restructurés
Chaque contrôle est une bascule dans la barre d’outils de texte et peut être combiné avec l’une ou l’autre des vues :
- Moves connecte un bloc de code qui a été déplacé vers un nouvel emplacement au lieu de l’afficher comme une suppression et un ajout.
- Compact s’effondre sur de longues étendues inchangées afin que les mecs modifiés soient plus rapprochés.
- Wrap coupe les longues lignes, ce qui facilite le code minifié ou généré.
- Les espaces rendent les espaces et les tabulations visibles lorsque l’indentation est la question.
- Basculez côte à côte et en ligne entre deux colonnes et une seule colonne fusionnée.
- Le menu Ignorer ajoute Ignorer les espaces, Ignorer les lignes vides, Ignorer la casse et la normalisation des fins de ligne, et ignorer les modèles laisse de côté le texte correspondant, les lignes correspondantes, les commentaires ou les colonnes de caractères.
- Aligner ces lignes (Command-J sur un Mac, Control-J sur Windows) associe les lignes avec le curseur de chaque côté lorsque la correspondance automatique associe les mauvaises.
Portée et plans
Ce que Smart compare et ce que comprend le forfait gratuit
Smart fonctionne sur des jetons avec des règles pour chaque famille de langues. Il conserve l’indentation dans les langages de type Python et les sauts de ligne d’instruction dans les scripts shell, mais il ne construit pas d’arborescence syntaxique, il ne peut donc pas vous dire que deux implémentations différentes se comportent de la même manière.
La comparaison de code, les deux vues, la modification et l’enregistrement sont inclus dans la version gratuite, dans la limite de 5 Mo de chaque côté et de 10 nouvelles sessions de comparaison par jour. Pro supprime ces limites. Sous Windows, la ligne de commande peut afficher la même comparaison avec coloration syntaxique dans un terminal. --language impose une langue et --context définit le nombre de lignes inchangées autour de chaque bloc de modifications.
Dans le workflow
Comment l’utiliser
Ouvrir les deux versions
Ouvrez à gauche et ouvrez à droite, déposez deux fichiers sur la fenêtre ou collez un extrait de chaque côté.
Vérifier la langue
Regardez le menu Langue du code et choisissez une langue si le fichier est inhabituel ou collé sans nom.
Lisez-le dans Smart
Utilisez Smart pour rechercher les véritables modifications dans un fichier reformaté et activez les mouvements si le code a été réorganisé.
Confirmer en ligne
Passez en Ligne avant de copier un morceau, puis enregistrez le fichier modifié.
Utile en pratique
Quand l’utiliser
Manuel associé
Choisir le bon type de comparaison
Choisir les sources, comprendre la détection automatique et prendre le type de comparaison qui répond à votre question.
Lire le guideRéponses directes
Questions sur la comparaison de codes tenant compte du langage.
Pourquoi ne puis-je pas sélectionner Smart ?
Smart nécessite que les deux côtés soient détectés comme étant la même langue. Si un fichier a été détecté différemment ou sous forme de texte brut, choisissez la langue dans le menu Langue du code ; cela s’applique alors aux deux côtés.
Smart ignore-t-il les modifications d’indentation en Python ?
Non. L’indentation est significative dans les langages de type Python, donc Smart la conserve. Il ignore un appel ou une liste qui a été placé différemment entre crochets.
Puis-je comparer deux extraits copiés à partir d’un chat ou d’un ticket ?
Oui. Collez chaque extrait sur un côté. La langue est devinée à partir du contenu et vous pouvez la définir vous-même dans le menu Langue du code.
Puis-je obtenir la même différence en surbrillance dans un terminal ?
Oui. Lancez l’app avec --cli et --format terminal. La comparaison de texte est incluse dans la ligne de commande gratuite.
Gratuit & Pro : ce qui est inclus
Disponible sur le Mac App Store et le Microsoft Store. L’utilisation de la version gratuite de l’app vous permet d’essayer tous les moteurs de comparaison pour des fichiers jusqu’à 5 Mo par côté et 10 nouvelles sessions de comparaison par jour local ; les aperçus de collection affichent les 100 premiers éléments, les comparaisons binaires les 100 premiers octets de différences et les aperçus PDF des 3 premières pages. La comparaison du texte brut, des notebooks JSON et Jupyter est complète et l’ouverture de fichiers à partir du Finder ou de l’Explorateur de fichiers, des liens diffanything:// et AppleScript est gratuite. La CLI gratuite prend en charge le texte, JSON et les notebooks. Un achat Pro unique supprime les limites d’aperçu et de session et déverrouille des sources plus volumineuses dans les limites techniques, les profils et l’historique enregistrés, l’enregistrement des instantanés de dossiers, l’exportation et l’impression de rapports, l’exportation de correctifs JSON, l’application de correctifs, la fusion à trois voies et la résolution des conflits, le pilote de fusion et l’outil de fusion Git, la synchronisation des dossiers, les manifestes par lots, les préprocesseurs de confiance et chaque mode CLI.