如何为SSMS 2019(v18)创建扩展

时间:2019-04-13 03:52:11

标签: sql-server visual-studio-extensions ssms-addin ssms-18

SQL Server Management Studio 18 RC1于2018年3月28日上市

for SSMS 17已经提出了这个问题,但是在为不同版本的SQL Server Management Studio编写扩展时,会有一些细微的变化。

让Hello World应用程序在SSMS 2019中运行的步骤是什么?

1 个答案:

答案 0 :(得分:4)

以下是完整的步骤,这些内容摘自Stefan Timovski在How to Create SQL Server Management Studio 18 (SSMS) Extension上的文章

  1. 使用扩展工具包

    安装Visual Studio 2017

    如果不确定是否具有扩展工具包,则可以打开Visual Studio安装程序并修改当前安装,以确保已安装扩展。

    Visual Studio Installer
    Visual Studio Extension Development

  2. 创建新的扩展项目

    转到文件新项目( Ctrl + Shift + N

    File > New > Project

    选择可扩展性> VIX项目

    Extensibility > VSIX Project

    如果没有这些选项,请确保已执行步骤1

  3. 添加新命令项

    添加新项( Ctrl + Shift + A

    Add New Item

    选择可扩展性,仅用于演示目的,抓住自定义命令

    Extensibility > Custom Command

  4. 在Visual Studio中调试

    命令文件将在“工具”>“调用 Command1 ”中添加一个菜单项。如果您单击调试,Visual Studio将启动一个Debuggable实例,该实例已满载当前扩展。点击播放或点击 F5

    第一次启动可能需要一分钟时间,但此后它应该会更快

    Launch Debug

    Command1 .cs> Execute中处理的单击事件,您可以添加断点。

    Debugger Breakpoint

    这是工作消息框

    Callback

  5. 获取SSMS的文件路径

    SSMS 18的默认安装路径应为:

    C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe
    

    如果不存在,则要确定任何应用程序的启动位置,您可以 Shift +右键单击该应用程序图标,然后选择“打开文件位置”

    SSMS Location

  6. 将启动设置为SSMS

    在VS中打开项目属性( Alt + Enter

    Project Properties

    转到调试> 启动外部程序并粘贴路径

    Debug > Start External Program

    删除命令行参数,因为它们不再适用于SSMS

  7. 设置将VSIX部署到SSMS

    “扩展名”子目录应与SSMS位于同一目录中。另外,添加一个像您这样的项目名称的额外文件夹

    C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions\VSIXProject1
    

    转到 VSIX >,然后选择“ 将VSIX内容复制到以下位置

    VSIX Copy

  8. 设置权限

    最后,为了以编程方式调用C Drive上的任何应用程序,您将需要管理员权限,因此需要在“管理员模式”下打开Visual Studio。您可以通过右键单击像这样的应用程序来做到这一点

    Run As Admin

  9. 命中运行和调试

    Presto!布拉莫!您的扩展程序现在应该正在运行SSMS

    SSMS Debugger

进一步阅读

从历史上看,每个扩展名都必须列入白名单,但是根据release notes for SSMS 18来说,一项重大更改(更好)是

  

开发SSMS扩展不再需要软件包ID
  过去,SSMS仅选择性地加载知名软件包,因此要求开发人员注册自己的软件包。情况不再如此。

由于SSMS 18使用了 Visual Studio 2017隔离外壳,因此许多扩展开发人员文档都可以在Visual Studio Extension Docs下找到