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功能: