GitHub項目為GISTLYN.com提供動力-AC#GIST IDE用於創建,運行和共享獨立的可執行C#spippets。
Gistlyn是通過零安裝 - 現代瀏覽器在Nuget上嘗試和探索C#和.NET庫的最終協作工具。它非常適合用作在開發過程中或從iPad舒適地嘗試使用gistlyn.com在iPad上嘗試圖書館的配套工具。
現場演示:gistlyn.com
GISTLYN是一個開放平台,所有C#摘要和文檔都完全託管在GitHub Gist中,任何人都可以創建新的C#GISTS或FORK或FORK,更新或重命名並將新文件添加到現有文件中 - 為您的C#Snippets提供完整的UI創作經驗,這些體驗可直接保存在Github上。您可以通過擊中Ctrl+S來輕鬆創建或分叉任何要點的副本,從而將您的任何更改都節省到修改後的副本中。
Hello World Gist顯示了在Gistlyn中運行的最小C#示例,即在main.cs文件中只是有效的C#源代碼片段:
//Variables in top scope can be inspected in preview inspector
var name = "World" ;
var greeting = $ "Hello, { name } !" ;擊中Ctrl+Enter (或單擊遊戲)將在Gistlyn的服務器上執行您的代碼,在隔離的上下文中運行,可以進一步檢查頂級範圍中定義的每個變量。預覽檢查器還包括一個表達式評估器,可用於針對實時服務器會話評估C#表達式:
多虧了React Desktop Apps vs.net模板Gistlyn提供各種不同的口味:
在Windows / .NET和Linux / Mono服務器上部署為ASP.NET Web應用程序:
當您要測試一個功能是否在.NET和MONO中都具有相同的行為時,擁有GISTLYN的Windows和Linux版本非常有用。保存之後,您可以添加/刪除mono聲道子域以在不同的操作系統上運行腳本。
除了作為ASP.NET Web應用程序運行外,Gistlyn還可以作為自託管Winforms桌面或跨平台OSX/Linux/Windows Console應用程序提供。
在台式機上運行GISTLYN,您可以利用CPU的完整資源,以更快地構建和響應時間,並且在本地運行時,它們將能夠訪問您的RDBMS或其他網絡服務器和其他網絡服務器和服務,從您本地的Intranet中獲得。
Gistlyn閃耀著能夠快速瀏覽,運行代碼和預覽結果,您可以以人為友好的格式預覽複雜類型,以進行即時反饋。
為了給您一個示例,以下是預覽Inspector在運行Ormlite參考測試數據樣本C#代碼之後顯示的內容:
//SELECT all artists including their Track references
var allArtists = db . LoadSelect < Artist > ( ) ;
allArtists . PrintDump ( ) ; // Dump to Console執行後,所有變量將顯示在預覽檢查員中。然後單擊allArtists在表達式評估器中執行它,並顯示以下結果:
T.PrintDump()和T.Dump()擴展方法非常適合傾倒并快速查看控制台的任何變量的結果。
GISTLYN成為基於Web的IDE,從深度鏈接到能夠在瀏覽器歷史記錄中快速導航/向前導航。它還可以節省您的localStorage的每一個更改,這些更改會立即恢復,因此您可以隨時關閉瀏覽器,重新訪問Gistlyn.com將使您直接回到離開它的同一狀態。您訪問的每一個要點的草稿也得到了保存,因此您可以愉快地從事多個要點工作而不會失去任何更改。
Gistlyn自然受益的另一個功能是快照...
快照使您可以將當前工作空間的整個客戶端狀態(不包括登錄信息)保存到生成的URL中,您可以使用該網址從拍攝快照或發送給可以立即看到並運行您正在工作的東西的其他人時,可以及時恢復,他們將繼續從同一地點工作。
就像Gistlyn中的所有其他內容一樣,快照只是snapshot.json文檔的序列化狀態已保存在私人github gist中的用戶帳戶。
由於快照被保存到了要點,因此您需要首先登錄才能拍攝快照。使用GitHub身份驗證後,您可以單擊顯示器中出現的相機圖標以拍攝快照:
這將打開“快照”對話框,您可以在其中輸入快照的名稱,默認情況下,它會自動填充使用快照時的時間戳:
單擊“保存快照”將捕獲的快照序列化,並將其保存為snapshot.json 。然後,Gistlyn只是將新創建的GIST的ID附加到?snapshot Querystring上,以形成新快照的URL:
有兩種方法可以通過單擊生成的URL將其啟動到瀏覽器中來加載快照:
它將加載使用快照初始初始化的Gistlyn會話,並配有所有工作文件的內容,預覽窗口的狀態,任何控制台日誌等:
另一種選擇是將要點的ID粘貼到Gistlyn的URL欄中:
順便說一句,您可以在URL欄中粘貼任何C#要素,收集或快照的ID
在我們使Gistlyn成為探索任何.NET庫的極其有用且協作的學習工具的使命中,Gistlyn包括一個簡化的UX,用於編輯藏書的UX比以往任何時候都更容易創建“實時文檔”,我們認為,我們認為這是學習圖書館的最佳方式,可以學習文檔,使開發人員嘗試使用榜樣,從而使開發人員嘗試使用範圍,從而使他們遇到了範圍的環境,從而使他們遇到了範圍的環境,從而使他們的上下文進行了範圍,從而使他們的上下文進行了範圍,從而使他們的上下文進行了範圍。
GISTLYN使與同事共享C#摘要或向圖書館維護者報告問題的問題很容易,或者只有一個URL或保存的GIST ID,任何人都可以在gistlyn.com上或在其桌面版本的GISTLYN中查看這些問題。
這是新收藏的創作功能的示例:
關於Gistlyn收藏的最好的事情是,它們只是單個index.md Markdown文檔的普通Github Gist。因此,如果您以前在GitHub中創建了文檔或在Stackoverflow中詢問問題,則您已經知道如何創建GitHub集合。
GISTLYN中的所有文檔(包括此和主頁)都是GISTLYN收集,可以通過單擊“集合標題”圖標來查看:
這些集合圖標通過將其GIST ID添加到?collection查詢字符串:
在您的集合中添加鏈接時,您應該僅包括?querystring部分,而不是絕對URL,例如http://gistlyn.com?collection=...因此,您的鏈接也可以在gistlyn的桌面版本中工作,這些鏈接來自localhost:4000 。
可以在Gistlyn的主菜單中隨時完成創建集合:
這將為Markdown編輯器打開一個空的降價文檔。點擊Ctrl+S ,將修改後的副本保存到GitHub Gists中。節省後,頂部的欄將變綠,以表明您正在查看或修改自己的要點或收藏之一:
一旦編輯文檔,您可以使用Markdown工具欄快速訪問Markdown特定格式的功能,例如插入鏈接圖標:
它通過選擇要用作模板的現有要點或集合來打開插入鏈接對話框,并快速創建並鏈接到新的要點或集合:
這使您可以使用現有的GISTS packages.config的副本快速創建多個C#GIST.CONFIG和支持.cs源文件,從而大大減少了創建多個C#樣本的努力。
您可以通過單擊下面的插入圖像圖標添加圖像:
這將打開插入圖像對話框,您可以在其中拖動多個圖像將其上傳到Imgur並將其嵌入文檔中:
在每個圖像完成上傳到IMGUR之後,它將使用下面的Markdown Image格式從光標位置嵌入文檔中:

