当自己在使用Word
Word的宏有录制功能,而在Visual Studio中也同样有这个功能,你可以先打开录制功能,然后使用键盘输入一些文字(其实就是在敲代码了),再停止录制,你看到的,就是跟Word一样的,内容可能是下面的.
DTE.ActiveDocument.Selection.Text = "int i=0;"
DTE.ActiveDocument.Selection.NewLine()
DTE.ActiveDocument.Selection.Text = "i++;"
DTE.ActiveDocument.Selection.NewLine()
这些语法,跟Word是一样的,不过,可惜的是Macros不支持C#语言来编写,没办法,就是使用vb,幸好,这在.net平台上面一点问题也没有,特别是对c#比较熟但对vb只了解基本语法的程序员一点问题也没有,在c#上面有的方法,在Macros上一样有,而且就像在使用vb.net在编程,语法是一样的.
所以,使用Macros对于vb.net的程序员来说,实在是太简单了.
引用功能
Macros居然做得跟Visual Studio没什么差别,居然还可以引用别的dll,居然连数据库也有了,也就是说,我们可以使用数据库来保存一些文件的信息,或将文件的内容保存到数据库中,这对于认真管理版本的软件公司来说,是一个大喜事啊.
你甚至可以想像一下,一个项目所有的文件都放在数据库中,然后在需要的时候拿出来就编译,那是多么强悍的功能,同时也是很容易达到的.
不过,这只是笔者从System.Data.dll引发的思考,而没有做过实质分析的.也不知道这个功能有什么用.
其它常用的功能
你可以录制宏,看看在自己新建项目,删除文件等等操作时,Visual Studio Macros的代码是怎样写的.可以是下面的内容
DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
DTE.ActiveWindow.Object.GetItem(projectName).Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ItemOperations.AddNewItem("Visual C# 项/Code/类", "abc.cs")
善用宏功能,你会发现事情可以更简单.