Github -Projekt mit Gistlyn.com - AC# Gist IDE zum Erstellen, Ausführen und Teilen von Einzelausführungen, ausführbarer C# Snippets.
Gistlyn ist das ultimative kollaborative Tool, um C #- und .NET -Bibliotheken auf Nuget aus einem modernen Browser von Null auszuprobieren und zu erkunden. Es ist ideal für die Verwendung als Begleitwerkzeug, um Bibliotheken während der Entwicklung oder unterwegs von Ihrem iPad auszuprobieren, indem Sie auf Gistlyn.com gehen.
Live -Demo: Gistlyn.com
Gistlyn ist eine offene Plattform , auf der alle C# -Innippets und Dokumentationen vollständig in Github Gists gehostet werden, mit denen jeder neue C# GISTs oder Gabel erstellen, aktualisieren oder umbenannt und vorhandenen neuen Dateien hinzugefügt werden kann. Sie können einfach eine Kopie eines jeden GIST erstellen oder auf Ctrl+S drücken, wodurch Ihre Änderungen an Ihrer geänderten Kopie gespeichert werden.
Der Hello World Gist zeigt ein minimales C# -Beispiel dafür, was es braucht, um in Gistlyn auszuführen, dh nur ein gültiges C# -Sell -Code -Fragment in einer main.cs -Datei:
//Variables in top scope can be inspected in preview inspector
var name = "World" ;
var greeting = $ "Hello, { name } !" ; Durch das Aufschlagen von Ctrl+Enter (oder auf das Aufspielen) wird Ihr Code auf Gistlyns Server ausgeführt und in einem isolierten Kontext ausgeführt, in dem jede der im Bereich obersten Ebene definierten Variablen weiter untersucht werden kann. Der Preview -Inspektor enthält auch einen Ausdrucksbewerter, mit dem C# Ausdrücke an der Live -Server -Sitzung bewertet werden können:
Dank der React -Desktop -Apps vs.Net -Vorlage Gistlyn ist in verschiedenen Geschmacksrichtungen erhältlich:
Bereitstellung als ASP.NET -Webanwendung sowohl unter Windows / .NET- als auch auf Linux / Mono -Servern unter:
Sowohl Windows- als auch Linux -Versionen von Gistlyn ist nützlich, wenn Sie testen möchten, ob eine Funktion das gleiche Verhalten sowohl in .NET als auch in Mono hat. Wo nach dem Speichern können Sie die mono -Subdomain hinzufügen/entfernen, um Ihre Skripte auf verschiedenen Betriebssystemen auszuführen.
Zusätzlich zu einer ausgeführten ASP.NET-Web-App ist Gistlyn auch als Selbsthosting-Desktop oder plattformübergreifende OSX/Linux/Windows-Konsole-App verfügbar.
Wenn Sie Gistlyn auf Ihrem Desktop ausführen, können Sie die vollständigen Ressourcen Ihrer CPU für schnellere Build- und Reaktionszeiten nutzen. Da sie lokal ausgeführt werden, können sie auf Ihre RDBMs oder andere vernetzte Server und Dienste zugreifen, die bei Ihrem lokalen Intranet verfügbar sind.
Gistlyn leuchtet darin, schnell navigieren, Code und Vorschauergebnisse auf einen Blick ausführen, auf einen Blick auf komplexe Typen mit verschachtelten komplexen Sammlungen in einem menschlich-freundlichen Format für sofortige Feedback vorschauen können.
Um Ihnen ein Beispiel zu geben, zeigt der Vorschau -Inspektor nach dem Ausführen des folgenden Ormlite -Referenz -Testdaten Beispiel -C# -Codes:
//SELECT all artists including their Track references
var allArtists = db . LoadSelect < Artist > ( ) ;
allArtists . PrintDump ( ) ; // Dump to Console Nachdem es ausgeführt wurde, werden alle Variablen im Vorschau -Inspektor gezeigt. Wenn Sie auf allArtists klicken, wird es im Expressions -Evaluator ausgeführt und die folgenden Ergebnisse angezeigt:
Die Erweiterungsmethoden
T.PrintDump()undT.Dump()sind ideal zum Ableiten und schnell die Ergebnisse einer Variablen zur Konsole.
Gistlyn hat viele natürliche Vorteile von einer reag-webbasierten IDE, von der Deep-Verknüpfung bis hin zu in der Lage, durch Ihren Browserverlauf schnell zurück/vorwärts zu navigieren. Es spart auch jede Änderung in Ihrem localStorage , das sofort wiederhergestellt wird, sodass Sie Ihren Browser jederzeit schließen und Gistlyn.com wieder in denselben Zustand bringen können, in dem Sie es verlassen haben. Entwürfe jedes Wachmanns, den Sie besuchen, werden ebenfalls gerettet, sodass Sie gerne an mehreren GISTs arbeiten können, ohne Änderungen zu verlieren.
Ein weiteres Feature Gistlyn profitiert natürlich von Schnappschüssen ...
Mit Snapshots können Sie den gesamten Client -Status Ihres aktuellen Arbeitsbereichs (mit Ausnahme Ihrer Anmeldeinformationen) in einer generierten URL speichern, mit der Sie in der Zeit zurückkehren können, als der Snapshot aufgenommen wurde, oder an eine andere Person, die sofort sehen und ausführen kann, woran Sie arbeiten und aus demselben Ort arbeiten können.
Wie alles andere in Gistlyn ist ein Snapshot nur ein snapshot.json -Dokument Ihres serialisierten Status, der in einem privaten Github -Gist auf Ihrem Benutzerkonto gespeichert ist.
Wenn Schnappschüsse vor Ihren GISTs gespeichert werden, müssen Sie sich zuerst anmelden, um einen Schnappschuss aufzunehmen. Nachdem Sie mit GitHub authentifiziert sind, können Sie auf das Kamerasymbol klicken, das im Fußzeile angezeigt wird, um einen Schnappschuss zu machen:
Dadurch wird das Snapshot -Dialog geöffnet, in dem Sie den Namen des Snapshots eingeben können, der standardmäßig automatisch mit dem Zeitstempel des Zeitpunkts besiedelt wird, wenn der Snapshot aufgenommen wurde:
Klicken Sie auf SPAPSHOT SPRAPSHOT SERialisiert Ihren erfassten Snapshot und speichert es als snapshot.json -Dokument in einem neuen privaten GIST. Gistlyn findet dann nur die ID des neu erstellten Gists an den ?snapshot -QueryString an, um die URL für Ihren neuen Snapshot zu bilden:
Es gibt zwei Möglichkeiten, einen Snapshot zu laden, entweder durch Klicken auf die generierte URL, um sie in einem Browser zu starten:
Dadurch wird eine neue Gistlyn -Sitzung geladen, die mit dem Snapshot initialisiert wurde und mit dem Inhalt aller Arbeitsdateien, dem Status des Vorschaltfensters, jeder Konsolenprotokolle usw. komplett ist:
Die Alternative besteht darin, die ID des Gists in Gistlyns URL -Bar einzufügen:
Im Übrigen können Sie die ID eines C# -Gists, Sammlung oder Schnappschusses in der URL -Leiste einfügen
In unserer Mission, Gistlyn zu einem immens nützlichen und kollaborativen Lernwerkzeug zur Erforschung einer .NET -Bibliothek zu machen, enthält Gistlyn einen optimierten UX für die Bearbeitung von Sammlungen, um "Live -Dokumentation" zu erstellen, von denen wir glauben, dass es der beste Weg ist, um eine Bibliothek zu mischen, und die Dokumentation zu mischen, und die Live -Entwicklungserfahrung zu ermöglichen.
Gistlyn erleichtert es einfach, C# -Innippets mit Kollegen zu teilen oder ein Problem mit nur einer URL oder einer gespeicherten GIST -ID ein Problem zu melden, die jeder in einem Browser bei Gistlyn.com oder auf seiner Desktop -Version von Gistlyn anzeigen kann.
Hier ist ein Beispiel für die neuen Sammlungsfunktionen in Aktion:
Das Beste an Gistlyn -Sammlungen ist, dass sie nur Github Gists mit einem einzigen index.md -Markdown -Dokument. Wenn Sie also zuvor eine Dokumentation in GitHub erstellt haben oder Fragen in Stackoverflow gestellt haben, wissen Sie bereits, wie Sie Github -Sammlungen erstellen.
Alle Dokumentationen in Gistlyn einschließlich dieser und der Startseite sind Gistlyn -Sammlungen, die durch Klicken auf das Kollektions -Header -Symbol angezeigt werden können:
Das Kollektionssymbol öffnet die Heimkollektion, indem sie die GIST -ID zur Abfragezeichenfolge ?collection hinzufügt:
Wenn localhost:4000 Links in Ihrer Sammlung hinzufügen, sollten Sie nur den ?querystring -Teil und nicht die absolute URL einfügen, z http://gistlyn.com?collection=...
Das Erstellen einer Sammlung kann jederzeit aus Gistlyns Hauptmenü aus erstellt werden:
Dadurch wird ein leeres Markdown -Dokument in den Markdown -Editor geöffnet. Klicken Sie auf Ctrl+S um Ihre geänderte Kopie in Ihren Github -GISTs zu speichern. Nach dem Speichern wird die obere Leiste grün , um anzuzeigen, dass Sie einen Ihrer eigenen GISTs oder Sammlungen ansehen oder ändern:
Sobald Sie das Dokument bearbeiten, können Sie die Markdown -Symbolleiste verwenden, um schnell auf Markdownspezifische Formatierungsfunktionen wie das Symbol für Link zu aufzutragen :
Dies öffnet das Dialogfeld Link einfügen und schnell erstellen und verlinken Sie sie zu einem neuen Gist oder einer Sammlung, indem Sie das vorhandene GIST oder die vorhandene Sammlung auswählen, die Sie als Vorlage verwenden möchten:
Auf diese Weise erstellen Sie schnell mehrere C# GISTs mit einer Kopie einer vorhandenen GIST packages.config und unterstützenden .cs -Quelldateien, wodurch der Aufwand für das Erstellen mehrerer C# -Schampen erheblich verringert wird.
Sie können Ihrem Dokument Bilder hinzufügen, indem Sie unten auf das Bildsymbol einfügen Bild einfügen:
Dadurch wird das Dialogfeld "Imaging Image einfügen einfügen) geöffnet, in dem Sie mehrere Bilder ziehen können, um sie in IMGUR hochzuladen und in Ihr Dokument einzubetten:
Nachdem jedes Bild das Hochladen auf IMGUR abgeschlossen hat, wird es mit dem folgenden Markdown -Bildformat in Ihrem Dokument aus Ihrer Cursor -Position eingebettet:

