Check Out Atom, il nuovo editor di sviluppo di GitHub

È passato un po 'di tempo da quando abbiamo visto degli aggiornamenti nello spazio dell'editor. L'ultimo grande splash è stato creato da Sublime Text, che ha preso d'assalto la community di sviluppo web, specialmente dopo che il Controllo pacchetti è diventato il gestore di pacchetti per l'editor.

Bene, GitHub sta cercando di scuotere le cose con il lancio beta di un nuovo editor chiamato Atom. Ho messo le mani su una beta e volevo darti una carrellata di ciò che offre. Una cosa da notare è che la documentazione è un po 'scarna, quindi è stato difficile provare a determinare cosa facesse ogni funzione, ma parlerò degli aspetti importanti di seguito.

Un editor di testo hackerabile per il 21 ° secolo

La prima cosa da tenere a mente è che questa è una versione beta; le cose cambieranno e alcune cose non saranno in questa versione. Ad esempio, non ho trovato un modo per creare un progetto da una directory, il che è abbastanza importante per me. Non è l'ideale, ma sono anche realista sullo stato del prodotto.

La prossima cosa da fare è che questo editor è stato creato completamente con la tecnologia web. Ad esempio, l'architettura sottostante si basa su Chromium (sì, la base per Google Chrome), rendendo ogni finestra una pagina Web resa localmente. Perché non l'hanno appena creato come IDE basato su browser come Cloud9IDE? Perché, nonostante molti progressi nelle API dei file per il browser, ci sono ancora limitazioni in termini di accesso al file system, quindi la sua creazione come app desktop ha molto senso.


Sì, questo è il Chromium Developer Tools in esecuzione all'interno dell'editor e sto evidenziando un elemento con esso. È piuttosto strano poter modificare il codice all'interno del mio editor con Chrome DevTools, ma va a dimostrare che il motore sottostante è basato sul web.

Hanno inoltre sfruttato Node.js per consentire l'accesso al file system e fornire un'enorme flessibilità ed estensibilità nel loro sistema di packaging, rendendo sostanzialmente Atom altamente personalizzabile e dandogli accesso incredibile a una tonnellata di npms.

In definitiva, questa affermazione spiega meglio perché hanno sfruttato le tecnologie web:

Con l'intero settore che spinge in avanti la tecnologia web, siamo fiduciosi che stiamo costruendo Atom su un terreno fertile. Le tecnologie UI native vanno e vengono, ma il web è uno standard che può diventare più capace e onnipresente ogni anno che passa. Siamo entusiasti di scavare più a fondo nella sua cassetta degli attrezzi.

Quando si fa il primo ingresso in Atom, sembra straordinariamente simile a Sublime, rendendolo facile da una prospettiva visiva per scivolarvi dentro.


Una delle prime cose che volevo controllare era il supporto linguistico. Mentre lavoro principalmente in JavaScript, ho il desiderio ardente di entrare in Ruby on Rails, garantendo un ampio supporto linguistico. Non solo supporta la sintassi Ruby ma anche il framework Rails insieme a:

  • Pitone
  • CoffeeScript
  • Partire
  • insolenza
  • YAML

e una tonnellata di altri.


L'ampiezza della copertura è molto completa e alla pari con qualsiasi editor che abbia mai visto.

Ma è più che semplice supporto linguistico. Atom supporta anche le scorciatoie di sintassi (chiamate snippet) che consentono di creare rapidamente blocchi di codice con una digitazione minima.


Ad esempio, se digito ife seguito da a linguetta, Otterrò il seguente:

 if (true)  else 

E semplicemente digitando in minuscolo "F" seguito da a linguetta mi dà uno scheletro per una funzione anonima:

 funzione ()  

Prodotti come TextExpander e altri editor hanno fatto questo per un po 'di tempo, quindi è bello vedere GitHub incluso il primo giorno.

È personalizzabile

Una delle cose che mi infastidiscono ancora di Sublime (anche v3), è che molte delle impostazioni di configurazione devono essere regolate manualmente. In Atom, sembra che tutte le impostazioni siano disponibili e personalizzabili tramite un pannello delle impostazioni, dandoti la possibilità di aggiornare cose come:

  • Font famiglia e dimensione
  • Numeri di linea
  • Temi
  • Pacchi

Oltre a disabilitare facilmente i pacchetti che hai installato.


Personalizzare un editor è una delle prime cose che ogni programma fa, specialmente il tema poiché è ciò che guarderai ogni giorno. Atom viene fornito con cinque temi per impostazione predefinita, sia in variazioni chiare che scure, ma tramite il suo gestore di pacchetti, è possibile aggiungerne altri per soddisfare i propri gusti:


Ero felice di vedere il tema "Monokai" lì perché è il mio preferito.

