在.NET Fiddle有趣的沙盒代码
在.NET Fiddle有趣的沙盒代码
笔者:Tony Patton | 托尼·巴顿
译:PurpleEndurer,2014-11-18,第1版
C#和VB.NET开发者能够使用.NET Fiddle在浏览器窗体中运行调试代码,并通过URL共享代码。
jsFiddle是我最喜欢的在线工具之中的一个,由于它能够让你在浏览器中轻松地測试和构造JavaScript,HTML和CSS。
让我做梦也没想到.NET开发者会拥有这种工具,但.NET Fiddle为C#和VB.NET开发者带来相同的功能。
总的来说,它能够让你在浏览器窗体重复折腾代码片段而无需运行Visual Studio。当你仅仅是调试少量代码时这实在是太方便了。.NET Fiddle的一个最大卖点就是它是免费的。
測试代码
主要的.NET Fiddle界面如图A所看到的。该界面的左側部分包含了语言(C#或VB.NET)。项目类型(控制台或交互),NuGet Packages,以及Auto Run(自己主动运行)是否启用的选项。
交互模式同意你无需架构地输入代码行,而控制台模式包含Program类和Main方法。
Auto Run(自己主动运行)选项同意你决定通过交互方式输入的代码时是否边输入边运行。
图A .NET Fiddle第一次装载时的基本界面
NuGet Packages选项同意你在代码中使用各种软件包,这些可用软件包由.NET Fiddle团队提供。当感叹号(与NuGet Packages选项相邻)选定后显示的软件包列表如图B所看到的。.NET Fiddle团许诺不断更新这个名单。所以请常常检查什么是可用的。
图B. NET Fiddle的NuGet Packages选项中眼下可用的软件包。
图A的中间区域是该工具的最重要的部分 - 输入代码的地方。底部中间的窗体显示了运行的代码段(或错误)的输出/结果,右下窗体有代码统计。
图C显示了处理基本数组的C#代码运行结果。控制台语句的输出被显示在窗体中的输出区域,而代码统计显示在右下方。该统计数据包含了代码何时运行;编译和运行所用时间。内存消耗和CPU运行时间。这些统计信息在本例中意义不大。但在跟踪或者调试代码运行时,它们是实用的。
图C 在.NET Fiddle 运行C#数组演示样例代码。
一个全功能的编辑器
我原本仅仅期望.NET Fiddle能配有一个主要的编辑器(总的来说,是浏览器中的文本编辑器),但它带来的很多其它。
它提供了代码验证以及智能感知,这真是一个天赐礼物,由于我不知道是否有人能记住那么多可用对象和方法的语法。
此外。它会对动态代码进行验证,并在出现故障时提供可视线索。
图D展示了对Struts的演示样例代码智能感知和验证动作。智能感知能够在你输入对象名称和句号后提供有效方法和属性。同一时候验证表明某一行(SS.Y)包含一个无效的属性名。我选择使用自己定义代码来证明智能感知功能对自己定义代码的支持与对内置.NET对象一样棒。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUHVycGxlZW5kdXJlcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
图D .NET Fiddle代码编辑器同一时候提供智能感知和验证。
协作选项
虽然在浏览器中測试代码的能力是非常强大的,在.NET Fiddle可用的协作功能锦上添花。与jsFiddle相相应,.NET Fiddle提供了通过URL共享代码的能力,但它更进一步提供实时协作。点击.NET Fiddle界面顶部的Collaborate(协作)button。打开如图E所看到的的窗体。
.NET Fiddle使用TogetherJS来促进协作。图F显示了合作一旦进行时的初始化界面(再次点击它来关闭或停止合作)。你能够通过提供链接邀请其它人研究代码或聊天(通过IM或音频)(图F)。您能够通过Share(分享)button(在界面的顶部)来共享代码。它同意你让别人通过URL查看代码或者在网页上嵌入代码(图G)。
图E 利用.NET Fiddle的TogetherJS进行协作。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUHVycGxlZW5kdXJlcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
图F 在.NET Fiddle内開始协作。
图G .NET Fiddle代码共享选项。
一个有趣又实用的工具
Visual Studio是一个伟大的应用程序开发工具。但在你仅仅是想玩玩一段不能确定能否发展为完整成熟项目的代码的时候就是大材小用了。.NET Fiddle项目提供了一个令人印象深刻的跨浏览器的接口;我在最新版本号的Chrome,Firefox和Internet Explorer进行了測试,没有不论什么问题。
我常常一个人开发代码,但协作选项是充满了机遇。
假设看到它在常常公布代码进行分析的论坛上使用,那将会是非常有趣的。
你已经使用.NET Fiddle了吗?假设没有,你会考虑尝试它一下吗?文来源:http://www.techrepublic.com/blog/software-engineer/play-with-code-in-the-net-fiddle-sandbox/
在.NET Fiddle有趣的沙盒代码的更多相关文章
- CVE-2015-1427(Groovy 沙盒绕过 && 代码执行漏洞)
1.vulhub环境搭建 https://blog.csdn.net/qq_36374896/article/details/84102101 2.启动docker环境 cd vulhub-maste ...
- iOS存储数据字典到沙盒
1.创建一个账号数据模型 用来存放从服务器返回的数据,一般返回的是一个字典,里面包含了这个登陆用户的各种信息,这个数据模型就是用来存放这些东西的 创建一个数据模型 YYCAccount 继承 NSO ...
- IOS数据存储之文件沙盒存储
前言: 之前学习了数据存储的NSUserDefaults,归档和解档,对于项目开发中如果要存储一些文件,比如图片,音频,视频等文件的时候就需要用到文件存储了.文件沙盒存储主要存储非机密数据,大的数据. ...
- iOS--浅谈iOS沙盒目录
原文地址:http://blog.csdn.net/wzzvictory/article/details/18269713 出于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文 ...
- iOS沙盒处理
沙盒文件 每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用的文件系统隔离,ios系统不允许访问其他应用的应用沙盒.在ios8中已经开放访问. 应用沙盒一般包括以下几个文件目录:应 ...
- IOS 学习之 iOS沙盒(sandbox) 介绍 沙盒机制 文件操作(一)
1.iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. ...
- iOS 沙盒(sandbox)结构 使用 实例
声明:该文档是经过自己查找网上的资料以及自己多年的经验后而总结出来的,希望对大家有所帮助,有什么不恰当支出还请大家多指点! iOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为 ...
- 数据存储--沙盒sandBox
默认情况下,每个沙盒必含有3个文件夹:Documents, Library 和 tmp 一.沙盒(sandbox)出于安全的目的,应用程序只能将自己的数据和偏好设置写入到几个特定的位置上.当应用程序被 ...
- iOS-数据持久化基础-沙盒机制
沙盒详解 1.IOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文 ...
随机推荐
- 0x00000000该内存不能为read
0X000000存储器不能read解决方案 有这种现象方面,首先,在硬件,这有问题的内存,二,软件,其中有许多问题. 一:先说说硬件: 一般来说,电脑硬件不easy生病.内存故障的可能性并不大(非你的 ...
- Golang 1.3 发布时间。最终找到地方下载。
golang 1.3 已发布 但golang.org官方网站被封锁不能下载. 最终找到一个镜像站点. http://golang.so/ http://tip.golang.so/ golang中国的 ...
- C# Windows Phone App 开发,修改【锁定画面】,从【Assets】、【UI】、【网路图片】,并解决失灵问题。
原文:C# Windows Phone App 开发,修改[锁定画面],从[Assets].[UI].[网路图片],并解决失灵问题. 一般我们在开发Windows Phone App,有时会希望透过应 ...
- Matlab强迫症产生的图像
最近流行的网络迷恋的照片做头像,闲来无事,取matlab获取一个建设者,它可以产生包括0-9以及99+OCD. 原理很easy,图叠加,这里为了降低文件,将数字图片保存在.mat二进制文件里. === ...
- ps设计资料整理
零基础学会建立一个简单化妆品网站—前台设计篇1[PS画草图] http://xiebiji.com/2008/09/huazhuang4/?wptheme=Plainscape&ie=1 PS ...
- POJ 2586:Y2K Accounting Bug(贪心)
Y2K Accounting Bug Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10024 Accepted: 4990 D ...
- HDU 1018-Big Number(数学)
Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- 关于WCF的引用,添加服务和添加web服务的区别
原文:关于WCF的引用,添加服务和添加web服务的区别 本章内容主要是根据我做的实验来阐述这2种添加服务针对WCF的不同之处,我们按照示例一步一步来看. 如下是工程的结构: 该WCF服务是通过控制台程 ...
- 有一个NSStirng类型,retain时尚宣言name财产setter内部方法的每一行代码的作用?
- (void)setName:(NSString *)name { 推断原有对象和新对象是否是同一个对象,假设是同一个,就没有必要再又一次赋值,否则会先release 再retain, ...
- 阿里2015回顾面试招收学历(获得成功offer)
1. 引言 继上次"百度2015校园招聘面试题回顾录(成功拿到offer)"文章过后,大家都希望除了题目之外.最好能给出自己当时的回答情况,看看有没有什么回答技巧,这样更有參考价值 ...