Visual Studio插件開發基礎


Visual Studio插件主要有兩種:Add-inVSX(Visual Studio eXtensibility)

兩者區別可參考這篇文章:Visual Studio Extensions - from Add-in to VSPackage

安裝了相應的SDK后,在創建工程時,就能看到插件工程的模板

 

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

安裝:將插件dll和AddIn文件拷貝到%USERPROFILE%\Documents\Visual Studio 2008\Addins目錄

卸載:手動刪除插件dll和AddIn文件來卸載Add-in插件,然后啟動一下vs2008來清空殘余的注冊表信息

調試:在插件工程的屬性框中,將插件dll直接輸出到%USERPROFILE%\Documents\Visual Studio 2008\Addins目錄中

          選擇“啟動外部程序”,並填寫D:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe

          命令行參數:/resetaddin XXXXXX.Connect     注:XXXXXX一般為插件工程名    XXXXXX.Connect定義在AddIn文件中

啟用:Tools -- Add-in Manager...

某個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文件來安裝插件

              與vs2005、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/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM