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

标签 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 编写扩展时存在细微差别。

在 SSMS 2019 中运行 Hello World 应用程序有哪些步骤?

最佳答案

以下是完整步骤,改编自 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 将启动一个可调试实例,并完全加载您当前的扩展。点击播放或点击F5

    第一次启动可能需要一分钟,但之后应该会更快

    Launch Debug

    点击事件处理位于Command1.cs > 执行,可以添加断点。

    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

    “Extensions”子目录应与 SSMS 位于同一目录中。另外,添加一个带有您的项目名称的额外文件夹,如下所示

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

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

    VSIX Copy

  8. 设置权限

    最后,为了以编程方式调用 C 盘上的任何应用程序,您需要管理员权限,因此您需要在管理员模式下打开 Visual Studio。您可以通过右键单击应用程序来完成此操作,如下所示

    Run As Admin

  9. 点击运行并调试

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

    SSMS Debugger

进一步阅读

从历史上看,每个扩展程序都需要列入白名单,但根据 release notes for SSMS 18 ,一大变化(变得更好)是

Package IDs no longer needed to develop SSMS Extensions
In the past, SSMS was selectively loading only well-known packages, thus requiring developers to register their own package. This is no longer the case.

由于 SSMS 18 使用 Visual Studio 2017 独立 Shell,许多扩展开发人员文档都可以在 Visual Studio Extension Docs 下找到。

关于sql-server - 如何为 SSMS 2019 (v18) 创建扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55661806/

相关文章:

c# - 如何更新 SQL 插件以在 SSMS 2016 中工作?

sql - 插入后 SQL 代码中的西里尔符号不正确

sql-server - 动态备份文件名

visual-studio - 如何使 Visual Studio 2012 将 VSIX 部署到 Visual Studio 2010 实验实例?

c# - 如何在 Visual Studio 启动时显示对话框。 - VS 扩展

mysql - SQL 查询 : For each item add multiple values

sql - 归档大表 (SQL Server 2008)

c# - 打开一个 WPF 窗口应用程序窗体 VS 扩展命令

sql-server - 用于 Management Studio 2012 的 Poor Man's T-SQL 格式化加载项是否适用于 Management Studio 2016?