Développeurs freelances en quête d’actualités, sachez qu’il y a du nouveau pour Atom !
Le 31 octobre 2018, Max Brunsfeld, développeur Software chez GitHub, a détaillé de nouvelles améliorations de l’éditeur de texte. Commandes d’édition, amélioration du pliage de code, analyse incrémentielle… Retour sur Atom, de sa présentation en 2014 à ses dernières évolutions.
2014-2017 : d’Atom en version bêta à Atom IDE
2014 : Naissance d’Atom
Souvenez-vous : en février 2014, GitHub lançait la version bêta d’un outil très utile pour les développeurs IT : Atom. Pensée en 2008 dans le cadre du projet « Atomicity » puis conçue comme un éditeur de texte, cette variante spécialisée du navigateur Open Source JavaScript et CSS, avec des extensions open source, fiable et performant.
2015 : Atom 1.0
La première version stable d’Atom est disponible en juin 2015. L’éditeur de texte est écrit en CoffeeScript et il est disponible sur Windows, GNU/Linux, et OS X. Atom offre une esthétique proche de Sublime Text et dispose des capacités d’extension que possèdent certains éditeurs, notamment Emacs. À l’époque, Atom a déjà été téléchargé plus d’un million de fois et plus de 350 000 personnes l’utilisent chaque mois. Et il faut se rendre à l’évidence : l’UI simple et réactive de l’outil de GitHub fait des émules !
2017 : Atom IDE
Quoique souvent utilisé en tant qu’IDE, Atom n’en possède pas toutes les fonctionnalités. Afin de remédier à ce problème et proposer aux développeurs un ensemble d’outils cohérent et complet, GitHub s’associe à Facebook. À l’aide du LSP (Language Server Protocol), ils développent Atom IDE. Cette version dispose:
- de l’auto-complétion,
- des diagnostics,
- des références,
- d’informations supplémentaires affichées en survol, etc.
2018 : Dernières améliorations
Le 31 octobre 2018, Max Brunsfeld s’est exprimé sur le blog de GitHub. Il a affirmé la volonté du groupe de « rendre la programmation intuitive et agréable », avant d’énumérer les dernières évolutions de l’éditeur de texte.
Nouveau système d’analyse syntaxique : Tree-sitter
GitHub a développé un système d’analyse syntaxique utile pour analyser le code des développeurs pendant qu’ils codent. Cet outil présente ainsi « un arbre de syntaxe décrivant la structure du code ». Max Brunsfeld indique par ailleurs que Tree-sitter permet d’analyser 11 langages de programmation. Notamment :
Syntaxe en surbrillance
L’éditeur Atom utilise désormais des couleurs. L’objectif ? Décrire la structure du code dans chaque langage de manière claire et précise. Notamment en accordant une couleur spécifique aux mots-clés, fonctions, types, variables et champs.
Amélioration du pliage de code
En général, le pliage de code repose sur l’indentation dans les éditeurs de texte. Pourtant, ce modèle ne s’avère pas toujours performant : le pliage est même parfois inutile. Au lieu de se baser sur les lignes ayant une indentation grande ou plus courte, Tree-sitter procède différemment. Il plie le code selon sa syntaxe, assurant une opération plus fiable. Une fonctionnalité très utile, y compris dans ce genre de cas :
Nouvelles commandes d’édition
Autre nouveauté : la sélection tient désormais compte de la syntaxe. En effet, les arbres de syntaxe sont utilisés par Atom comme base de deux nouvelles commandes d’édition liées à Alt + Haut et à Alt + Bas. À savoir :
- sélectionner un nœud de syntaxe plus grand,
- sélectionner un nœud de syntaxe plus petit.
L’intérêt majeur ? Rendre certaines tâches d’édition plus simples, plus performantes et « plus amusantes, en particulier quand elles sont combinées à plusieurs curseurs ».
Rapidité et analyse incrémentielle
Max Brunsfeld rappelle également que l’analyse d’un fichier source s’avère souvent trop long. C’est d’ailleurs la raison pour laquelle la coloration syntaxique des mises à jour n’est pas simultanée. En effet, la majorité des IDE entame l’analyse du code seulement lorsque le développeur arrête de coder, entraînant ainsi un décalage.
Pour remédier à ce problème, Tree-sitter d’Atom analyse le code de manière incrémentielle : « il maintient l’arbre de syntaxe à jour quand vous modifiez votre code, sans devoir analyser à nouveau le fichier dans sa globalité et en repartant de zéro. »
En tant que développeur freelance, vous utilisez Atom quotidiennement ou presque, et vous êtes à la recherche de missions pertinentes ? Comme Imad, rejoignez Freelancerepublik et relevez des défis Tech’ ambitieux !