Découvrez Atom, le nouvel éditeur de développement de GitHub

Cela fait longtemps que nous n’avons vu aucune mise à jour dans l’éditeur. Sublime Text a créé la dernière grosse explosion qui a pris d'assaut la communauté des développeurs Web, en particulier lorsque Package Control est arrivé pour servir de gestionnaire de paquets à l'éditeur..

Eh bien, GitHub cherche à faire bouger les choses avec le lancement en version bêta d’un nouvel éditeur appelé Atom. J'ai mis la main sur une version bêta et je voulais vous donner un aperçu de ce qu'elle propose. Une chose à noter est que la documentation est un peu rare, il était donc difficile d'essayer de déterminer ce que chaque fonctionnalité a fait, mais je vais aborder les aspects importants ci-dessous..

Un éditeur de texte piratable pour le 21ème siècle

La première chose à garder à l’esprit est qu’il s’agit d’une version bêta; les choses vont changer et certaines choses ne vont pas être dans cette version. Par exemple, je n'ai pas trouvé le moyen de créer un projet à partir d'un répertoire, ce qui est important pour moi. Ce n'est pas idéal, mais je suis aussi réaliste quant à l'état du produit..

La prochaine chose à souligner est que cet éditeur a été créé complètement avec la technologie Web. Par exemple, l’architecture sous-jacente repose sur Chromium (la base de Google Chrome est incontestable), faisant de chaque fenêtre une page Web rendue localement. Pourquoi ne l'ont-ils pas simplement construit comme un IDE basé sur un navigateur tel que Cloud9IDE? Parce que, malgré de nombreux progrès dans les API de fichiers pour le navigateur, il existe toujours des limitations en termes d'accès au système de fichiers. Il était donc logique de le créer en tant qu'application de bureau..


Oui, ce sont les outils de développement Chromium exécutés dans l'éditeur et je souligne un élément avec. C'est assez bizarre de pouvoir modifier le code dans mon éditeur avec Chrome DevTools, mais cela montre que le moteur sous-jacent est basé sur le Web..

Ils ont également tiré parti de Node.js pour permettre l’accès au système de fichiers et offrir une flexibilité et une extensibilité considérables dans leur système d’emballage, ce qui rend Atom hautement personnalisable et lui donne un accès incroyable à une tonne de npms..

En fin de compte, cette déclaration explique mieux pourquoi ils ont exploité les technologies Web:

Alors que tout le secteur fait progresser la technologie Web, nous sommes convaincus que nous construisons Atom sur un terrain fertile. Les technologies d'interface utilisateur natives vont et viennent, mais le Web est une norme qui ne peut que devenir plus performante et omniprésente chaque année. Nous sommes ravis de creuser plus profondément dans sa boîte à outils.

Lorsque vous vous connectez pour la première fois à Atom, le résultat est étonnamment similaire à Sublime, ce qui facilite son insertion visuelle..


Une des premières choses que je voulais vérifier était le support linguistique. Bien que je travaille principalement en JavaScript, je souhaite ardemment entrer dans Ruby on Rails afin d’assurer un support linguistique étendu. Non seulement il supporte la syntaxe Ruby mais également le framework Rails avec:

  • Python
  • CoffeeScript
  • Aller
  • Toupet
  • YAML

et une tonne d'autres.


L'étendue de la couverture est très complète et à égalité avec tout éditeur que j'ai vu.

Mais cela ne se limite pas aux langues. Atom prend également en charge les raccourcis de syntaxe (appelés extraits) qui vous permettent de créer rapidement des blocs de code avec un minimum de frappe..


Par exemple, si je tape si suivi d'un languette, Je vais avoir le suivant:

 si (vrai)  sinon 

Et en tapant simplement dans une minuscule "F" suivi d'un languette me donne un squelette pour une fonction anonyme:

 une fonction ()  

Des produits comme TextExpander et d'autres éditeurs l'utilisent depuis un certain temps. Il est donc bon de voir GitHub l'inclure dès le premier jour..

C'est personnalisable

Une des choses qui me contrarie à propos de Sublime (même en v3) est que beaucoup de paramètres de configuration doivent être ajustés manuellement. Dans Atom, il semble que tous les paramètres soient disponibles et personnalisables via un panneau de paramètres, ce qui vous permet de mettre à jour des éléments tels que:

  • Famille de police et taille
  • Numéros de ligne
  • Des thèmes
  • Paquets

Ainsi que désactiver facilement les paquets que vous avez installés.


La personnalisation d'un éditeur est l'une des premières choses que tout programme réalise, en particulier le thème, car c'est ce que vous examinerez tous les jours. Atom est livré avec cinq thèmes par défaut, dans les variations de lumière et d'obscurité, mais via son gestionnaire de paquets, vous pouvez en ajouter d'autres à votre goût:


J'étais heureux de voir le thème "Monokai" là-dedans car c'est mon préféré.

