VS2013插件开发
2014-11-04 10:52
447 查看
一、功能描述
项目中有一个AppSettings.xml文件,当这个文件有添加新元素的时候,将该添加的内容自动同步到其他目录下的AppSettings.xml文件。二、插件模板选择
要开发VS插件需要安装SDK,安装后在添加新项目->Visal C#->扩展性下选择要使用的插件模板,由于本功能是跟文本编辑有关的,所以选择Editor Text Adornment模板,也可以选择其他的模板进行开发。下面是两个插件的示例:Visual Studio Text Editor Extension和Building and publishing an extension for Visual Studio 2010三、如何监控编辑窗口的保存事件
可以通过ServiceProvider.GlobalProvider.GetService(Type type)方法来获取DTE对象,要获取该对象需要添加EnvDTE和Microsoft.VisualStudio.Shell.12.0程序集,这两个程序集在【扩展】项里,引用Microsoft.VisualStudio.Shell.12.0程序集的时候还需要添加该程序集依赖的其他程序集,编译的时候可以知道需要添加哪些程序集。获取DTE对象后可以订阅DocumentEvemts对象的DocumentSaved事件。注意:要将DTE、Events、DocumentEvents这三个对象定义为全局变量,否则定义的事件不会生效,这是由于C#的垃圾回收机制造成的。一下是关于如何获取DTE对象和订阅DocumentSaved事件的教程:Walkthrough: Accessing the DTE Object from an Editor Extension、VSIX Tutorial-Visual Studio events and Commands
四、在插件里弹出模态对话框
Modal Dialog Boxes for Visual Studio Extensions这是msdn上关于如何弹出模态窗口的教程,也可以直接使用WinForm窗口。在我开发的插件里就是直接使用WinForm窗体。五、Editor模板下如何在工具->选项里添加选项页
在Visual Studio Package模板里可以很轻松的添加选项页,这是msdn上关于添加选项页的文章Walkthrough: Creating an Options Page。但是在Editor模板里会比较麻烦一点。Can I add an options menu to my VSIX extension without adding a VSPackage?这是stackoverflow上关于如何在非Package模板下添加选项页的提问。通过该问题我们知道需要在项目里的source.extension.vsixmanifest文件添加<VsPackage>|%CurrentProject%|</VsPackage>元素,要添加该元素可以通过下图所示添加
除此之外还需要修改csproj文件,将GeneratePkgDefFile和CopyBuildOutputToOutputDirectory元素修改为true,如果csproj文件里没有这个两个元素则添加进去,最后一点要特别注意,IncludeAssemblyInVSIXContainer这个元素一定要添加到上述两个元素之前,否则选项页就不会显示出来。此外,还需要在csproj文件里加上
<PropertyGroup>
<RegisterWithCodebase>true</RegisterWithCodebase>
</PropertyGroup>
此元素,否则会出现错误。至此要添加选项页的功能已经可以实现了。
六、如果出现加载此属性页时如何处理
经过第五步之后选项页可以再工具->选项里显示了,但有可能会出现"加载该属性页时出错"的错误,此时则需要在source.extension.vsixmanifest文件继续添加下图的两个选项至此,以上是我在开发VS插件的过程中遇到的问题及解决方法,希望以上对要进行VS插件开发的同学有所帮助。
相关文章推荐
- VS2013文件同步插件开发
- SharePoint 2013开发VS 2012必备的插件
- VS2013利用firebreath开发跨浏览器插件
- NPAPI火狐插件VS2013开发示例
- QT5.3.1和VS2013开发,安装插件后在VS2013建新工程报错模块计算机类型“x64”与目标计算机类型“X86”冲突
- 使用Revit 2015+VS2013搭建开发环境并实现helloWorld插件的小例子
- VS2013Xml文件节点导航插件开发
- 在开发node.js中,关于使用VS2013插件出现一直读取资源的问题
- VS2013在右键菜单添加命令插件开发
- SharePoint 2013开发VS 2012必备的插件
- 【转贴】VS.NET 2003集成环境插件开发指南
- VS 2010 : 如何开发和部署Outlook 2010插件(Add-in)
- [转】:VS 2010 : 如何开发和部署Outlook 2010插件(Add-in)
- jQuery 中插件的使用与开发---附全部源码(含 jQuery1.3.2 for VS 的智能提示js文件)
- VS插件的开发 - Visual Studio Addin
- (转)VS 2010 : 如何开发和部署Outlook 2010插件(Add-in)
- visual studio 插件开发(1) -- 手动新建一个vs package
- 使用VS进行3DS MAX SDK插件开发之一---- 配置入门及Sample篇
- jQuery 中插件的使用与开发---附全部源码(含 jQuery1.3.2 for VS 的智能提示js文件)
- VS.NET 2003集成环境插件开发指南