はじめに
こんにちは。細々とプログラミングをしているsotanengelです。
以前、初めてRustのクレートをリリースするって記事を書いたんですが、
- docs.rsの書き方いちいち調べるのめんどくさい
- フォーマットに準じて書けているのかいるのか分からず、(最も重要な)コーディングの時間が削られる
という体験をしたので、docs.rs形式でいい感じに表示されるようなコメント文をコードに自動挿入するCLIを作成してみました!!
イメージはこんな感じ👀
(コメントすべき位置になんの説明を書くべきか、がいい感じに挿入されている)
Before | After |
---|---|
本記事では使い方をざっくり説明するので、もし使ってみたい方は以下ご覧ください!
具体のコードが気になる方は、以下にリンクを貼っておくのでまずそっちをご覧くださいませ。
以下、作成したクレートの使い方・やったことをまとめていきます👀
使い方
1. クレートをインストールする
以下のコマンドでCLIをインストール。
cargo install gen_docs_template
2. Rustのコード内部で実行する
cargoプロジェクト内部で以下のコマンドを実行する。
(srcフォルダ内部のRustコードのファイルにコメントが全て付与されます)
gen_docs_template
補足
上記のコマンド以外にも以下の引数をカバーしています👀
(最新の情報はライブラリのページを参照くださいませ)
引数 | 引数の説明 | 実行例 |
---|---|---|
引数なし | srcフォルダ内部の全てのrsファイルに対してコメントテンプレートを挿入する | gen_docs_template |
-path |
hoge フォルダ内部の全てのrsファイルに対してコメントテンプレートを挿入する |
gen_docs_template -path hoge |
hard | 過去のコメント実行履歴を全て無視して、src フォルダ内部の全てのrsファイルに対してコメントテンプレートを挿入する |
gen_docs_template hard |
⭐️推し⭐️ポイント
技術的にすごいことはしてませんが、自己満でアピりたいところを書きます。
1. テンプレート文がどこにあるかわかりやすいようにした
テンプレート文の頭文字をWIP_
で統一したので、検索機能などを使うことでコメントのつけ忘れを簡単に見つけることができます!
2. テンプレート文を一括で選択して消しやすいように_(アンダーライン)
で繋いだ
アンダーラインで繋ぐと、エディタ上でタブルクリックした時に一括で一行分選択してくれるんですよ、便利だね!
3. コメントを付与した履歴ファイルを作成した
gen_docs_template
コマンドを実行すると、.gen_doc_his
というファイルが実行ディレクトリ上に作成されます。これにより、一度コメントを付与したファイルにはコメントが付与されなくなります。
4. 履歴ファイルをgitの履歴に載せないようにした
今回のライブラリはコメント作成の補助ツールでしかないので、.gen_doc_his
の差分って必要ないかなと思い、gen_docs_template
を実行したときに.gitignore
ファイルに.gen_doc_his
を追加するようにしました。
さいごに
自分で使っていくように作成したのですが、もし何かしらバグなど見つけた方はリポジトリのissueで報告いただけますと幸いです!