工欲善其事,必先利其器,作为程序员我们很大部分时间在和ide打交道,好的插件可以大大提高我们的编程效率,我开发过几个vs插件来解决一键生成dbmodels,快速部署到服务器,总结下来最关键的还是对于Menu这块的扩展,因为这是插件功能的最常见的入口之一,下面给大家介绍vs插件各种menu的扩展
环境准备【visual studio插件开发-Menu】这里我使用vs2022版本,要开发vs插件的话,需要vs安装插件开发模块
打开vs 然后点击 工具 -> 获取工具和功能
文章插图
然后勾选Visual Studio扩展开发
文章插图
小试牛刀安装好之后,打开vs就可以选择到 vsix project 模板了
文章插图
文章插图
文章插图
- MenuDemoVSIXPackage.cs(是插件的入口类)
- source.extension.vsixmanifest(插件的描述,比如版本,说明等描述性配置的地方)
文章插图
文章插图
- 一个png (图标)
- 一个vsct (不管几个Command都只会有一个这个文件,包含所有自定义菜单的配置)
- TestCommand.cs (自定义菜单的命令,点击菜单的执行操作逻辑在里面)
文章插图
会看到我们的Command名称:Invoke TestCommand按钮在vs的[工具]这个菜单里面,点击它会出一个弹框,如下
文章插图
好了,以上完成初体验后,回到本文要重点介绍:vs的Menu扩展
vs的Menu扩展上面我们说到 vsct文件,我们的按钮是展示在Vs哪种类型的Menu下,就是在这个文件定义的,我们一起看下这个vsct文件,关键部分我都用不同颜色来高亮显示
文章插图
- 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,导致可读性很差和难维护!
文章插图
经验总结扩展阅读
- ppapiflash插件是啥 ppapi插件是什么
- 【pytest官方文档】解读-开发可pip安装的第三方插件
- Eclipse插件RCP桌面应用开发的点点滴滴
- 提高工作效率的神器:基于前端表格实现Chrome Excel扩展插件
- 苹果手机红包秒收怎么设置(苹果红包插件黑科技)
- 从0开始写一个简单的vite hmr 插件
- 钩子 【pytest官方文档】解读-插件开发之hooks 函数
- 插件化编程之WebAPI统一返回模型
- 超详细 R及R Studio下载安装教程
- 浅谈 Golang 插件机制