SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SSMS 拡張機能を作成する際の参考ドキュメント

leave a comment

最近、GitHub Copilot CLI を活用して、SQL Server Management Studio (SSMS) 拡張機能 (Extension) を作成できるのかを検証していました。

まだ実装を進めているのですが、Copilot CLI を使用して、SSMS 21 向けに拡張機能を作成することは実現でき始めています。
(スキーリゾート管理システム – マイクロサービスアーキテクチャ の Instruction.txt を参考にスペック駆動開発で進めています)

image

SSMS 拡張機能を作成する際に参考となる情報をまとめておきたいと思います。

SSMS 拡張機能作成方法

SSMS 拡張機能の作成方法ですが、次の記事が参考になります。

SSMS 拡張機能は、Visual Studio の拡張機能を作成する流れと同一になるようで、基本的な開発手法は VS の拡張機能を作成する流れ  (VSIX プロジェクトを使用する) と同様となるようでした。(デバッグ時の外部プログラムの起動は SSMS を指定するという違いがありますが)

How to Create an Extension for SSMS 2019 (v18) の手順は、SSMS 18 の手順ですが、SSMS 21 向けの拡張機能を作成する場合も基本的な流れは同様となりますので、最初にこの手順でコマンドを追加する拡張機能を作ってみるのが良いかと思いました。

 

Visual Studio の拡張機能のドキュメント

前述の通り、SSMS 拡張機能は VS 拡張機能と同様の流れで作成をしていきます。そのため、作成をする際には次のドキュメントが参考になります。

実際にどのような拡張を実施していくかは次の情報が参考になるかと。

上述の画面であれば、ツールウィンドウを使用した SSMS 拡張となります。

 

SSMS 21 の拡張機能サポート状況

冒頭の画像のとおり、SSMS 21 に拡張機能の実装を行うことはできています。

SSMS 21 の拡張機能のサポートについては SSMS 21 では拡張機能はサポートされていますか? に記載されています。

SSMS 21 では拡張機能はサポートされていますか?

SSMS への拡張機能の導入は、複数ステップのプロセスです。 まず、新しい移行拡張機能、SSIS、SSAS などの Microsoft 内部拡張機能をサポートし、最終的には SSMS で Copilot をサポートします。 これらのファースト パーティの拡張機能は、個々のコンポーネントとして Visual Studio インストーラーに表示されます。 SSMS 21 では現在、サード パーティの拡張機能が完全にサポートされていませんが、サード パーティの拡張機能はブロックされません。 つまり、既存の拡張機能を更新して、SSMS 21 で動作するように制限を設けることもできます。 ただし、まだ正式にはサポートされておらず、 フィードバック サイト でヘルプを要求する項目は閉じられます。 VSIX のサポート、拡張機能の管理、マーケットプレースのプレゼンスを含む公式サポートを調査していますが、現在共有するタイムラインはありません。 進捗に合わせて更新をお知らせします。

サードパーティ製の拡張機能の追加はブロックはされていないため、SSMS 21 でも独自の拡張機能を使用することができます。

VSIX ファイルを使用したインストールはできないため、拡張機能に必要なファイルを一通り準備 or VSIX を ZIP にリネーム / 展開して拡張期の用のディレクトリに配置します。

SSMS は 20 より前は x86 / 21 以降は x64 となっていますので、バージョンによって拡張機能を追加する Program Files のディレクトリが異なります。

  • SSMS 20: C:\Program Files (x86)\Microsoft SQL Server Management Studio 20\Common7\IDE\Extensions
  • SSMS 21: C:\Program Files\Microsoft SQL Server Management Studio 21\Release\Common7\IDE\Extensions

 

SSMS 21 以降で独自の拡張機能のメニューの表示

SSMS 20 までであれば、メニューのカスタマイズは不要のようですが、SSMS 21 以降、独自のメニューを追加する拡張機能についてはs「拡張機能 -> メニューのカスタマイズ -> 拡張メニュー」から独自メニューを表示する拡張機能のチェックを外す必要があるようでした。

image

この操作を行うことでメニューの追加が行われる拡張機能について、メニューバーに表示を追加することができました。

 

拡張機能の実装の参考となるリポジトリ

GitHub 上に SSMS の拡張機能が公開されているリポジトリはいくつも公開されています。拡張機能の用途によると思いますが、次のリポジトリが参考になります。

ツールウィンドウ

オブジェクトエクスプローラー拡張

 

SSMS 拡張では、DB に接続して情報を取得する拡張を作成するケースがありますが、このようなことを実現したい場合、オブジェクトエクスプローラーで接続をしている接続情報を使用して DB にクエリを実行することになるかと思います。

このような対応をするときには SSMSPlus の内容は参考となります。

Share

Written by Masayuki.Ozawa

10月 14th, 2025 at 9:55 am

Posted in SQL Server

Tagged with

Leave a Reply