Dart è un linguaggio molto interessante che potrebbe significare un cambiamento nel modo di scrivere applicazioni web. Google fornisce un editor di dardi basato su Eclipse che fornisce un mezzo pratico per iniziare. Ma gli utenti di TextMate di solito trovano un modo per piegare TextMate al loro testamento, e questo suggerimento rapido ti farà iniziare a-bending per usare Dart con TextMate.
Presumo che tu abbia familiarità con i bundle di TextMate almeno per quanto riguarda il loro livello e che aggiungono funzionalità (in genere specifiche della lingua) a TextMate. Presumo anche che tu abbia familiarità con e sia in grado di controllare il codice da un repository Subversion. Infine, presumo tu abbia una piccola esperienza di Dart. Non hai bisogno di molto, ma avere alcuni file Dart in giro per aprirli in TextMate renderà tutto più fluido.
Se non hai familiarità con Dart a questo punto, posso indicarti la fonte ufficiale di informazioni: http://www.dartlang.org/. Oltre a ciò, Activetuts + ha pubblicato in precedenza il mio tutorial introduttivo sulla lingua, What is Dart, e Why Should You Care?
Non utilizzeremo realmente l'editor di Dart (il punto di questo tutorial è l'uso di TextMate per lo sviluppo di Dart), ma il download include Dart SDK, che è davvero quello che cerchiamo. Anche se sei un appassionato fanatico di TextMate (come lo sono io), non è ancora una pessima idea avere il Dart Editor "ufficiale" installato e maneggevole.
Sul sito Dart ufficiale (vedere la sezione precedente), è possibile scaricare Dart Editor dal seguente link: http://www.dartlang.org/docs/getting-started/editor/index-macos.html
Se sei su Windows o Linux, stai leggendo questo tutorial nonostante la sua natura Mac-centrica, puoi scaricare Dart Editor per queste piattaforme da Dart Editor per Windows e Linux.
Sotto "Step 1" di quella pagina, troverai un link a un file ZIP contenente i Dart Editors. Si tratta di circa 40 MB, quindi non è un download terribilmente pesante.
Il Dart Editor è basato su Eclipse, quindi se lo hai usato sarai a casa con Dart Editor. Non entrerò nei dettagli sull'utilizzo di questo tutorial, ma mi sento libero di giocarci. L'attuale Activetuts + Facebook Fan Bonus ti guida attraverso l'uso di base del Dart Editor.
(Si noti che se non si desidera installare Dart Editor, è possibile scaricare solo l'SDK scuro per il proprio sistema operativo a questo URL (è solo 2 o 3 MB): http://www.dartlang.org/docs/getting Cominciato / sdk / index.html
frogc
frogc
è il compilatore Dart-to-JavaScript. È uno strumento da riga di comando, ma è per fortuna facile da usare. Lo useremo in un comando TextMate in seguito per trasformare i nostri file Dart in JavaScript in modo da poter effettivamente utilizzare il nostro codice Dart oggi.
Apri il Terminale (trovato nel tuo / Applicazioni / Utility /
cartella). Digitare quanto segue:
nano ~ / .bash-profile
Se hai già alcune personalizzazioni del PATH, posiziona il cursore dopo queste linee.
Genere:
export PATH = $ PATH:
E poi trascina il bidone
cartella, che dovrebbe trovarsi in / Applicazioni / dardo / dardo-sdk / bin
, nella finestra del terminale. Se non è in quella posizione, cerca un dart-sdk
cartella in qualcosa che hai scaricato (se hai scaricato l'SDK da solo, questo dovrebbe essere il download, decompresso). Dovresti finire con qualcosa del genere:
export PATH = $ PATH: / Applicazioni / dart / dart-sdk / bin
Per salvare questo file, premi Control-O (ovvero Controllo, non Comando), premere Invio per confermare il file da salvare, quindi premere Control-X per uscire da nano.
Quasi pronto; Ho trovato un problema con frogc
se ti capita di avere spazi nei tuoi nomi di file o cartelle. Questo può essere facilmente risolto, però. Aprire frogc
. È uno script di shell eseguibile, quindi non fare doppio clic su di esso. Invece, trascinalo sull'icona di TextMate e potresti visualizzare una finestra di avviso, ma dovresti riuscire a vedere lo script breve. Non hai bisogno di capire cosa fa, basta cambiare l'ultima riga da questo:
$ SCRIPTPATH / dart --new_gen_heap_size = 128 $ SCRIPTPATH / frogc.dart --libdir = $ LIBPATH $ @
… a questo:
"$ SCRIPTPATH / dart" --new_gen_heap_size = 128 "$ SCRIPTPATH / frogc.dart" --libdir = "$ LIBPATH" "$ @"
Si noti che fondamentalmente ho circondato ogni percorso con virgolette, che aiuta a evitare il problema dello spazio.
Puoi trovare il .tmbundle
su questa pagina Google Code.
Puoi controllare l'intera sorgente Dart, che potrebbe essere interessante da esaminare, oppure puoi semplicemente controllare il .tmbundle
. Usando il Terminale, vai alla posizione in cui desideri avere il codice (digita CD
quindi trascina nuovamente la cartella di destinazione nella finestra Terminale, nota che dopo c'è uno spazio CD
). Una volta che il terminale si trova nella posizione desiderata, digitarlo per il checkout completo:
svn checkout http://dart.googlecode.com/svn/trunk/ dart-read-only
... o questo solo per il .tmbundle
:
svn checkout http://dart.googlecode.com/svn/branches/bleeding_edge/dart/tools/utils/textmate/Dart.tmbundle
Se hai controllato l'intero progetto, puoi accedere a .tmbundle
seguendo questo percorso dalla radice del progetto: [Dardo-sola lettura] /dart/tools/utils/textmate/Dart.tmbundle
. In entrambi i casi, fare doppio clic su .tmbundle
per installare TextMate.
A molti utenti di TextMate piace semplicemente controllare .tmbundles
direttamente alla loro directory di bundle. Per fare ciò, vai a quella directory in Terminal (questo dovrebbe farlo: cd "~ / Library / Application Support / TextMate / Copia incontaminata / bundle"
) e quindi eseguire la seconda riga di svn checkout sopra (quella che controlla solo il .tmbundle
). In questo modo puoi facilmente aggiornare il pacchetto sul posto con svn up "~ / Libreria / Application Support / TextMate / Copia incontaminata / bundle"
.
Il Google Dart Bundle è ottimo per aggiungere il supporto per la sintassi di Dart, quindi quando crei un file che termina in .dardo
ottieni sintassi colorata e piegatura del codice e quel genere di cose. Ma non include alcun frammento o comando. Il comando più utile (anzi, la prima cosa che ho pensato) è un comando per compilare il tuo attuale script Dart con frogc
per te. Ne aggiungeremo uno in questo passaggio.
In TextMate, apri l'editor di pacchetti (premi Comando-Opzione-Control-B, o andare a Pacchetti> Editor di pacchetti> Mostra editor di pacchetti)
Fare clic sulla voce Dardo nell'elenco a sinistra.
Con il "+"In basso a sinistra, scegli" Nuovo comando ".
Dovresti vedere un nuovo comando "senza titolo" visualizzato sotto il pacchetto Dart. Rinominarlo in "Compile with frogc"
Nell'ampia area di testo sulla destra (denominata "Comando / i"), inserisci quanto segue:
frogc "$ TM_FILEPATH"
Sopra l'area di testo, hai la possibilità di avere il comando di salvare il file prima dell'esecuzione. Questo potrebbe piacerti (lo fa per me, una battitura in meno!). In tal caso, modifica l'opzione "Salva" da "Niente" in "File corrente" o "Tutti i file nel progetto".
Sotto l'area di testo, dove dice "Input", impostalo su "None".
Sotto, dove dice "Output", impostalo su "Mostra come suggerimento". Ciò consente a qualsiasi output del comando di apparire in un tooltip vicino al cursore, il che significa che se si verificano errori durante l'esecuzione frogc
puoi vederli Non sono molto belli ma è meglio di niente.
Sotto quello, dove dice "Attivazione", assicurati che sia impostato su "Equivalente chiave", quindi metti il cursore nel campo di testo a destra. Digita Command-B; questo imposta questo comando per l'attivazione quando si digita la scorciatoia da tastiera. Comando-B è l'idioma di TextMate per un comando di compilazione se i bundle ne hanno uno.
Sotto, dove dice "Scope Selector", digita "source.dart # 8221;.
La tua finestra di comando dovrebbe apparire in questo modo:
Chiudi la finestra dell'editor di pacchetti.
frogc
èAbbiamo installato Terminal in modo che sappia dove frogc
è, ma sfortunatamente TextMate non condivide queste informazioni. La soluzione più semplice è aggiungere il percorso che abbiamo aggiunto al file .bash_profile alle preferenze di Textmate.
Apri le Preferenze di TextMate (premi Comando-, o vai a TextMate> Preferenze ... ).
Fare clic sul pulsante Avanzate nella parte superiore, quindi fare clic sulla scheda Variabili della shell.
Se non hai già un SENTIERO
variabile, fare clic sul pulsante "+" e, nella prima colonna, digitare SENTIERO
.
Nella seconda colonna della riga che inizia SENTIERO
, digita il percorso che hai aggiunto al .bash_profile
(solo il percorso, non la parte che dice PERCORSO ESPORTAZIONE = @ PERCORSO:
). Assicurati di lasciare intatto il valore esistente: aggiungi i due punti alla fine di ciò che è già presente, quindi copia nel nuovo percorso.
Chiudi la finestra delle preferenze e sei pronto per provarlo. Se hai bisogno di un file Dart, puoi creare un file Hello World creando un nuovo progetto con Dart Editor, oppure puoi recuperare gli esempi dal download di Dart Editor, nella cartella "samples". Apri un file Dart in TextMate e premi Command-B; se tutto va bene dovresti avere un file JavaScript vicino al file Dart dopo pochi secondi.
frogc
Se desideri avere un po 'di fantasia, puoi modificare il codice del tuo comando di compilazione a questo:
result = "frogc" $ TM_FILEPATH "" if ["$ result" == ""]; quindi echo "Compila completato" echo $ result fi
Questo ti darà una descrizione "Compila completato" una volta frogc
viene eseguito in esecuzione, se viene eseguito correttamente. Se hai errori, verranno comunque visualizzati come prima.
Un'altra opzione: se ti piaceva l'idea di salvare automaticamente i file mentre esegui il comando, ti potrebbe piacere l'idea di sostituire il comando Salva con un comando Salva e compila. Questo è semplice come cambiare Command-B in Command-S e assicurarti di salvare il "File corrente" nel comando. Questo sovrascrive il normale Command-S, che salva semplicemente il documento corrente, con l'esecuzione di questo comando, che salva e quindi compila.
Per completezza, è possibile creare un comando duplicato che salva "Tutti i file" e ha una chiave di attivazione di Comando-Opzione-S. Questa scorciatoia sovrascrive il normale comando-Opzione-S in TextMate, che normalmente salva tutti i file in un progetto. Nota che poiché hai impostato un selettore dell'oscilloscopio, questa sovrascrittura si verifica solo nei file Dart, non ogni tempo di salvare qualsiasi file.
Ci sono potenzialmente molti snippet utili da aggiungere a un pacchetto Dart. In genere mi trovo ad aggiungerli in modo incrementale man mano che conosco una lingua e scopro che esiste .tmbundle
non ne include già uno. Lasciatemi iniziare aggiungendo uno snippet che crea un nuovo metodo.
Nell'editor di Bundle, assicurati che il Dart bundle (o un oggetto nel Dart bundle) sia selezionato, quindi scegli "New Snippet" da "+"Pulsante. Chiamalo "metodo".
Nell'area di testo grande, seleziona tutto il testo esistente ed eliminalo. Ora inserisci (o incolla) quanto segue:
$ 1: void $ 2: methodName ($ 3: arguments) $ 0 $ 1 / void | (. +) / (? 1: \ n \ treturn null;) /
Sotto "Attivazione", imposta il pop-up su "Tab Trigger" e inserisci metodo
nel campo di testo (sentiti libero di cambiare questo).
Sotto "Scope Selector", inserisci source.dart
.
Il tuo snippet dovrebbe essere simile a questo:
Chiudi l'editor di bundle.
Provalo. In un file Dart, digita "method" (o qualunque cosa tu abbia specificato, se hai creato il tuo trigger di tabulazione), premi Tab e guardalo espandere. È possibile scorrere tra le varie fermate, a partire dal tipo di ritorno, quindi al nome del metodo e infine tra parentesi se si desidera aggiungere argomenti. L'ultima scheda ti lascerà cadere sulla prima riga del metodo.
La parte interessante è che se cambi il tipo di ritorno da vuoto
, ottieni un automatico restituisce null
dichiarazione alla fine del tuo corpo metodo. Ovviamente vorrete adattarlo alle vostre esigenze, ma si spera che sia una caratteristica che consente di risparmiare un po 'di battitura. La magia avviene nell'enorme seconda riga del frammento; se non l'hai mai visto prima, allora è un po 'difficile da spiegare in modo conciso, ma guarda il contenuto del primo tab stop (il tipo restituito) e se è qualcosa di diverso da "vuoto
", Aggiunge il restituisce null
. Potrebbe avere senso se hai mai usato le espressioni regolari, in particolare con la sintassi di sostituzione di / Pattern / sostituto /
trovato in Perl.
Dato che Google non fornisce snippet con i loro .tmbundle
, il campo è aperto per la creazione di frammenti di Dart che fanno risparmiare tempo. Sentiti libero di inserire i tuoi frammenti nei commenti. Li compileremo e vediamo se possiamo far sì che Google li incorpori nel loro pacchetto ufficiale.
Grazie per aver letto! Spero che tu sia entusiasta di Dart come lo sono io. E il Dart Editor è pulito e tutto, ma io sono un pazzo per TextMate. Combinare Dart con il mio editor di testo di scelta è qualcosa che doveva essere condiviso.