OctoLinkerでGitHub上のソースコードでimportされているライブラリのドキュメントへ即アクセス

GitHub上のソースコード内でimportされているライブラリを調べる際に、大幅に時間短縮してくれるadd-on OctoLinkerについて。
2020.01.28

はじめに

普段見慣れないライブラリが使用されていると、詳細を知るためにとりあえずライブラリ名でGoogle検索して、検索結果から多分これだろうというものを一つ一つ当たるという作業を行っていました。

大体のケースで求めていたドキュメントは見つかるのですが、求めるライブラリが3つ或いは4つと増えていくと、検索で業務時間が圧迫されていきます。探す事自体は宝探しのようで楽しいのですが、流石にそればかりでは不味い状態といえます。

何か手間を省けないかなと探していた所、OctoLinkerがちょうどいい塩梅で動作してくれました。

OctoLinker — Links together, what belongs together.

対象言語

GitHub上で使われているメジャーな言語は大体サポートされています。

ブラウザ別のアドオンインストール

大体のメジャーブラウザはサポートされています。なお、Publicのリポジトリについてはそのまま利用できますが、プライベートリポジトリ上で使いたい場合はPersonal Access Tokenの発行が必要になります。

OctoLinker

OctoLinker – Get this Extension for 🦊 Firefox (en-US)

OctoLinker

OctoLinker extension - Opera add-ons

各言語でライブラリをたどる仕組み

パッケージ内に言語別でプラグインとして設定が存在します。言語によって頻用されているメジャーバージョンが複数ある場合は、各プラグイン内に記述されているリンクやバージョンを元に辿る挙動となっています。

例えば、Pythonであればversion3のドキュメントをベースにしてリンクが追加されます。

OctoLinker/ packages/plugin-python/index.js#L11 at edd1c4d16185b6c92b3135ff12c79988526cf4e1 · OctoLinker/OctoLinker packages/plugin-python/index.js#L11

リポジトリで利用しているバージョンと必ずしも一致するわけではない点、また、プラグインの読み込みがあるために実際にリンクが挿入されるまでは少し待つ必要がある点は要注意です。

あとがき

実際に利用しているライブラリのバージョンが古すぎなければ、大体のケースにおいて正確に辿れるのではないかと思われます。

未対応の言語についてもIssuesで追加要望が見受けられるため、「この言語が対応されていなくて困った」という場合はパッチ含めたIssueを出すのも手です。

Issues · OctoLinker/OctoLinker