Dart ist eine ziemlich coole neue Sprache, die eine Änderung in der Art und Weise, wie Sie Webanwendungen schreiben, bedeuten kann. Google bietet einen Eclipse-basierten Dart-Editor, mit dem Sie schnell loslegen können. TextMate-Benutzer finden jedoch normalerweise eine Möglichkeit, TextMate nach Belieben zu biegen. Mit diesem Quick Tip erhalten Sie einen Einstieg in die Verwendung von Dart mit TextMate.
Ich gehe davon aus, dass Sie mit TextMate-Paketen mindestens so gut vertraut sind, wie sie sind, und dass sie TextMate um Funktionalität (normalerweise sprachspezifisch) erweitern. Ich gehe außerdem davon aus, dass Sie mit Code aus einem Subversion-Repository vertraut sind und in der Lage sind, Code auszulesen. Zum Schluss nehme ich an, du hast ein bisschen Dart-Erfahrung. Sie brauchen nicht viel, aber wenn Sie einige Dart-Dateien zum Öffnen in TextMate haben, wird dies viel ruhiger.
Wenn Sie Dart noch nicht kennen, kann ich Sie auf die offizielle Informationsquelle verweisen: http://www.dartlang.org/. Darüber hinaus hat Activetuts + zuvor mein einführendes Tutorial zur Sprache "Was ist Dart" und "Warum sollten Sie sich interessieren?" Veröffentlicht?
Wir werden den Dart-Editor nicht wirklich verwenden (der Zweck dieses Tutorials ist die Verwendung von TextMate für die Dart-Entwicklung), aber der Download enthält das Dart-SDK, was wir wirklich wollen. Auch wenn Sie ein Hardcore-Fan von TextMate sind (so wie ich), ist es immer noch keine schlechte Idee, den "offiziellen" Dart-Editor installiert und griffbereit zu haben.
Auf der offiziellen Dart-Site (siehe den vorherigen Abschnitt) können Sie den Dart-Editor unter folgendem Link herunterladen: http://www.dartlang.org/docs/getting-started/editor/index-macos.html
Wenn Sie mit Windows oder Linux arbeiten und dieses Tutorial trotz seiner Mac-zentrierten Natur lesen, können Sie den Dart-Editor für diese Plattformen von den Dart-Editor für Windows- und Linux-Seiten herunterladen.
Unter „Schritt 1“ dieser Seite finden Sie einen Link zu einer ZIP-Datei, die die Dart-Editoren enthält. Es ist etwa 40 MB groß, daher ist der Download nicht besonders schwer.
Der Dart-Editor basiert auf Eclipse. Wenn Sie dies verwendet haben, sind Sie mit dem Dart-Editor zu Hause. Ich werde mich in diesem Tutorial nicht mit Details auseinandersetzen, aber fühle mich frei damit zu spielen. Der aktuelle Activetuts + Facebook Fan Bonus führt Sie durch die grundlegende Verwendung des Dart Editors.
(Beachten Sie, dass Sie, wenn Sie den Dart-Editor nicht installieren möchten, nur das Dark SDK für Ihr Betriebssystem unter dieser URL (nur 2 oder 3 MB) herunterladen können: http://www.dartlang.org/docs/getting -started / sdk / index.html
frogc
frogc
ist der Dart-to-JavaScript-Compiler. Es ist ein Befehlszeilentool, aber es ist dankbar einfach zu bedienen. Wir werden es später in einem TextMate-Befehl verwenden, um unsere Dart-Datei (en) in JavaScript umzuwandeln, sodass wir unseren Dart-Code heute tatsächlich verwenden können.
Öffne das Terminal (in deinem / Anwendungen / Dienstprogramme /
Mappe). Geben Sie Folgendes ein:
nano ~ / .bash-Profil
Wenn Sie bereits einige Anpassungen von PATH vorgenommen haben, setzen Sie den Cursor nach diesen Zeilen.
Art:
export PATH = $ PATH:
Und dann ziehen Sie die Behälter
Ordner, der sich unter / Anwendungen / dart / dart-sdk / bin
, in das Terminalfenster. Wenn es nicht an diesem Ort ist, suchen Sie nach einem Dart-SDK
Ordner in einem Ordner, den Sie heruntergeladen haben (wenn Sie das SDK selbst heruntergeladen haben, sollte dies der Download sein, entpackt). Sie sollten mit so etwas enden:
export PATH = $ PATH: / Applications / dart / dart-sdk / bin
Um diese Datei zu speichern, drücken Sie Strg-O (das ist Steuerung, nicht Befehl), drücken Sie die Eingabetaste, um die zu speichernde Datei zu bestätigen, und drücken Sie dann Control-X, um nano zu beenden.
Fast bereit; Ich habe ein Problem mit gefunden frogc
Wenn Sie Leerzeichen in Ihren Datei- oder Ordnernamen haben. Dies kann jedoch leicht behoben werden. Aufmachen frogc
. Es ist ein ausführbares Shell-Skript, doppelklicken Sie also nicht darauf. Ziehen Sie es stattdessen auf Ihr TextMate-Symbol. Möglicherweise wird ein Warndialogfeld angezeigt, das kurze Skript sollte jedoch angezeigt werden. Sie müssen nicht verstehen, was dies bewirkt, ändern Sie einfach die letzte Zeile:
$ SCRIPTPATH / dart --new_gen_heap_size = 128 $ SCRIPTPATH / frogc.dart --libdir = $ LIBPATH $ @
… Dazu:
"$ SCRIPTPATH / dart" --new_gen_heap_size = 128 "$ SCRIPTPATH / frogc.dart" --libdir = "$ LIBPATH" "$ @"
Beachten Sie, dass ich grundsätzlich jeden Pfad mit Anführungszeichen umgeben habe, wodurch das Platzproblem vermieden wird.
Sie können das finden .tmbundle
auf dieser Google-Code-Seite.
Sie können entweder die gesamte Dart-Quelle auschecken, die für den Durchbruch interessant sein könnte, oder Sie können einfach die .tmbundle
. Navigieren Sie mithilfe des Terminals zu dem Ort, an dem Sie den Code haben möchten (Typ) CD
Ziehen Sie dann den Zielordner erneut in das Terminalfenster. Beachten Sie, dass danach ein Leerzeichen angezeigt wird CD
). Wenn sich das Terminal am gewünschten Ort befindet, geben Sie dies für einen vollständigen Checkout ein:
svn checkout http://dart.googlecode.com/svn/trunk/ dart-read-only
… Oder nur für die .tmbundle
:
svn checkout http://dart.googlecode.com/svn/branches/bleeding_edge/dart/tools/utils/textmate/Dart.tmbundle
Wenn Sie das gesamte Projekt ausgecheckt haben, können Sie zum Projekt navigieren .tmbundle
indem Sie diesem Pfad aus dem Projektstamm folgen: [Dart-Read-Only] /dart/tools/utils/textmate/Dart.tmbundle
. Doppelklicken Sie auf die .tmbundle
um TextMate installieren zu lassen.
Viele TextMate-Benutzer möchten es einfach überprüfen .Bündel
direkt in ihr Bundle-Verzeichnis. Um dies zu tun, navigieren Sie zu diesem Verzeichnis in Terminal (dies sollte es tun: cd "~ / Library / Anwendungsunterstützung / TextMate / Pristine Copy / Bundles"
) und führen Sie dann die zweite svn-Checkout-Zeile oben aus (die, die nur die .tmbundle
). Auf diese Weise können Sie das Bundle einfach mit aktualisieren svn up "~ / Library / Anwendungsunterstützung / TextMate / Pristine Copy / Bundles"
.
Das Google Dart Bundle eignet sich hervorragend zum Hinzufügen von Syntaxunterstützung für Dart. Wenn Sie also eine Datei mit der Endung .Pfeil
Sie erhalten farbige Syntax und Code-Faltung und so etwas. Es enthält jedoch keine Ausschnitte oder Befehle. Der nützlichste Befehl (in der Tat das erste, woran ich gedacht habe) ist ein Befehl zum Kompilieren Ihres aktuellen Dart-Skripts frogc
für dich Wir werden in diesem Schritt eine hinzufügen.
Öffnen Sie in TextMate den Bundle-Editor (drücken Sie Befehl-Option-Steuerung-B, oder gehe zu Bundles> Bundle Editor> Bundle Editor anzeigen)
Klicken Sie in der linken Liste auf den Eintrag Dart.
Mit dem "+“Links unten, wählen Sie“ Neuer Befehl ”.
Unter dem Dart-Bundle sollte ein neuer Befehl angezeigt werden. Benennen Sie es in "Compil with frogc" um.
Geben Sie im großen Textbereich rechts (beschriftet mit "Befehl (en)") Folgendes ein:
frogc "$ TM_FILEPATH"
Oberhalb des Textbereichs haben Sie die Möglichkeit, die Datei vor dem Ausführen mit dem Befehl speichern zu lassen. Das mag Sie ansprechen (es tut mir so, ein Tastendruck weniger!). Wenn dies der Fall ist, ändern Sie die Option "Speichern" von "Nothing" in "Current File" oder "All Files in Project"..
Unter dem Textbereich, in dem "Eingabe" angezeigt wird, setzen Sie ihn auf "Keine"..
Darunter, wo "Ausgabe" steht, setzen Sie ihn auf "Als Tooltip anzeigen". Dadurch kann jede Ausgabe des Befehls in einer QuickInfo in der Nähe des Cursors angezeigt werden. Dies bedeutet, wenn Sie Fehler beim Ausführen haben frogc
Du kannst sie sehen. Sie sind nicht besonders hübsch, aber es ist besser als nichts.
Unten Das, Wenn dort "Aktivierung" steht, stellen Sie sicher, dass "Schlüsseläquivalent" eingestellt ist, und setzen Sie den Cursor in das Textfeld rechts. Geben Sie Befehl-B ein. Dadurch wird dieser Befehl so eingestellt, dass er ausgelöst wird, wenn Sie diese Tastenkombination eingeben. Befehl-B ist das TextMate-Idiom für einen Build-Befehl, wenn Bundles einen haben.
Darunter, wo "Scope Selector" steht, geben Sie "source.dart # 8221;.
Ihr Befehlsfenster sollte ungefähr so aussehen:
Schließen Sie das Bundle-Editor-Fenster.
frogc
istWir haben das Terminal so eingerichtet, dass es weiß wo frogc
ist, aber leider teilt TextMate diese Informationen nicht. Die einfachste Lösung besteht darin, den Pfad, den wir der .bash_profile-Datei hinzugefügt haben, zu Ihren Textmate-Voreinstellungen hinzuzufügen.
Öffnen Sie die Voreinstellungen von TextMate (drücken Sie Befehls- oder gehen Sie zu TextMate> Einstellungen… ).
Klicken Sie oben auf die Schaltfläche Erweitert und anschließend auf die Registerkarte Shell-Variablen.
Wenn Sie noch keine haben PFAD
Klicken Sie auf die Schaltfläche "+" und geben Sie in die erste Spalte ein PFAD
.
In der zweiten Spalte der Zeile, die beginnt PFAD
, Geben Sie den Pfad ein, den Sie hinzugefügt haben .bash_profile
(Nur der Pfad, nicht der Teil, der sagt EXPORT PATH = @ PFAD:
). Stellen Sie sicher, dass der vorhandene Wert erhalten bleibt - fügen Sie am Ende des bereits vorhandenen Werts einen Doppelpunkt hinzu und kopieren Sie ihn in den neuen Pfad.
Schließen Sie das Einstellungsfenster, und Sie können es ausprobieren. Wenn Sie eine Dart-Datei benötigen, können Sie entweder eine Hello World-Datei erstellen, indem Sie ein neues Projekt mit Dart Editor erstellen, oder Sie können die Beispiele aus dem Dart Editor-Download im Ordner "samples" finden. Öffnen Sie eine Dart-Datei in TextMate und drücken Sie die Befehlstaste-B. Wenn alles gut geht, sollten Sie nach ein paar Sekunden eine JavaScript-Datei neben der Dart-Datei haben.
frogc
Wenn Sie ein bisschen schicker werden möchten, können Sie den Code Ihres Kompilierungsbefehls wie folgt ändern:
result = "frogc" $ TM_FILEPATH "" if ["$ result" == ""]; dann Echo "Kompilieren abgeschlossen", sonst Echo $ Ergebnis fi
Dadurch erhalten Sie einmal einen Tooltip „Fertigstellen abgeschlossen“ frogc
ist fertig ausgeführt, wenn es erfolgreich ausgeführt wird. Wenn Sie Fehler haben, werden sie immer noch wie zuvor angezeigt.
Eine weitere Option: Wenn Ihnen die Idee gefallen sollte, Dateien automatisch zu speichern, wenn Sie den Befehl ausführen, möchten Sie vielleicht den Befehl "Speichern" durch einen Befehl "Speichern und Kompilieren" ersetzen. Dies ist so einfach wie das Ändern von Command-B in Command-S und das Sichern der "Current File" im Befehl. Dies überschreibt den regulären Befehl-S, der einfach das aktuelle Dokument speichert, während dieser Befehl ausgeführt wird, der speichert und dann kompiliert.
Der Vollständigkeit halber können Sie einen doppelten Befehl erstellen, der "All Files" speichert und einen Aktivierungsschlüssel für Command-Option-S enthält. Diese Verknüpfung überschreibt die reguläre Befehlsoption-S in TextMate, die normalerweise alle Dateien in einem Projekt speichert. Beachten Sie, dass diese Überschreibung nur in Dart-Dateien auftritt, weil Sie eine Bereichsauswahl festgelegt haben, nicht jeden Zeit, wenn Sie eine Datei speichern.
Einem Dart-Bundle können viele nützliche Ausschnitte hinzugefügt werden. Im Allgemeinen füge ich hinzu, dass ich sie schrittweise hinzufüge, wenn ich eine Sprache lerne und das Vorhandene entdecke .tmbundle
enthält nicht bereits einen. Lassen Sie mich einen Einstieg machen, indem Sie ein Snippet hinzufügen, das eine neue Methode erstellt.
Vergewissern Sie sich im Bundle-Editor, dass das Dart-Bundle (oder ein Element im Dart-Bundle) ausgewählt ist, und wählen Sie dann "Neues Snippet" aus der Liste "+" Taste. Nennen Sie es "Methode".
Markieren Sie im großen Textbereich den gesamten vorhandenen Text und löschen Sie ihn. Geben Sie nun Folgendes ein:
$ 1: void $ 2: methodName ($ 3: argumente) $ 0 $ 1 / void | (. +) / (? 1: \ n \ treturn null;) /
Setzen Sie unter "Aktivierung" das Popup auf "Tab Trigger" und geben Sie ein Methode
im Textfeld (ändern Sie dies gerne).
Geben Sie unter "Bereichsauswahl" ein source.dart
.
Ihr Ausschnitt sollte so aussehen:
Schließen Sie den Bundle-Editor.
Versuch es. Geben Sie in einer Dart-Datei "method" ein (oder was auch immer Sie angegeben haben, wenn Sie Ihren eigenen Tab-Auslöser gefälscht haben), drücken Sie die Tabulatortaste und sehen Sie, wie sie erweitert wird. Sie können durch die verschiedenen Stops blättern, beginnend mit dem Rückgabetyp, dann zum Methodennamen und schließlich zwischen den Klammern, wenn Sie Argumente hinzufügen möchten. Die letzte Registerkarte wird Sie in der ersten Zeile der Methode anzeigen.
Der coole Teil ist der, wenn Sie den Rückgabetyp von ändern Leere
, Du bekommst eine Automatik NULL zurückgeben
Anweisung am Ende Ihres Methodenkörpers. Natürlich möchten Sie dies an Ihre Bedürfnisse anpassen, aber hoffentlich ist es eine Funktion, die etwas Tipparbeit erspart. Die Magie geschieht in der unhandlichen zweiten Zeile des Snippets. Wenn Sie das noch nie gesehen haben, ist es schwierig, es kurz zu erklären, aber es wird auf den Inhalt des ersten Tabstopps (den Rückgabetyp) und auf etwas anderes als "Leere
”, Fügt es hinzu NULL zurückgeben
. Es kann sinnvoll sein, wenn Sie reguläre Ausdrücke verwendet haben, insbesondere mit der Ersetzungssyntax von / muster / ersatz /
in Perl gefunden.
Angenommen, Google stellt keine Schnipsel bei .tmbundle
, Das Feld ist weit offen für die Erstellung zeitsparender Dart-Schnipsel. Fühlen Sie sich frei, Ihre Schnipsel in den Kommentaren zu posten. Wir werden sie zusammenstellen und sehen, ob wir Google dazu bringen können, sie in ihr offizielles Bündel aufzunehmen.
Danke fürs Lesen! Ich hoffe, Sie sind genauso begeistert von Dart wie ich. Und der Dart-Editor ist ordentlich und alles, aber ich bin ein Dummkopf für TextMate. Die Kombination von Dart mit meinem Texteditor meiner Wahl musste nur geteilt werden.