`

十个必备的.NET开发小工具

阅读更多

本文将介绍下列工具:

· 代码片段编译工具: Snippet Compiler

· 正则表达式构建工具: Regulator

· 代码生成工具: CodeSmith

· 单元测试工具: NUnit

· 代码分析与检查工具: FxCop

· .NET 程序集检查工具: .NET Reflector

· 代码文档创建工具: NDoc

· 解决方案编译工具: NAnt

· 版本切换与转换工具: ASP.NET Version Switcher Visual Studio .NET Project Converter

没有好的工具,就写不出好的程 序。除了众所周知的工具(例如, Visual Studio? .NET )以外, .NET 社区里还有许多声名未广的小工具。本文将简单介绍一些很好的针对 .NET 开发的免费工具及其使用方 法,它们有的会从方方面面节省你编程的时间,有的则可能会彻底改变你编写代码的方式。由于在一篇文章中谈及这么多工具,所以我无法作全面的介绍,但你应当 充分了解它们,确定哪些对你的项目有用。

Snippet Compiler
Snippet Compiler 是一个基于 Windows? 的小应用程序,利用它能够编写、编译和运行 . NET 代码。如果你有小段代码需要 测试而又不想专门为它专门创建完整的 Visual Studio .NET 项目时,这个工具很有用。

例如,我要向你展示如何从 Microsoft? .NET Framework 调出 Notepad 应用程序,代码片段如下:

System.Diagnostics.Process proc = new System.Diagnostics.Process();




proc.StartInfo.FileName= "notepad.exe";




proc.Start();




proc.WaitForExit();









我可以在 Snippet Compiler 中新建一个默认的控制台应用程序(译注:代码框架已生成),然后在它的 Main 方法中写入代码片段,如图 1 所示。

1 Snippet Compiler

要测试这段代码,只需按工具条上的 start 按钮(绿色三角),它就会运行 在调试方式下。该段代码产生一个控制台窗口,然后调出 Notepad 。关闭 Notepad ,控制台窗口也随之关闭。

我发现为求助者编写小例程时, Snippet Compiler 非常有用。通常,我必须先创建一个项目,保证所有代码编译成功后,把代码片段发给求助者,然后再删除项目。有了 Snippet Compiler ,这个过程就很容易。

Snippet Compiler Jeff Key 编写,可以从这里下载: http://www.sliver.com/dotnet/SnippetCompiler


[ 以下内容为译者补充,摘自: http://royo.is-a-geek.com/regulator ]

Snippet Compiler 主要功能:

  • 编译和运行一个或多个 C# VB.NET ASP.NET 代码片段
  • 可选择编译 WinForm EXE 文件、控制台 EXE 文件或 DLL 文件
  • 用户可存储模板库
  • 显示编译错误和警告,包括在编辑器中以波浪线提示
  • 智能感应( IntelliSense )静态成员、方法及构造器签名
  • 导入 VS.NET 项目
  • 可方便置入任务栏通知区
  • 将代码片段导出为 HTML 文件或 RTF 文件

=======================================================================

Regulator

Regulator是 最近才加入到我的必备工具列表中的。它是一个功能全面、易于使用的正则表达式构建和测试工具。正则表达式定义了基于字 符、字符出现频率和字符顺序的字符串匹配模式,通常用于验证用户输入或在长字符串中进行子串查找,例如,在网页上查找 URL e-mail 地址。

你可以在 Regulator 中输入一条正则表达式和一些测试内容(或打开文件),利用它来测试正则表达式的匹配结果,如图 2 所示。

2 Regulator

文档窗口中包含的是一条简单的正则表达 式 [0-9]* ,右下角是测试输入,左下角则显示正则表达式的匹配结果。像这样在独立的应用程序中编写和测试正则表达式要比在自己的程 序中作起来容易得多。

Regulator 最好的功能之一是能够搜索 regexlib.com 站点的在线正则表达式 库。例如,如果在搜索框中输入字符串“ phone ”,就会找到各种电话号码的正则表达式匹配结果。

Regulator Roy Osherove 编写,下载网址: http://royo.is-a-geek.com/regulator


[ 以下内容为译者补充,摘自: http://royo.is-a-geek.com/regulator ]

Regulator 主要功能

正则表达式操作 支持

支持三种最通用的正则表达式操作:

  • 查找多个匹配
  • 按表达式替换文本
  • 按表达式拆分文本
Regexlib.com 集成
  • RegexLib.com 数据库搜索和导入表达式及示
  • 使用图形化 向导将用户自己的正则表达式提交到 RegexLib.com 数据库
  • 支持代理服务器

文本编辑

    • 句法显亮
    • 多文档选项卡界面
    • “快速添加”功能允许用户轻松选择要插入的句法操作
    • “快速添加”菜单项完全可定制,只需简单地修改程序目录中相关的配置文件
    • 支持括号匹配
    • 使选定的文本“转义”到特定的字符串而无需手工输入 \s \n 以及其它转义字符
    • 折合和打开选择:可创建折叠区域以便于易读
    • 在编辑器中仅选择表达式的一部分对其执行匹配和替换

    性能分析

    • 图形化显示匹配和替换操作的时间表图,便于观察优化效果
    • 精确显示匹配和替换操作用时

    文本片段工具

    • 简单易用的常用文本片段工具条,方便表达式键入
    • 文本片段工具条完全可定制,任何文本片段均可编辑或删除,或者可以只添加用户自己的文本片段
    • 插入的包含“ <> ”符号的文本片段将自动在文本编辑器选中,允许你编写节省键入时间的范型片段

    常用功能

    • 多线程操作: 能取消长时间运 行的表达式匹配和替换 操作
    • 可最小化到系统托盘
    • “最近打开文件”菜单
    • 其它小功能

    =====================================================================================

    CodeSmith
    CodeSmith 是一个基于模板的代码生成工 具,它使用类似于 ASP.NET 法 来生成代码或文本。 CodeSmith 不像其它许多代码生成工具,它 不要求你 掌握特殊的应用程序设计或体系结构。利用 CodeSmith 可以生成简单的强类型集合,也可以生成完整的应用程序。
    在创建应用程序时,无论是编写数据访问代码还是创建定制集合,你经常会发现自己在重复 某些工作。这时候 CodeSmith 就特别有用,因为你可以编写模 板来自动完成重复性任务,不但提高了生产力,而且自动完成了烦琐的任务。
    CodeSmith 带有许多模板,包括所有 .NET 集合类型的模板以及生成存储过程的模板,但它真正强大的功能在于创建定制模板。下面我就快速介绍一下 创建定制模板。

    创建定制模板

    CodeSmith 模板是简单的文本文件,可以用任何文本编辑器创建,只需保存成以 .cst 为扩展名的文件即可。我将要创建的样例模板接受一个字符串并且创建以该字符串为名的类。首先是添加模 板头,它声明了模板语言、目标语言以及模板的简要描述:
    <%@ CodeTemplate Language="C#"
    

    ?? 
    
    TargetLanguage="C#"


    ?? 
    
    Description="Car Template" %>


    接下来是声明模板每次运行时要指定的属性。我要使用一个字符串类型的属性,其声明如下:
    <%@ Property Name="ClassName" Type="String" Category="Context" 
    

    ????
    
    Description="Class Name" %>


    当模板运行时, ClassName 属性将出现在 CodeSmith 属性窗口中。下一步是创建实 际的模板体,非常类似于用 ASP.NET 编写代码,如图 3 所示。
    3 定制模板与代码输出
    可以看到,模板将接受字符串输 入并产生一个以它为类名的单件类。模板体中使用的开始和结束定界符标记( <% %> )与 ASP.NET 相同。在这个模板中,我只是简 单地插入了属性值,但你可以在定界符标记内使用任何类型的 .NET 代码。一旦模板完成,可以通过 双击把它加载到 CodeSmith 中或者从 CodeSmith 应用程序打开它,如图 4 所示。
    4 打开模板文件
    可以看到,左边的属性是我在模 板中声明的。如果输入“ SingletonClass ”作为类名,然后点击“ Generate (生成)”按钮,就会生成如图 3 底部所示的类。
    CodeSmith 使用起来比较容易,正确运用会获得很好的效果。代码生成应用程序 最常用的功能之一是生成数据访问层代码。 CodeSmith 包括一个专门的程序集叫作 SchemaExplorer ,它可用于生成数据表、存储过程或几乎任何其它 SQL Server? 对象 模板
    CodeSmith Eric J. Smith 编写,下载网址: http://www.ericjsmith.net/codesmith

    [ 以下内容为译者补充,摘自: http://www.ericjsmith.net/codesmith ]
    CodeSmith 概览
    CodeSmith 是 一个基于模板的代码生成器免费软件 ,它可以生成任何基于ASCII 的编程语言代码。生成的代码可以使用属性进行定制。属性可以 是任何具有设计器的 .NET 对象(大多数 .NET 内置类型已经有设计器),也可以是一个允许你从结果中有条件 地添加或移除代码的简单的 boolean 属性,或是一个对象,例如能够访问数据库表信息的 TableSchema 对象(包括在 SchemaExplorer 中)。 CodeSmith 完全可扩展,它允许用户创建定制属性类型。 CodeSmith 中包括多个定制属性类型的例子,例如,定制一个允许选择 XML 文件(使用 XmlSerializer 可将其反序列化到对象中)的属性类型。 CodeSmith 还允许用户在模板中引用和调用指定的外部程序集并且允许从 外部程序集的类生成模板。
    CodeSmith 的语法与 ASP.NET 几乎相同。因此如果你熟悉 ASP.NET ,那么应该会很快理解模板语法。你可以在模板中使用 C# VB.NET JScript.NET 语言,并且模板可以输出任何基于 ASCII 的语言。
    利用 CodeSmith Explorer 可以查看指定 文件夹中所有的模板,并且可以将模板拖放到任何支持拖放文本的目标。你也可以在 Windows 资源管理器中双击执行模板文件。 CodeSmith Explorer 窗口还可以嵌 入到 Visual Studio .NET 2003 中作为一个工具窗口,让你可以方便地访问自己的模板。
    CodeSmith 有几种成批生成代码的方式。 CodeSmith 包括有一个用于 Visual Studio .NET 2003 的定制工具( Custom Tool ),它包括基于多个属性集的代码生成模板。这个定制工具允许 CodeSmith 模拟范型,可以通过添加额外的属性集为一个模板创建多个专 门的模板实例。当定制工具再次运行时,对模板的改变将反映到任何模板的实例中。 CodeSmith 中包括多种优化的集合模板(例如 ArrayList DictionaryList Hashtable Idictionary Ilist SortedList Stack ),利用这些模板可以创建避免装箱和拆箱的强类型集合,它 们的性能要比 .NET Framework 中的集合类型高 1500% CodeSmith 还包括一个基于控制台的版本,它与定制工具相同,只不过是 从命令行运行并且可以包括在任何编译和连接过程中。
    CodeSmith 包括一个名为 SchemaExplorer 的程序集,利用它可以访问几乎所有的数据库概要( schema )细节。访问这种信息让你能够生成各种代码,例如存储过 程、类型 DataSet 、业务对象、表示层代码或任何其它基于数据库概要信息的代码。
    CodeSmith 作为一个免费软件发布,其目的在于建立一个强大的用户和模板社群。我希望最终能使程序员少做一些重 复性的烦人工作 ! 作为交换,我希望收到反馈建议、错误报告、教程、文档以及一些有用的模板以使我们的生活更加轻松 !

    相关推荐

      每个.NET 开发人员应该下载的十个必备工具

      每个.NET 开发人员应该下载的十个必备工具

      .NET开发人员的十个必备工具

      .NET+开发人员应该下载的十个必备工具

      网站开发必备-快速浏览Asp.Net网站绿色小工具

      网站开发必备-快速浏览Asp.Net网站绿色小工具

      .Net 十大必备工具之一Reflector 5.1

      相信大名鼎鼎的Reflector for .NET大家都已经用过了,几年前它已经位于.NET开发必备十大工具榜,现在自然也不能例外。它是一个类浏览器和反编译器,可以分析程序集并向你展示它的所有秘密。使用Reflector for .NET...

      .net源码保护工具

      强大的.net保护工具里面有反汇编开发人员必备 C#源码保护 C#程序时间限制 C#程序验证 C#反汇编

      最新c#.net 开发(简体—>繁体)文本互译软件(附带一个必备的DLL文件)

      C#.net 开发时使用的 简繁体文本/文字互相翻译必用软件(里面有一个实例程序,和一个DLL必备动态数据链接库)

      ASP.net基础简单操作,初学者必备

      ASP.net构架是可以用Microsoft(R)公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。

      .NET平台反编译工具ILSpy

      免费好用的反编译工具 .NET开发必备工具 欢迎下载使用

      F个[1].NET+开发人员应该下载的十个必备工具

      这些工具无疑可以让你的工作效率提升35%,看看你都有了吗? • NUnit:编写单元测试的工具 工具下载地址:http://www.vckbase.com/tools/viewtools.asp?id=175&lt;br&gt;• NDoc:创建代码文档的工具 • NAnt:生成...

      .NET反编译工具

      dotnet开发必备工具

      asp.net开发实录

      开发ASP.NET程序离不开一系列...有了搞软件最必备的工具以后,我们就要研究ASP.NET所需的环境了。ASP.NET是一种用于开发Web应用程序的技术,其程序需要有Web服务器支持。既然是微软的技术,当然首选微软的服务器程序。

      .Net反编译工具Net Reflector

      反编译工具Net Reflector,.NET开发必备神器。 此工具包含插件: 1.FileDisassembler:将DLL直接反编译成文件。 2.Reflexil:直接修改DLL中的代码。 插件添加方法:(View -&gt; Add-Ins.. -&gt; 选择DLL即可)

      asp.net知识库

      技术基础 New Folder 多样式星期名字转换 [Design, C#] .NET关于string转换的一个...C#+ASP.NET开发基于Web的RSS阅读器 ASP.NET RSS Toolkit(RSS工具) Serialize Your Deck with Positron [XML Serialization, XSD, C#]...

      C#.NET必备工具GhostDoc为代码生成注释文档GhostDocPro_v4.5_Cracked

      hostDoc是Visual Studio的一个免费插件,可以帮助开发人员编写XML格式的注释文档。 C#中XML格式的文档注释好处多多:Visual Studio会在很多地方显示这些注释内容(例如,编辑器的工具提示或对象浏览器),还有一些...

      Net开发必备十大工具

      .Net开发必备十大工具. 1:用来编写、编译和运行代码的基于Windows的小型应用程序 2:... 3:...

      asp.net开发必备控件,AjaxControlToolkit.dll,ASPAJAXExtSetup.msi

      其中包括了ASPAJAXExtSetup.msi以及扩展工具包AjaxControlToolKit,另外里面还有一个最新的My97DatePicker最新版本4.0以及asp.net第三方控件FreeTextBox.dll和WebValidates.dll等,相当实惠的一个资源包

      js开发必备工具

      设计 html asp.net css 等等

      ADO.NET技术内幕 part4

      本书是使用Microsoft Visual Studio .NET和ADO.NET编写高可伸缩性、可用Web数据库应用程序的开发人员必备指南。介绍了如何使用ADO.NET在企业级的Web应用程序中访问、排序和处理数据。通过书中丰富的实例和工具,读者...

      [必备]C#图片分割工具

      项目名称:[必备]C#图片分割工具 下载内容: C#图片分割工具源码一份 实现功能: 对将悬浮,按下等效果融为一张图片的图像进行分割,分割成多个图片。 很难表达意思= =b。总之开发必备。搭配360安全卫士开发素材使用...

    Global site tag (gtag.js) - Google Analytics