Check Out Atom, GitHub's New Development Editor

Het is een tijdje geleden dat we updates in de editor hebben gezien. De laatste grote plons werd gemaakt door Sublime Text, die de webontwikkelingsgemeenschap stormenderhand veroverde, vooral nadat Package Control rondkwam om als pakketbeheerder voor de redacteur te dienen.

Nou, GitHub probeert de zaken op te schudden met de beta-lancering van een nieuwe editor genaamd Atom. Ik heb een beta in handen gekregen en wilde je een overzicht geven van wat het biedt. Een ding om op te merken is dat de documentatie een beetje schaars is, dus het was moeilijk om te bepalen wat elke functie deed, maar ik zal de belangrijke aspecten hieronder bespreken.

Een Hackable Text Editor voor de 21e eeuw

Het eerste ding om in gedachten te houden is dat dit een beta-versie is; dingen gaan veranderen en sommige dingen komen niet in deze uitgave. Ik heb bijvoorbeeld geen manier gevonden om een ​​project uit een directory te maken, wat voor mij belangrijk is. Het is niet ideaal, maar ik ben ook realistisch over de status van het product.

Het volgende dat naar voren komt is dat deze editor volledig is gemaakt met webtechnologie. De onderliggende architectuur is bijvoorbeeld afhankelijk van Chromium (ja, de basis voor Google Chrome), waardoor elk venster een lokaal gerenderde webpagina is. Waarom hebben ze het niet gewoon gebouwd als een browser-gebaseerde IDE zoals Cloud9IDE? Omdat er ondanks veel vooruitgang in bestands-API's voor de browser nog steeds beperkingen zijn op het gebied van toegang tot het bestandssysteem, dus het bouwen van het als een desktop-app heeft veel zin.


Ja, dat zijn de Chromium Developer Tools die in de editor worden uitgevoerd en ik markeer er een element mee. Het is best freaky om de code in mijn editor te kunnen aanpassen met de Chrome DevTools, maar het laat zien dat de onderliggende engine webgebaseerd is.

Ze hebben ook gebruikgemaakt van Node.js om bestandsysteemtoegang mogelijk te maken en enorme flexibiliteit en uitbreidbaarheid in hun verpakkingssysteem te bieden, waardoor Atom in hoge mate aanpasbaar is en ongelooflijke toegang tot een heleboel npms wordt gegeven.

Uiteindelijk verklaart deze verklaring het best waarom ze webtechnologieën hebben gebruikt:

Nu de hele industrie de webtechnologie naar voren drijft, zijn we ervan overtuigd dat we Atom op vruchtbare grond bouwen. Native UI-technologieën komen en gaan, maar het web is een standaard die met elk voorbijgaand jaar alleen maar capabeler en alomtegenwoordiger kan worden. We zijn enthousiast om dieper in zijn gereedschapskist te graven.

Wanneer je voor het eerst in Atom valt, lijkt het opvallend veel op Subliem, waardoor het vanuit een visueel perspectief gemakkelijk wordt erin te glijden.


Een van de eerste dingen die ik wilde controleren, was taalondersteuning. Hoewel ik voornamelijk in JavaScript werk, heb ik een brandende wens om Ruby on Rails te gebruiken, zodat ik een brede taalondersteuning kan bieden. Niet alleen ondersteunt het de Ruby-syntaxis, maar ook het Rails-framework, samen met:

  • Python
  • CoffeeScript
  • Gaan
  • Sass
  • YAML

en een hoop anderen.


De reikwijdte van de dekking is zeer uitgebreid en vergelijkbaar met elke editor die ik heb gezien.

Maar het is meer dan alleen het ondersteunen van talen. Atom ondersteunt ook syntax-snelkoppelingen (snippets genoemd) waarmee u snel codeblokken kunt maken met minimale typering.


Bijvoorbeeld als ik typ ife gevolgd door een tab, Ik krijg het volgende:

 if (true)  else 

En gewoon in kleine letters typen "F" gevolgd door een tab geeft me een skelet voor een anonieme functie:

 function () 

Producten zoals TextExpander en andere editors hebben deze al een tijdje gedaan, dus het is goed om GitHub inclusief de eerste dag te zien.

Het is aanpasbaar

Een van de dingen die me nog steeds stoort aan Sublime (zelfs v3), is dat veel van de configuratie-instellingen handmatig moeten worden aangepast. In Atom lijkt het alsof alle instellingen beschikbaar en aanpasbaar zijn via een instellingenpaneel, waardoor u dingen kunt bijwerken zoals:

  • Lettertype familie en grootte
  • Lijn nummers
  • Thema's
  • Pakketjes

Evenals gemakkelijk uit te schakelen pakketten die je hebt geïnstalleerd.


Het personaliseren van een editor is een van de eerste dingen die elk programma doet, vooral het thema, omdat het is waar je elke dag naar zult kijken. Atom wordt standaard geleverd met vijf thema's, zowel in lichte als in donkere varianten, maar via de pakketbeheerder kunt u meer toevoegen om aan uw smaak te voldoen:


Ik was blij het 'Monokai'-thema daar te zien, omdat het mijn persoonlijke favoriet is.