Maintenant, rappelez-vous comment j'ai mentionné précédemment que vous aviez accès aux outils de développement et que les fenêtres de l'éditeur Atom sont essentiellement des pages Web rendues. Cela signifie que vous avez beaucoup de flexibilité pour personnaliser l'aspect et la convivialité des choses, car vous pouvez inspecter les nœuds DOM et voir quels styles leur ont été appliqués. Atom vous permet de définir vos propres styles dans une feuille de style LESS appelée styles.less, vous donnant un contrôle vraiment granulaire sur l'apparence de types d'éléments spécifiques. Se rendre à la feuille de style est aussi simple que d'aller à Atom> Ouvrez votre feuille de style et apporter vos modifications dans la section appropriée.

 .editor .meta.tag.sgml.doctype.html taille de la police: 26px; 

Dans ce cas, j'ai mis à jour le .éditeur classe en ajoutant les classes qui définissent comment le DOCTYPE d'un fichier va regarder à l'intérieur de l'éditeur. J'ai fait la taille de la police 26px être délibérément grand. L'image suivante montre comment cette mise à jour a affecté le rendu de mon code HTML:


Comme vous pouvez le voir, vous pouvez vraiment creusez profondément dans Atom et personnalisez-le à votre guise puisqu'il s'agit essentiellement de HTML et de DOM sous le capot.

Outre la possibilité d'installer de nouveaux thèmes, Atom fournit également un gestionnaire de packages intégré qui vous permet d'étendre les fonctionnalités de l'éditeur. Ceci est analogue au contrôle de package Sublime, sauf qu'il est déjà intégré à l'éditeur lui-même, au lieu d'être obligé d'installer un script séparé pour l'obtenir..


L’installation d’un paquet est aussi simple que de cliquer sur le bouton Installer bouton. L'éditeur fournit une liste des packages "en vedette" ainsi qu'une fonctionnalité de recherche extraite du registre principal des packages..

Si vous souhaitez le faire via la ligne de commande, Atom fournit une interface de ligne de commande appelée apm (Atom Package Manager) qui vous permet d'installer n'importe quel package à l'aide de la commande suivante:

apm installer 

Donc installer le autocomplete le paquet ressemblerait à ceci:


Actuellement, le nombre de paquets disponibles est faible, mais il faut s'y attendre à ce stade.


Vous pourrez trouver d'excellents forfaits pour des choses comme:

  • Prévisualisation de Markdown
  • Aller à une ligne spécifique
  • Enregistrement automatique lorsque votre éditeur devient flou

Et beaucoup plus. Je ne peux pas imaginer que GitHub ne tardera pas à recruter tous les créateurs de paquets Sublime pour transférer leur travail. En fait, il existe déjà une documentation indiquant comment convertir votre ensemble TextMate Bundle en Atom. De nombreux bundles TextMate étant compatibles avec Sublime, il semble concevable que certains paquets Sublime peut être capable de me convertir, mais ne me retiens pas parce que je ne l'ai pas testé moi-même.

C'est également une bonne occasion pour les contributeurs d'intervenir et de proposer de nouveaux packages. Atom possède la plupart des bases, mais il en manque d’importants, comme les linters et les surligneurs de syntaxe. C'est un vide qui doit être rempli et je peux imaginer que cela se produise dans peu de temps.

Les raccourcis clavier sont également personnalisables à l’aide de la ~ / .atom / keymap.cson. Vous pouvez ouvrir ce fichier manuellement ou en allant à Atom> Ouvrez votre Keymap option de menu. Ouvrir le fichier vous montrera quelques exemples sur la façon de modifier les raccourcis clavier..

La seule liaison que vous devez retenir est Commande-Maj-P, qui ouvre la palette de commandes et affiche toutes les combinaisons de touches possibles avec les fonctionnalités associées.


Le guide de mise en route vous offre des conseils de base sur l'utilisation d'Atom et mérite d'être lu. Mais sachez simplement que le site du projet est actuellement un peu maigre en documentation. Vous devrez donc apprendre par essais quelques erreurs..

S'empiler contre d'autres rédacteurs

Beaucoup d'entre vous demandent probablement comment cela se compare à votre éditeur préféré. Puisque Sublime est mon choix personnel, je peux dire qu'Atom est un produit bêta assez décent, mais ce n'est pas quelque chose que je changerais immédiatement. La fonctionnalité intégrée de Sublime, associée à un écosystème étendu de packages, en fait un éditeur très mature pour travailler avec.

Cela dit, Atom est soutenu par GitHub et cela pèse une tonne de poids. Il y a beaucoup de crédibilité en matière de geek et je suis persuadé que nous allons assister à une série de nouveaux packages, en particulier compte tenu de l'extensibilité fournie par Atom via Chromium et Node..

Pour le moment, GitHub offre Atom gratuit pendant la période bêta, ce qui permet aux développeurs de le bricoler et de se salir les mains. S'ils parviennent à maintenir des prix concurrentiels et à créer rapidement l'écosystème de packages, je pense qu'Atom finira par devenir mon nouvel éditeur de choix..