當您創作降價文檔時,您可以在不同的GIST或集合之間自由跳躍,因為Gistlyn會自動保存按照自己的類型保存,因此您可以使用Back按鈕跳回您的新系列而不會錯過任何節拍。
從頁面上導航後,下面顯示的箭頭圖標將出現在中間,以指示您在左側的編輯不再與右側的同一頁面匹配:
使用右上方的箭頭圖標加載您要編輯的頁面在右側的“預覽”窗口中,以加載Markdown文檔的實時預覽。
使用左下的箭頭圖標加載您要在編輯器右側查看的集合。
如果手動鏈接到GIST,其他收藏和快照使用以下以下格式:
?gist={id}?collection={id}?snapshot={id}當Gistlyn看到這些鏈接時,它將它們加載到您當前的Gistlyn會話中。所有其他鏈接均由瀏覽器處理,該瀏覽器導航到指定的URL導致全頁加載。如果您要鏈接到Gistlyn外部的外部站點,則建議使用HTML而不是Markdown鏈接在新的瀏覽器窗口中打開它。例如:
<a target="_blank" href="http://example.org">name</a>
收集是為C#創建學習資源和教程的一種好方法,讓您逐步創建分步練習,以解釋某物在右側的工作方式,同時提供可執行的C#片段鏈接,用戶可以在左側的代碼編輯器中嘗試並探索實時的鏈接。
您可以在GISTLYN GITHUB帳戶下找到Gistlyn的所有收藏品。仔細查看下面的Gistlyn藏品及其降價資源,應該為學習如何在Markdown中創建收藏品提供一個很好的資源:
您還可以要求通過對友好名稱GIST發表評論來更容易記住指向任何GISTLYN收集的鏈接的URL,而不是發送無與倫比的GIST ID發送鏈接。
在上述要旨中的任何鏈接可以用於GISTLYN,因此您可以使用較短且易於記住的?collection={id} ,例如:
就像URL Shortener一樣,重定向到鏈接的URL:http://gistlyn.com?collection = 991DB51E44674AD01D3D3D3D318B24CF0934
GISTLYN對添加ServiceStack參考功能的集成支持生成了用於遠程ServiceStack服務的鍵入API,可以在ServiceStack的任何類型C#服務客戶端中使用,以在幾秒鐘內使用Web服務並查看其結果。
使用此功能的最簡單方法是將遠程ServiceStack實例的baseurl添加到?AddServiceStackReference
這將打開“添加ServiceStack參考”對話框,該對話框自動驗證指定的URL是否為有效的ServiceStack實例:
然後擊中Enter :
JsonServiceClientGet()請求的示例對於TechStacks.io而言,哪個導致:
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因此,如果沒有編寫任何代碼,用戶就可以按Ctrl+Enter執行生成的要點,以返回其在Preview Inspector中顯示的數據庫中所維護的所有技術的詳細信息。無音響response.PrintDump();還將將Web服務response的內容轉換為控制台。
您可能想做的一件事是更改哪個請求DTO通過在?Request查詢字符串”中指定來使用它,例如:
您還可以預先填充C#表達式,並使用以下方式進行自動運行:
然後,我們最終獲得了一個實時鏈接,任何人在桌面或iPad上使用現代瀏覽器的人都可以單擊以撥打TechStacks.io的公共API,以在幾秒鐘內找出其最受歡迎的技術是什麼。
類似於添加ServiceStack參考在大多數主要IDE中的工作方式,您還可以使用編輯器上下文菜單將參考添加到現有的GISTS:
然後,使用指定的文件名添加參考GISTLYN將您的遠程服務鍵入DTO添加到您現有的要點。
如果您在v4.0.62之前將服務引用添加到ServiceStack版本中,則需要手動刪除任何C##名稱空間,因為它們在Roslyn腳本中不支持。
GISTLYN令人驚訝的是,它完全無狀態,而它在沒有任何後端DB持久性的情況下運行。所有狀態要么堅持使用GitHub Gist,要么在您的瀏覽器的localStorage中。即使您的身份驗證的GITHUB會話也沒有保留在服務器上,因為它立即將其轉換為加密的JWT cookie,該cookie隨著每個AJAX請求發送,因此重新部署(甚至乾淨的服務器重建)不會丟失任何工作或迫使您在JWT Token Expurove之前再次登錄。
該GitHub倉庫提供了一個現代中型ServiceStack,React + TypeScript應用程序的一個很好的例子,該應用利用了許多不同的ServiceStack功能: