【高效程序员系列】2、别做机器人——让工作自动化 每天打开电脑首先要做的是打开最常用的软件要和朋友联系你打开了QQ要收邮件你打开了Outlook要听音乐你打开了酷狗……但是你不想做机器人每天重复的打开这些软件于是你让它们开机启动。恭喜你有不做机器人的基本思想。这些简单重复的操作扔给电脑吧你需要把宝贵的精力用来做其他更有价值的事。但是聪明的你有没有想过日常工作中有没有其他事也可以丢给电脑让你摆脱机械的操作下面分享一下我的经验如果你也有相关的经验希望也拿出来和大家一起分享1、VS代码段的使用和定义在使用Visual Studio编程的时候你肯定会喜欢智能提示还有代码段的功能。比如输入foreach按下Tab就出来了一个固定格式的代码段在编辑器中按下CtrlK,CtrlX就可以查看代码段定义了如下图如果你正在使用VS2008可以在菜单中找到代码段管理器其中列出了系统自带的代码段不明白为什么VB的那么多C#的那么少。其实现在VB和C#没多大区别代码段上也应该做到平等。相信你应该对一些常用的代码段应用非常熟练了比如propforiftry。其实代码段也是可以自己定义的废话少说下面就介绍一下代码段的定义。这里介绍三个工具都是免费的1Snippet Editor下载地址这是一个独立的软件而且是绿色版的。解压之后运行SnippetEditor.exe即可。来看一下它的界面它会自动识别当前机器上安装的VS版本然后在左上角列出来。选择不同的版本左边的树控件会列出该版本的代码段定义。双击代码段文件左边的编辑区列出编辑的信息。而在状态栏会显示出当前编辑文件的路径。要创建代码段单击工具栏上的“New”按钮即可。下面针对编辑区的操作进行讲解【Properties】Title标题必须输入就是显示在树控件中的节点名称Description描述对代码段的详细解释在VS中输入代码段时会提示Author作者写上自己的大名吧Shortcut缩写在编辑器中输入定义的Shortcut按下Tab键即可输入代码段Language编程语言可选HTML、JScript、Visual Basic、Visual C#、Visual J#、XMLKind代码段类型可选Class declaration、Member declaration、Member body、Unspecified一般选择默认Unspecified即可Help Url帮助URL如果有就输入【Code】该区域包含两部分上面是文本编辑框下面是参数编辑框。现在文本编辑框中输入代码模板然后将光标定位在需要变动的地方点击下方工具栏上面的“新增”按钮软件会在文本编辑框中插入一段格式为“$NewLiteral$”的文本其中NewLiteral即模板参数的名称根据自己的需要修改即可。下面列出模板参数的属性解释ID模板参数的名称在一个模板里不重复即可Defaults to该参数的默认值定义为最常用的默认值在输入的时候就可以不用再输入了比如字符串就定义为数字就定义为0Kind参数类型可选Literal、Object一般选择默认的Literal即可Type参数的数据类型一般不需要输入。如果Kind选择为Object则最好输入参数的数据类型。Tooltip提示信息Function生成代码的方法一般不需要输入。在一些特殊场合需要比如switch代码段中它会自动列出枚举的值。Editable是否可以编辑定义代码段没什么难度参考系统中默认的代码段就可以写出自己代码段可以大大提高输入代码的速度。这里有两个特殊的模板常量$end$和$selected$。“$end$”是用来定义在VS中输入完代码段之后光标定位在什么地方。“$selected$”一般用于多行代码我分析了一下系统代码段感觉没什么实际用途。【References】该区域是用来记录要添加哪些dll引用但是它并不会真的自动去引用这里只是记录。【Imports】该区域是用来记录要在代码中添加哪些命名空间它也不会真正去添加命名空间。编辑完成之后点击“Save”按钮保存然后把该文件放到自定义代码段文件夹中。该文件夹位于“%我的文档%\Visual Studio 2010\Code Snippets\Visual C#\My Code Snippets”或者“D:\Program Files\Microsoft Visual Studio 10.0\VC#\Snippets\2052\My Snippets”根据自己安装的路径和编程语言查找。将定义的代码段文件放到该文件夹中再打开VS输入快捷键然后按下Tab你定义的代码段就可以被输入了。2SnippetDesignerSetup-For VS2008.msi下载地址这个是给VS2008使用的插件解压之后安装即可。然后新建一个后缀名的.snippet的文件用VS2008打开则会调用安装的插件来编辑代码段。个人更喜欢第一种方法所以在此对插件方法不做详细介绍如果需要了解详细操作步骤可以参考http://snippetdesigner.codeplex.com/wikipage?titlecreateFromScratchreferringTitleDocumentation英文的。3SnippetDesigner-For VS2010.vsix下载地址这是针对VS2010的扩展和VS2008不一样不在需要安装到系统中双击后会添加到VS2010的扩展中。装好装好会在VS2010中会添加一个文件模板可以直接在VS2010中新建一个snippet文件顺便提一句VS2010有很多扩展可以联网下载打开扩展管理器即可2、代码段编译Snippet CompilerSnippet Compiler下载地址是一个基于 Windows 的小型应用程序你可以通过它来编写、编译和运行代码。如果你具有较小的代码段并且你不想创建完整的 Visual Studio .NET 项目以及该项目附带的所有文件则该工具会很有用。用一句话概括它的功能它是一个支持多种编程语言、多个版本的.NET框架、多个代码文件、带智能提示的编辑和编译软件。下面是它的界面如果需要详细了解可以参考Snippet Compiler——代码段编译工具 - Alex Leo - 博客园3、SQL智能提示和代码段上面提到了在VS中可以使用智能提示和代码段输入功能另一个最常用的软件就是SQL Server。但是这么多年了SQL Server一直没有智能提示功能直到SQL Server 2008才加入了字段提示功能但是和VS的智能提示相比相差十万八千里。如果你还在吭哧吭哧一个一个字段敲SQL代码的话这里强烈推荐你使用SQL Prompt。它不仅可以提示字段还能插入代码段而且代码段还能自己定义……关于它的种种好处这里就不详述了当你掌握它之后效率提高不止一两倍。具体的用法可以参考http://www.cnblogs.com/conexpress/archive/2011/07/28/2120432.html#4、代码自动生成作为.NET开发人员手边有一款代码生成工具必不可少。最出名的代码生成工具就要算是CodeSmith了它功能强大简单易懂很容易上手。如果你还不会用CodeSmith那就赶紧去学习吧。可以参考TerryLee的系列文章CodeSmith开发系列资料总结 - TerryLee - 博客园CodeSmith是一款商业软件需要花钱购买的。如果你很尊重版权又不想花钱购买推荐你另一款同样强大的免费工具MyGeneration也是完全基于模板引擎进行代码生成的功能上并不比CodeSmith差。可以到http://sourceforge.net/projects/mygeneration/ 下载也可以参考http://www.docin.com/p-83919214.html 学习如何使用。5、脚本工具脚本工具Au3、AHK、Python、Ruby、Windows Power Shell等虽然现在的工具都有很好的IDE界面但是有时候脚本工具却能带来更高的效率。而且有些功能用脚本语言很容易实现但是换成其他语言就比较麻烦了。1Au3Au3的全名是AutoIt3它是一种类似于VB的脚本语言设计的初衷就是为了让工作自动化。下面列举一下它的特点语法类似VB很容易理解。编辑器带智能提示感觉这一点比VB6强大有点像VS2005之后的代码编辑器。可以很方便的操作鼠标和键盘也可以录制操作过程类似于宏。可以设置快捷键组合Ctrl、Alt、Shift、Win和其他键按下快捷键即可执行对应的操作。可以编译成exe文件独立运行而且支持Win7。有类似于VB的界面设计器可以设计具有Windows界面的应用程序。具有强大的扩展库很容易的操作系统、Win32API、网络、文件、数据库、注册表、ini文件……如下图可以用类似C语言的#include引入扩展文件代码可以折叠甚至有类似于C#的#Region折叠。界面设计器感觉和VB6的设计器差不多还能插入Win32控件。