VSCodeは便利。今はGoを書くのに使っている。
そのうえで一つ問題があった。
今の開発では、諸々の事情によりビジネスロジックがブリッジパターンの構造となっている。
(機能を実装したpackageの隣に、一通りそれ用のinterfaceだけを定義したpackageがあり、
他のpackageからはそのinterfaceの方を参照する、という構造)
この時、他の呼び出す側のソースから処理の中を覗きに行こうとすると、
そこで参照しているのはあくまでinterfaceなので、interfaceの定義にまでしか飛べない。
そのinterfaceの定義から、実装コードまで飛びたい。
一応コメント内に file:///〜 で書けばそこがリンクになり、開けるのだが
それはファイルシステム上のフルパスになってしまうため、他のメンバーの役に立たない。
何か無いのかと思ってプラグインを探したところ、140ダウンロードぐらいのマイナーなプラグインが見つかった。
https://marketplace.visualstudio.com/items?itemName=KyleDavidE.vscode-project-links
A dead-simple extension to make project:// links work how you would expect
「お前が想像した通りに動作する project:// リンクが作れる死ぬほどシンプルな拡張」
良い。
本当にそのまま、ソースのコメントに
// このファイルの実装は project://src/path/to/file.go
みたいにプロジェクトルートからのファイルパスを書けば、その部分が下線付きのリンクになり、ファイルが開く。
非常に捗る。ありがたい。
ちなみに
// このファイルの実装は project://src/path/to/file.go#line[,column]
の書式で、特定の行、特定の文字位置に飛ばす事もできる模様。
あまりそこまで使う用途は今のところ思いつかないが、他所から提供された特殊な定義ファイルとか
ソースファイルの解析をした結果をこのフォーマットで出力するとか
そういう感じの使いみちはありそう。