Visual Studio插件开发基础

Visual Studio插件主要有两种:Add-inVSX(Visual Studio eXtensibility)git

二者区别可参考这篇文章:Visual Studio Extensions - from Add-in to VSPackagegithub

安装了相应的SDK后,在建立工程时,就能看到插件工程的模板app

 

vs2005vs2008只支持Add-In插件(下文以vs2008为例)ide

安装:将插件dll和AddIn文件拷贝到%USERPROFILE%\Documents\Visual Studio 2008\Addins目录网站

卸载:手动删除插件dll和AddIn文件来卸载Add-in插件,而后启动一下vs2008来清空残余的注册表信息ui

调试:在插件工程的属性框中,将插件dll直接输出到%USERPROFILE%\Documents\Visual Studio 2008\Addins目录中spa

          选择“启动外部程序”,并填写D:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe插件

          命令行参数:/resetaddin XXXXXX.Connect     注:XXXXXX通常为插件工程名    XXXXXX.Connect定义在AddIn文件中命令行

启用:Tools -- Add-in Manager...3d

某个vs2008的Addin文件示例:

<?xml version="1.0" encoding="gbk" standalone="no"?> 
<Extensibility xmlns="http://schemas.microsoft.com/AutomationExtensibility"> 
    <HostApplication> 
        <Name>Microsoft Visual Studio</Name> 
        <Version>9.0</Version> 
    </HostApplication> 
    <HostApplication> 
        <Name>Microsoft Visual Studio Macros</Name> 
        <Version>9.0</Version> 
    </HostApplication> 
    <Addin> 
        <FriendlyName>MyToolsAddIn - No Name provided.</FriendlyName> 
        <Description>MyToolsAddIn - No Description provided.</Description> 
        <Assembly src="file">C:\Users\user\Documents\Visual Studio 2008\Addins\TGameTools.dll</Assembly> 
        <FullClassName>MyToolsAddIn.Connect</FullClassName> 
        <LoadBehavior>0</LoadBehavior> 
        <CommandPreload>1</CommandPreload> 
        <CommandLineSafe>0</CommandLineSafe> 
    </Addin> 
</Extensibility> 

 

vs2010同时支持Add-in和VSX两种插件

Add-in:vs2010再也不支持手动的安装和卸载Add-in插件,所以,开发者须要使用一个安装项目将插件项目的dll输出和AddIn文件打包到msi文件来安装插件

              与vs200五、vs2008同样,插件会被安装到%USERPROFILE%\Documents\Visual Studio 2010\Addins目录中

              若是再也不须要插件,可到控制面板中卸载

 

vs2012及以后的版本只支持VSX插件

VSX(以vs2015为例)

① 安装:双击vsix插件便可安装   会被安装到%appdata%\..\Local\Microsoft\VisualStudio\14.0\Extensions\xxxxxxxx.xxx目录中  注:xxxxxxxx.xxx为随机生成的字母数字

② 卸载和启用:在vs的Tools菜单下的Extensions and Updates...弹出的对话框中管理全部VSX

③ 调试:选择“启动外部程序”:D:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe    命令行参数:/rootsuffix Exp

    调试时插件会被输出到%appdata%\..\Local\Microsoft\VisualStudio\14.0Exp\Extensions

 

VSX插件使用vsct文件来编写插件界面,vsct中xml标签及相关用法能够参考VSCT XML schema reference

Mads Kristensen开发了Extensibility Tools插件,使得编写vsct时能Snippets(自动完成)

 

VSX参考网站

Visual Studio Extensibility (VSX)

Dynamically add menu items

Add a most recently used list to a submenu

 

VSX github代码

https://github.com/visualstudioextensibility/VSX-Samples

https://github.com/Microsoft/VSSDK-Extensibility-Samples

https://github.com/onlyutkarsh/VisualStudioStatusBarDemo

https://github.com/onlyutkarsh/SolutionEventsMonitor

https://github.com/zeroc-ice/ice-builder-visualstudio

https://github.com/Foliotek/vs2015BuildOnSave

https://github.com/michaelscodingspot/CodyDocs

https://github.com/tafuji/VsExtensibility-ContextMenu

https://github.com/deloitte-solvas/VSX-sample

https://github.com/ryanmolden/AutohideToolbarExample 

 

一些有用的Visual Studio插件

Extensions for Visual Studio 

Increase productivity with Visual Studio extensions

Top Ten Free Extensions for Visual Studio 2008

Top Ten Free Extensions for Visual Studio 2010

Top 14 Must Have Free Extensions For Visual Studio 2015

 

在Visual Studio Market中搜索更多的插件

https://marketplace.visualstudio.com/

相关文章
相关标签/搜索