メインコンテンツまでスキップ

Gistコマンドを自作してテンプレートファイルを管理する

· 約5分
mebiusbox
engineer

Gistを有効に活用できるようにgistコマンドを作ってみました.これはその備忘録です.

詳しくは Gistコマンドを自作してテンプレートファイルを管理する にあります. そこにも書いてある通り、Gistを扱うコマンドをPowerShellで実装して活用しています. とりあえず使ってみている状態で、まだ良し悪しはわかっていません. ここでは、いくつか思っていることを書いておきます.

スニペットで管理するのは?

たとえば、Visual Studio Codeのスニペットや、独立したスニペット管理ツール、またはテキスト入力支援などを使うのはどうでしょうか. 個人的にGistコマンドのメリットを挙げると次のとおりです:

  • バージョン管理ができる(履歴がたどれる)
  • 共有できる
  • diffがとれる(パッチも当てられる)

逆にデメリットがあまりないかなと思っています.

Gistをcloneするのは?

ローカルリポジトリを作ってしまうので、ちょっと面倒かなと思いました(たとえば、cloneしたあとに.gitディレクトリを削除). あとは、プッシュができるので、そこは利点かなと思っています. ただし、今回の用途としては別のプロジェクトに手軽にファイルをコピーしてくることを想定しているので、ローカルリポジトリは邪魔になってしまい、それを削除すればプッシュも出来なくなります.

プロジェクトテンプレートとして、GitHubなどにプロジェクトを作成しておくのは?

これも手間かなと思っています.そこまで几帳面に管理するつもりはないですし、したくもありません.

GistPad

エディタはVisual Studio Codeを使っていて、Gistの管理は拡張機能「GistPad」を利用しています. Gistコマンドを使ってもいいですし、GistPadでコピペしても構いません. GistPadには現在開いているエディタ内にGistファイルをペーストする機能があります.

今回作成したGistコマンドはプッシュする機能がないので、GistPadで更新しています. その際、ちょっと問題が発生したので、対処方法も書いておきます. それはフォーマッタの問題です.フォーマッタはprettierなどを使っているのですが、基本的に保存時にフォーマッタが実行されるようにしています. 設定ファイルをプロジェクトごとに置いているんですが、それぞれの環境で保存したものと、GistPadで保存するときの挙動が異なります. コーディングスタイルに依存する部分なので、結局はどうしようもないのですが、GistPadで保存するときの挙動がVisual Studio Codeのデフォルトの設定になってしまうので設定を合わせていないと保存したときに、予期しないフォーマットがされてしまいました.ですので、少なくともGistPadで保存するときはフォーマッタを実行しないようにする必要があります.その場合、コマンドパレットから「File > Save without Formatting」を使うと、フォーマッタを実行せずに保存できます.

備考

GistPadからは、エディター内で右クリック「Paste Gist File」で手軽にペーストできます.

とりあえず、しばらく使って様子を見てみることにします. 以上です.