銀の光と碧い空

クラウドなインフラとC#なアプリ開発の狭間にいるエンジニアの日々

Visual Studio SDK で拡張を作るときに知りたい情報の探し方

Visual Studio / Visual Studio Code Advent Calendar 2015 の4日目です。

qiita.com

先日のConnect(); でVisual Studio Marketplace というものが発表されましたが、当面個人開発者の作ったVisual Studio拡張は今まで通りのVisual Studioギャラリーで公開することができます。

Visual Studio Marketplace

Products and Extensions for Visual Studio

私も2つほど公開しています。

Products and Extensions for Visual Studio

今日は、Visual Studio SDKを使ってここで公開するようなVisual Studio拡張*1を作ろうとしたときに参考になるサイトを紹介したいと思います。

網羅的に情報がそろっているページとしてはやはりMSDNでしょう。日本語翻訳も一部のページはあるのですが、あきらかに情報量が違うページがあるため、基本的には英語で読むのをお勧めします。

Visual Studio SDK

Visual Studio 2015で導入された新機能などは専用のぺージがあります。

What's New in the Visual Studio 2015 SDK

網羅的な情報はわかった。実際に動くコードを参考にしたい、という場合はGitHubにあるサンプルコードがあります。以前はコードレシピに公開されていたのですが、GitHubに移っています。これも時代の流れなんでしょうね。

github.com

サンプルではなくて、実際の開発に使っているツールのこの機能の部分のコードを知りたい、という場合はそのツールがコードを公開しているかチェックしてみましょう。 コードを公開していてそのリポジトリを開発者が設定している場合、Visual Studio ギャラリーの右上にリンクが表示されます。

f:id:tanaka733:20151124000200p:plain

また、こんな記事もあります。実際に使ってみてそのコードを確認してみるのはどうでしょうか。

hmemcpy.com

さてこうやって調べてみても、「XXXしたいが実装方法がわからない」ということがあります。私の場合は以前記事を書いた、csprojファイルの保存を拡張内で検出して、保存後にcsprojをさらに更新する処理を追加する、という機能の実装方法を探していました。

tech.tanaka733.net

この場合、最初は「VS SDK file save event subscribe」みたいなキーワードで検索していくわけですが、記事が見つかってもコードが古かったり(自分の環境では)動かなかったりします。そんなときは、見つかってクラス名などをGitHubのコード検索で検索して使い方を見つけます。

それでもうまくいかない場合、そんなときはStackOverflowの出番です。visual-studio-extensions というタグがあるのでこれを手掛かりに探してみましょう。

stackoverflow.com

そしてどうしても見つからなければ質問してみましょう。英語というハードルはありますが、コード書いたり、具体的な記述をすればおそらくわかってくれるはず...

以上、今まで自分が調べた内容を振り返りながらまとめてみました。日本語でまとまった情報源があれば、もっと気軽に触る人が増えるのかなあと思っているので、そこは何とかしたいと思っています。

*1:今回はRoslyn拡張は除く