Onthoud nu hoe ik u eerder heb genoemd dat u toegang had tot de ontwikkelaarshulpmiddelen en dat Atom-editorvensters in feite webpagina's zijn gemaakt? Wat dit betekent, is dat je heel veel flexibiliteit hebt om het uiterlijk van dingen aan te passen, omdat je DOM-knooppunten kunt inspecteren en kunt zien welke stijlen op hen zijn toegepast. Met Atom kunt u uw eigen stijlen definiëren in een LESS-stylesheet met de naam styles.less, waardoor je echt gedetailleerde controle hebt over het uiterlijk van specifieke soorten elementen. Om naar het stylesheet te gaan is net zo eenvoudig als gaan Atoom> Open je stylesheet en het aanbrengen van uw wijzigingen in het betreffende gedeelte.

 .editor .meta.tag.sgml.doctype.html font-size: 26px; 

In dit geval heb ik de .editor klasse door de klassen toe te voegen die bepalen hoe de DOCTYPE van een bestand zal in de editor kijken. Ik heb de lettergrootte gemaakt 26px opzettelijk groot zijn. De volgende afbeelding laat zien hoe deze update de weergave van mijn HTML-code beïnvloedde:


Zoals je kunt zien, kan dat werkelijk ga diep op in Atom en pas het naar hartenlust aan, want het is in feite HTML en DOM onder de motorkap.

Naast het kunnen installeren van nieuwe thema's biedt Atom ook een ingebouwde pakketbeheerder waarmee je de functionaliteit van de editor kunt uitbreiden. Dit is analoog aan Sublime Package Control, behalve dat het al in de editor zelf is ingebakken, in tegenstelling tot het gedwongen zijn om een ​​apart script te installeren om het te krijgen.


Het installeren van een pakket is net zo eenvoudig als klikken op de Installeren knop. De editor biedt een lijst met 'aanbevolen' pakketten, samen met een zoekfunctionaliteit die wordt opgehaald uit het hoofdpakketregister.

Als je dit via de opdrachtregel wilt doen, levert Atom een ​​CLI op waarvoor dit wordt aangeroepen apm (Atom Package Manager) waarmee u elk pakket kunt installeren met de volgende opdracht:

apm installeren 

Dus het installeren van de autocomplete pakket ziet er als volgt uit:


Momenteel is het aantal beschikbare pakketten klein, maar dat is in dit stadium te verwachten.


Je zult echter wel geweldige pakketten kunnen vinden voor zaken als:

  • Een voorbeeld van Markdown bekijken
  • Naar een specifieke regel gaan
  • Automatisch opslaan als uw editor onscherp wordt

En nog veel meer. Ik kan me niet voorstellen dat het lang zal duren voordat GitHub alle makers van het Sublime-pakket rekruteert om hun werk te porten. In feite is er al documentatie waaruit blijkt hoe u uw TextMate-bundel naar Atom kunt converteren. Omdat veel TextMate-bundels compatibel zijn met Sublime, lijkt het denkbaar dat sommige Sublime-pakketten worden gebruikt mei in staat zijn om bekeerd te worden, maar houd me daar niet aan omdat ik het zelf niet heb uitgetest.

Dit is ook een goede gelegenheid voor inzenders om in te stappen en nieuwe pakketten aan te bieden. Hoewel Atom de meeste basics heeft, mist het enkele belangrijke, zoals linters en syntax highlighters. Dat is een leegte die opgevuld moet worden en ik kan me voorstellen dat het in korte tijd gebeurt.

Sleutelbindingen kunnen ook worden aangepast met behulp van de lokale ~ / .Atom / keymap.cson. U kunt dit bestand handmatig openen of door naar de Atom> Open je Keymap menu-optie. Als u het bestand opent, ziet u enkele voorbeelden van het bewerken van de sneltoetsen.

De enige sleutel die je moet onthouden is Command-Shift-P, waardoor het opdrachtpalet tevoorschijn komt en alle mogelijke toetsbindingen met bijbehorende functionaliteit worden getoond.


De Aan de slag-gids biedt enkele basisrichtlijnen voor het gebruik van Atom en is de moeite van het lezen waard. Maar weet nu dat de projectsite op dit moment een beetje schaars is over documentatie, dus enkele van de redactiemogelijkheden die je met vallen en opstaan ​​zult moeten leren.

Stapelen tegen andere editors

Velen van jullie vragen waarschijnlijk hoe het zich opstapelt tegen je favoriete editor. Aangezien Sublime mijn persoonlijke keuze is, kan ik zeggen dat Atom een ​​redelijk fatsoenlijk bètaproduct is, maar niet iets waar ik onmiddellijk op zou overschakelen. De ingebouwde functionaliteit van Sublime en het uitgebreide pakketecosysteem maken het een zeer volwassen editor om mee te werken.

Dat gezegd hebbende, wordt Atom gesteund door GitHub en dat heeft een hoop gewicht. Er is een grote geek-crediet en ik ben er vrij zeker van dat we een grote run gaan zien op nieuwe pakketten, vooral gezien de uitbreidingsmogelijkheden die Atom biedt via Chromium en Node..

Voor nu biedt GitHub Atom gratis aan tijdens de bètaperiode, waardoor ontwikkelaars de kans krijgen om ermee te knoeien en hun handen vuil te maken. Als ze kunnen blijven concurreren en snel het pakketecosysteem kunnen opbouwen, denk ik dat Atom mijn nieuwe hoofdredacteur zal worden.