工欲善其事,必先利其器,作為程序員我們很大部分時間在和ide打交道,好的插件可以大大提高我們的編程效率,我開發(fā)過幾個vs插件來解決一鍵生成dbmodels,快速部署到服務(wù)器,總結(jié)下來最關(guān)鍵的還是對于Menu這塊的擴展,因為這是插件功能的最常見的入口之一,下面給大家介紹vs插件各種menu的擴展
環(huán)境準(zhǔn)備【visual studio插件開發(fā)-Menu】這里我使用vs2022版本,要開發(fā)vs插件的話,需要vs安裝插件開發(fā)模塊
打開vs 然后點擊 工具 -> 獲取工具和功能

文章插圖
然后勾選Visual Studio擴展開發(fā)

文章插圖
小試牛刀安裝好之后,打開vs就可以選擇到 vsix project 模板了

文章插圖

文章插圖

文章插圖
- MenuDemoVSIXPackage.cs(是插件的入口類)
- source.extension.vsixmanifest(插件的描述,比如版本,說明等描述性配置的地方)

文章插圖

文章插圖
- 一個png (圖標(biāo))
- 一個vsct (不管幾個Command都只會有一個這個文件,包含所有自定義菜單的配置)
- TestCommand.cs (自定義菜單的命令,點擊菜單的執(zhí)行操作邏輯在里面)

文章插圖
會看到我們的Command名稱:Invoke TestCommand按鈕在vs的[工具]這個菜單里面,點擊它會出一個彈框,如下

文章插圖
好了,以上完成初體驗后,回到本文要重點介紹:vs的Menu擴展
vs的Menu擴展上面我們說到 vsct文件,我們的按鈕是展示在Vs哪種類型的Menu下,就是在這個文件定義的,我們一起看下這個vsct文件,關(guān)鍵部分我都用不同顏色來高亮顯示

文章插圖
- stdidcmd.h
- vsshlids.h
{VS安裝目錄}\VSSDK\VisualStudioIntegration\Common\Inc,
例如我的目錄是
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VSSDK\VisualStudioIntegration\Common\Inc
vsct 文件中有用到宏 IDM_VS_MENU_TOOLS = 0x0005,
它表示 VS 上的 Tools 菜單的ID,這個宏即位于 vsshlids.h 頭文件中 。
如果不引入這個頭文件,那么就得寫0x0005,導(dǎo)致可讀性很差和難維護!

文章插圖
經(jīng)驗總結(jié)擴展閱讀
- ppapiflash插件是啥 ppapi插件是什么
- 【pytest官方文檔】解讀-開發(fā)可pip安裝的第三方插件
- Eclipse插件RCP桌面應(yīng)用開發(fā)的點點滴滴
- 提高工作效率的神器:基于前端表格實現(xiàn)Chrome Excel擴展插件
- 蘋果手機紅包秒收怎么設(shè)置(蘋果紅包插件黑科技)
- 從0開始寫一個簡單的vite hmr 插件
- 鉤子 【pytest官方文檔】解讀-插件開發(fā)之hooks 函數(shù)
- 插件化編程之WebAPI統(tǒng)一返回模型
- 超詳細 R及R Studio下載安裝教程
- 淺談 Golang 插件機制
