YARDとは
Rubyのドキュメントツールです。メソッドやクラスの上にこんな感じのコメントをつけるといい感じにhtmlで出力してくれるやつです
|
|
Solargraphとは
RubyのLanguage serverです。定義ジャンプや、補完等を提供してくれるものです。
Solargraphの不満
Pure Rubyだとそんなことはないんですが、Railsでの環境だと補完が貧弱になってしまいます。
Railsは黒魔術満載なのでしょうがないんですが、せめて自分の定義したメソッドの補完ぐらいはいい感じに出てほしいです。
YARDとSolargraph
Solargraphの公式サイトにありますが、SolargraphはいくつかのYARDタグとSolargraph自体が用意しているカスタムのタグを記述すると補完をいい感じに出してくれるようになります。
RBSとSteepを使えばもっと強力な補完をしてくれますが、古いプロジェクトやそこまでコストを掛けられない状況のときにコメントを書くだけでよいのでこれからも使いどころはあると思います。
ということで書くと補完を強化してくれるYARDのタグ + Solargraphの用意しているタグを画像つきで紹介したいと思います。
環境
- Vim
- coc.nvim
- Solargraph
タグの紹介
@return
メソッドや attr_
の戻り値の型を指定できます。
before
after
@param
メソッドの引数の型を指定できます。
before
after
@yieldparam
ブロック引数の型を指定できます
before
after
@overload
引数の型や個数によって戻り値が変わるケースの型を指定できます
before
after
@!attribute
attr_
系の型を指定できます
before
after
@!method
実際に定義のないメソッドの型を指定できます
before
after
@!parse
任意のRubyコードの型を指定できます
before
after
@type
変数の方を指定できます
before
after
@yieldself
ブロック内のselfの型を指定できます
before
after
@!override
事前に定義されているメソッドの型を指定できます、がこれだけは補完がうまくいかなかったです
まとめ
こういった型に応じた補完が効くのはやはり、コードが書きやすくなるのである程度書いていきたいですね。
別の記事で更に強力な補完を出すことが可能なSteep + RBSでのcoc.nvim + Vimでの設定の方法を紹介したいと思います。