拡張機能"DotNetJump"を公開しました。またはCenterCLRのスライドについて。

こんにちは、脱臼してまともに作業できない影白です。DotNetJumpというブラウザ拡張機能を公開しました。FirefoxとGoogle Chrome対応です。

どんな拡張機能?

要するに、.NET Frameworkや.NET CoreのAPI(クラスやメソッド)を一括検索する拡張機能です。

対応サイトは以下です。

また、上記のサイト(ついでにXamarinページ)を見ている最中にこの拡張を開くと、自動で入力された状態で開き、すぐに別のドキュメントを参照できるという寸法です。

この拡張の意義について

2017年の末にdotNET600 - connpassで以下のような発表をしました。

Microsoft Docs を活用しよう from KageShiron

要するに、Microsoft DocsはMSDNよりも便利で正確、フィードバックも送りやすいのでそちらを利用しよう!という内容です。

しかし、どんなに頑張っても検索エンジンではMSDNばかり上に出てくるという状況は改善されていません。また、Reference Sourceもその特性上検索には引っかかりにくく、色々と不便。そこで作ったのがこの拡張機能というわけです。

ついでにGoogle(ついでにBing)の検索ボタンもあります。

問題点

検索ワード

とりあえずうまく動いているのですが、ジェネリック周りなどがそれぞれのサイトで検索方法が微妙に違い、正確に検索する方法が今の所わかりません。例えば、“Dictionary” で検索をかけるとSystem.Collections.DictionaryBaseが出てきて、System.Collections.Dictionaryは出てこない。DocsではDictionary<TKey,TValue>、Reference SourceではDictionary<TKey, TValue>(スペースが入る)みたいにちょこちょこ表記が違うetc…

なので、複雑なクラスはうまく出なくてもしょうがないなーという感じです。

Firefoxのポップアップ

開いた時に検索欄にフォーカスを当てたいんですが、Firefoxではなぜか当たりません。仕様かと思ったんですが、もしかしてバグ?

1324255 - Opening a popup does not focus the browser frame

次のリリースを待って見ます。

そのほかの検索

個人的にはGitHubにあるCoreCLRも検索できるようにしようかと思ったのですが、検索が困難なので今回は挫折。要望があれば検討します。

個人的には.NET CoreのPortable PDBを読み込んで、あらかじめDBを作成しておけばできるかも?とか思ってます。

作成とリリース時の感想など

拡張自体は簡単にできるので、ぜひ試して見てください。