Ora, ricorda come ho menzionato in precedenza che avevi accesso agli strumenti di sviluppo e che le finestre di editor di Atom sono fondamentalmente pagine Web rese? Bene, questo significa che hai un sacco di flessibilità nella personalizzazione dell'aspetto e delle cose, perché sei in grado di ispezionare i nodi DOM e vedere quali stili sono stati applicati a loro. Atom ti permette di definire i tuoi stili in un foglio di stile LESS chiamato styles.less, dando un controllo davvero granulare sull'aspetto di specifici tipi di elementi. Raggiungere il foglio di stile è semplice come andare Atom> Apri il tuo foglio di stile e apportare le modifiche nella sezione appropriata.

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

In questo caso, ho aggiornato il .editore classe aggiungendo le classi che definiscono come il DOCTYPE di un file guarderà all'interno dell'editor. Ho reso la dimensione del carattere 26px essere volutamente grande L'immagine seguente mostra come questo aggiornamento ha influito sul rendering del mio codice HTML:


Come puoi vedere, puoi veramente scavare in profondità in Atom e personalizzarlo al contenuto del tuo cuore dal momento che è fondamentalmente HTML e DOM sotto il cofano.

Oltre a poter installare nuovi temi, Atom fornisce anche un gestore di pacchetti integrato che consente di estendere le funzionalità dell'editor. Questo è analogo a Sublime Package Control, eccetto che è già inserito nell'editor stesso invece di essere costretto a installare uno script separato per ottenerlo.


L'installazione di un pacchetto è facile come fare clic su Installare pulsante. L'editor fornisce un elenco di pacchetti "in primo piano" insieme a una funzionalità di ricerca che viene estratta dal registro principale dei pacchetti.

Se si desidera eseguire questa operazione tramite la riga di comando, Atom fornisce una CLI per la chiamata APM (Atom Package Manager) che consente di installare qualsiasi pacchetto con il seguente comando:

apm install 

Quindi installando il completamento automatico pacchetto sarebbe simile a questo:


Attualmente, il numero di pacchetti disponibili è piccolo, ma è prevedibile in questa fase.


Sarai in grado di trovare grandi pacchetti anche per cose come:

  • Anteprima di Markdown
  • Andando a una linea specifica
  • Salvataggio automatico quando l'editor non è a fuoco

E tanti altri. Non posso immaginare che passerà molto tempo prima che GitHub recluti tutti i creatori di pacchetti di Sublime per portare a termine il loro lavoro. In effetti, c'è già una documentazione che mostra come convertire il pacchetto TextMate in Atom. Poiché molti bundle di TextMate sono compatibili con Sublime, sembra concepibile che alcuni pacchetti di Sublime potrebbe essere in grado di essere convertito, ma non mi trattenere a ciò dal momento che non ho provato da me stesso.

Questa è anche una buona opportunità per i contributori di entrare e offrire nuovi pacchetti. Mentre Atom ha la maggior parte delle nozioni di base, mancano alcuni elementi importanti, come i linters e gli evidenziatori di sintassi. Questo è un vuoto che deve essere riempito e posso immaginare che accada in breve tempo.

Le associazioni chiave sono anche personalizzabili usando il locale ~ / .Atom / keymap.cson. È possibile aprire questo file manualmente o andando al Atom> Apri la tua Keymap opzione di menu. L'apertura del file ti mostrerà alcuni esempi su come modificare i binding dei tasti.

L'unica legatura chiave che dovrai ricordare è Comando-Maiuscole-P, che apre la tavolozza comandi e visualizza tutti i possibili binding di tasti con funzionalità associate.


La guida introduttiva offre alcune indicazioni di base su come utilizzare Atom e vale la lettura. Ma sappi che il sito del progetto è un po 'scarso sulla documentazione in questo momento, quindi alcune delle capacità dell'editor che dovrai imparare per tentativi ed errori.

Accatastamento contro altri editori

Molti di voi probabilmente stanno chiedendo come si sovrappone al tuo editor preferito. Dal momento che Sublime è la mia scelta personale, posso dire che Atom è un prodotto beta abbastanza decente, ma non qualcosa a cui mi piacerebbe passare immediatamente. La funzionalità integrata di Sublime e l'ampio ecosistema di pacchetti lo rendono un editor molto maturo con cui lavorare.

Detto questo, Atom è supportato da GitHub e questo tiene un sacco di peso. Ci sono grandi credenziali geek lì e sono abbastanza fiducioso che vedremo una grande corsa sui nuovi pacchetti, specialmente considerando l'estensibilità che Atom fornisce tramite Chromium e Node.

Per ora, GitHub offre Atom gratuito durante il periodo beta, dando agli sviluppatori la possibilità di armeggiare con esso e sporcarsi le mani. Se riescono a mantenere i prezzi competitivi e a costruire rapidamente l'ecosistema dei pacchetti, penso che Atom finirà per essere il mio nuovo editor di scelta.