在VS.NET2003中使用Macro生成自定义异常代码
2004-06-24 23:07
561 查看
写程序的时候,每次到了要自定一个异常,总是要啰里啰唆的敲上一大堆代码,而且这些代码细想起来也就无非是声明一个从System.Exception继承的类,然后在类中添加三个构造函数和一个自定错误的消息字符串,为了简化这种体力劳动,我利用VS2003自带的宏编辑器写了一小段代码,来帮助我自动完成这些东西。
1.首先打开你的宏编辑器(在VS2003种按下ALT+F11): 把下面的代码copy带编辑器中.
Imports EnvDTE
Imports System.Diagnostics
Imports Microsoft.Office.Core
Sub AddException()
Dim input As String
Dim expName As String
Dim expMsg As String
Dim split As String() = Nothing
Dim delimStr As String = ",.:;"
Dim delimiter As Char() = delimStr.ToCharArray()
Dim objTextDoc As TextDocument
Dim objEditPt_Begin As EditPoint
Dim objEditPt_End As EditPoint
input = InputBox("Input as : ExceptionName;Message", "Auto Complete Exception", String.Empty)
If input.Length = 0 Then
Return
End If
split = input.Split(delimiter)
expName = split(0)
If split.Length = 2 Then
expMsg = split(1)
Else
expMsg = "General Exception of " & expName
End If
DTE.UndoContext.Open("AddException", False)
objTextDoc = DTE.ActiveDocument.Object("TextDocument")
objEditPt_Begin = objTextDoc.Selection.ActivePoint.CreateEditPoint()
objEditPt_Begin.Insert("public class " & expName & ": System.Exception " & vbCrLf)
objEditPt_Begin.Insert("{" & vbCrLf)
objEditPt_Begin.Insert("const string errMsg = """ & expMsg & """;" & vbCrLf)
objEditPt_Begin.Insert(vbCrLf)
objEditPt_Begin.Insert("public " & expName & "():base( errMsg )" & vbCrLf)
objEditPt_Begin.Insert("{}" & vbCrLf)
objEditPt_Begin.Insert(vbCrLf)
objEditPt_Begin.Insert("public " & expName & "(string auxMessage):base( String.Format( ""{0} - {1}"",errMsg, auxMessage ))" & vbCrLf)
objEditPt_Begin.Insert("{}" & vbCrLf)
objEditPt_Begin.Insert(vbCrLf)
objEditPt_Begin.Insert("public " & expName & "(string auxMessage, Exception inner ):base( String.Format( ""{0} - {1}"",errMsg, auxMessage ), inner)" & vbCrLf)
objEditPt_Begin.Insert("{}" & vbCrLf)
objEditPt_Begin.Insert("}" & vbCrLf)
objEditPt_End = objTextDoc.Selection.ActivePoint.CreateEditPoint()
objEditPt_Begin.LineUp(13)
objEditPt_Begin.SmartFormat(objEditPt_End)
DTE.UndoContext.Close()
End Sub
2.在MacroExplorer中用右键菜单使这个宏运行起来。
3.宏运行后,然后会出现一个输入框,按照如下格式输入:ExceptionName splitter ExceptionMsg
例如:MyException;This is my exception
回车后就会在文件中生成你想要的Exception代码了,瞧一瞧,感觉还挺Cool 吧?你还可以在Option->keyboard中给这个Macro分配一个快捷键,例如:ALT+1,再试试,感觉写代码的痛苦程度至少减轻了10%。:)
相关文章推荐
- Eclipse居于Axis2开发WebService(使用自定义对象)及生成客户端代码
- AutoCode (vs插件)自动生成代码插件 下载及使用教程(C#版)( 更新简单自定义模板教程)
- jooq使用自定义策略生成代码(How to use a custom strategy with the jOOQ code-generator and Maven?)
- 各种Popwindow和Dialog的汇总以及仿ios的,可以自定义布局,也可以傻瓜式的代码生成,使用非常方便
- 翻译:Laravel-4-Generators 使用自定义代码生成工具快速进行Laravel开发
- AutoCode (vs插件)自动生成代码插件 下载及使用教程(C#版)( 更新简单自定义模板教程)
- 如何自定义maven中的archetype,并使用快速生成代码基础框架
- 一个使用自定义命名空间的Schema文件,xml文件和castor生成的java代码的例子
- 【代码生成】如何生成自定义表单?(5)---如何使用及使用效果
- 没头没尾--项目开发笔记:异常处理与日志记录代码自动生成(工具能生成多少代码!?续一)
- 使用PowerDesigner进行代码生成
- ibatis - 自动代码生成工具abator 使用介绍(s00n原作)
- 自定义实体的代码自动生成
- MyGeneration学习笔记(1) : 使用MyGeneration生成存储过程和数据访问层代码
- 使用xsd生成代码
- 使用自定义代码对数据池进行随机访问
- 使用XDoclet生成代码
- 使用Dali生成的代码
- [How To]如何使用Wildfish进行ISeries开发---代码生成篇
- Control Study->AdRotator广告控件显示自定义配置文件中广告以及与DataGrid控件结合使用显示图片(示例代码下载)