清明小短假天气不给力,加上H7N9威力比较大,因此本屌基本上是在家宅了三天。由于一直想写个插件来添加版权信息,正好有时间,就研究了一下。
关于VS插件开发,我主要是参考园子里Anders Cui的几篇文章,理论上的东西,人家已经讲得非常好了(我也讲不到人家这个水平),因此这里我就不讲了。
下面简单介绍一下开发过程。
1、开始
用VS2010自带的模板新建一个插件项目,如下图:
2、实现思路
插件实现思路很简单:在用户选择的文本处,用事先配置好的版权注释信息,替换掉文本(如果是有选择文本的话)或在光标位置插入。
下面是核心代码:
TextSelection selectedText = _vs.ActiveDocument.Selection as TextSelection; //获取选择的文本对象 string copyInfo = AddInHelper.Read(); //读取版权配置信息 copyInfo = copyInfo.Replace("@time", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));//替换时间点位符 selectedText.Text = copyInfo; //覆盖选择文本
3、项目结构
下面是最终的项目结构:
除了模板自带的文件外,我添加了三个文件,AddIn.xml是保存注释配置的,AddInHelper.cs是前者的读写辅助类,最后一个是用于在VS工具|选项|界面配置的用户控件。(项目中“占位符”手误打成“点位符”了,各位请在VSConfig.cs里自行改掉。。。囧)
4、插件部署
将AddIn.xml和项目生成的dll以及VisualSPlus.AddIn三个文件复制到{user}\Documents\Visual Studio 2010\Addins文件夹下即可。
如果你是手动创建了一个项目,需要将VS在此文件夹下生成的XXX For Test.AddIn文件删除或移动其他地方,避免冲突。
5、最终效果
将光标定位到要插入版权信息的位置,运行插件即可。
6、问题与总结
原先是通过“/**/”添加注释,不知道神马状况,插入后格式一直有问题,调了半天无果,最终只好换成“//”注释,谁知道为神马?(PS:天狼是随便打的。。。)
没有写博客习惯,内容比较少,请同行门见谅。最后附上源码一份:点击下载源码(文章或程序有问题都请拍砖指出!谢谢!)