Während Sie Ihr Markdown-Dokument autorisieren, können Sie frei zwischen verschiedenen GIST oder Sammlungen springen, da Gistlyn automatisch als you-Typ speichert, damit Sie den Rückknopf verwenden können, um zu Ihrer neuen Sammlung zurückzusteigen, während Sie sie verlassen haben, ohne einen Beat zu verpassen.
Nachdem Sie von Ihrer Seite entfernt wurden, wird die unten gezeigten Pfeilsymbole in der Mitte angezeigt, um anzuzeigen, was Sie links bearbeiten, nicht mehr derselben Seite rechts übereinstimmt:
Verwenden Sie das Symbol " ober rechts) , um die Seite, die Sie im Vorschau-Fenster bearbeiten, rechts rechts zu laden, um die Echtzeitvorschau Ihres Markdown-Dokuments zu laden.
Verwenden Sie das untere linke Pfeilsymbol, um die Sammlung zu laden, die Sie rechts im Editor anzeigen.
Wenn Sie manuell mit GIST verknüpfen, verwenden andere Sammlungen und Schnappschüsse die folgenden Formate unten:
?gist={id}?collection={id}?snapshot={id}Wenn Gistlyn diese Links sieht, wird sie in Ihre aktuelle Gistlyn -Sitzung geladen. Alle anderen Links werden vom Browser behandelt, der zur angegebenen URL navigiert und eine vollständige Last von Seiten verursacht. Wenn Sie mit einem externen Standort außerhalb von Gistlyn in Verbindung stehen, empfehlen wir, sie in einem neuen Browserfenster mit HTML anstelle von Markdown -Links zu öffnen. z.B:
<a target="_blank" href="http://example.org">name</a>
Sammlungen sind eine großartige Möglichkeit, Lernressourcen und Tutorials für C# zu erstellen, in denen Sie Schritt-für-Schritt-Durchläufe erstellen können, in denen erläutert wird, wie etwas rechts funktioniert, während Sie Links zu ausführbaren C# -Pragmenten bereitstellen, die Benutzer ausprobieren können, und Live im Code-Editor auf der linken Seite erkunden können.
Sie finden alle Sammlungen von Gistlyn als GIST unter dem Gistlyn Github -Konto. Wenn Sie einige von Gistlyn -Sammlungen unten und ihre Markdown -Quellen durchsehen, sollten Sie eine gute Ressource zum Erstellen von Kollektionen im Markdown bieten:
Anstatt Links mit unvergesslichen GIST -IDs zu senden, können Sie auch beantragen, sich leichter an URLs für Links zu jeder Gistlyn -Sammlung zu erinnern, indem Sie einen Kommentar zu den freundlichen Namen GIST hinterlassen
Wo ein Link im obigen Gist für Gistlyn zur Verfügung steht. Anstatt Links zu einer Long ?collection={id} URL zu veröffentlichen, können Sie stattdessen einen kürzeren und leichter zu erinnern zu erinnern, z. B.:
Das leitet wie ein URL -Shortener die verknüpfte URL weiter: http://gistlyn.com?collection=991DB51E44674AD01D3D318B24CF0934
Die integrierte Unterstützung von Gistlyn für die Funktion "Servicestack Reference" generiert eine typisierte API für Remote Servicestack -Dienste, die in einem der typisierten C# -Dienste von Servicestack verwendet werden kann, um Webdienste anzurufen und ihre Ergebnisse innerhalb von Sekunden anzusehen.
Die einfachste Möglichkeit, diese Funktion zu verwenden, besteht darin, die BasisaRl für Ihre Remote -Servicestack -Instanz zur Abfrage -String ?AddServiceStackReference hinzuzufügen, z. B.:
Dadurch wird der Dialogfeld "Servicestack" hinzufügen, das automatisch validiert, wenn die angegebene URL zu einer gültigen Servicestack -Instanz ist:
Enter Sie dann: dann:
JsonServiceClient mit Ihrem BasisaRlGet() -Anforderung mit der ersten GET -Anforderung DTO, die es finden kannWas für TechStacks.io führt zu:
using System . Linq ;
using ServiceStack ;
using ServiceStack . Text ;
var client = new JsonServiceClient ( "http://techstacks.io" ) ;
//Call techstacks.io APIs by sending typed Request DTO's
var response = client . Get ( new GetAllTechnologies { } ) ;
//response.PrintDump(); // Uncomment to Print Response to Console Ohne Code zu haben, können Benutzer Ctrl+Enter um den generierten GIST auszuführen, der für TechStacks.io Details aller Technologien zurückgibt, die sie in seiner Datenbank verwaltet, die sie im Vorschau -Inspektor anzeigen. response.PrintDump(); wird auch den Inhalt der response auf die Konsole abgeben.
Eine Sache, die Sie wahrscheinlich tun möchten, ist zu ändern, welche Anfrage DTO verwendet wird, indem Sie sie in der ?Request anfordern, z. B.:
Sie können den C# -Ausdruck auch voraberprallen und ihn autorun machen mit:
Anschließend haben wir einen Live -Link, auf den jeder mit einem modernen Browser auf seinem Desktop oder iPad klicken kann, um die öffentliche API von TechStacks.io anzurufen, um herauszufinden, was seine beliebteste Technologie in Sekundenschnelle ist.
Ähnlich wie bei den meisten wichtigen IDEs die Servicestack -Referenz hinzufügen, können Sie auch die Referenz zu vorhandenen GISTs mit dem Editor -Kontextmenü hinzufügen:
Nach dem Klicken auf das Hinzufügen von Referenz fügt Gistlyn Ihre Remote -Dienste hinzu, die DTOs mit dem vorhandenen GIST unter Verwendung des angegebenen Dateinamens tippt.
Wenn Sie vor V4.0.62 einen Service -Verweis auf eine Version von Servicestack hinzufügen, müssen Sie alle C# -Aufspitzen manuell entfernen, da sie in Roslyn Scripting nicht unterstützt werden.
Eine überraschende Sache an Gistlyn ist, dass es völlig staatenlos ist, wo es ohne jegliche Art von Backend -DB -Persistenz läuft. Der gesamte Staat ist entweder nach Github Gists oder in localStorage Ihres Browsers bestehen. Nicht einmal Ihre authentifizierte Github -Sitzung wird auf dem Server aufbewahrt, da sie sofort in ein verschlüsseltes JWT -Cookie umgewandelt wird, das mit jeder AJAX -Anfrage gesendet wird. Daher verliert die Neuanpassung (oder sogar sauberer Server umgebaut) keine Arbeit oder zwingt Sie, sich erneut anzumelden, wenn der JWT -Token abgelaufen ist.
Dieses GitHub-Repo bietet ein gutes Beispiel für eine moderne mittelgroße Servicestack, React + TypeScript-App, die eine Reihe verschiedener Servicestack-Funktionen nutzt: