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/

相關文章
相關標籤/搜索