masscodeとは?
最近ちょとだけ話題となっているmasscode。使い始めているのでメモ書き。
masscodeとは以下のようなツールである。
- 開発者向けのスニペット管理ツール(無料、オープンソースコード)。
# A free and open source code snippets manager for developers. - スニペット(コード断片)に対するキーワード検索とタグ付けがキモなので、お使いになる際にはキーワードやタグ付けは計画的に。
- VSCodeと同じく
monaco-editor
が使われている。けれども、vscodeと併用する類のものではない。
...今年の新人さんはいきなり在宅で研修受けたりすることが多かったりするのだろうね。リモートで業務をちゃんと進めるためのTips(ノウハウ)を記録する際にはちょっとお勧め。例えば、お勧めされたコーディング系の本に書かれているノウハウを記録するのに良い。ローカルで軽快に検索できるあたりも良い。
...因みに私もニューヨーク界隈が本社の外資で働いているので、この一月ほど出社したことはない(...が毎日コードは書いているので、皆勤賞ではある)。
【公式サイト】
https://masscode.io/
※↑にwindows等、プラットフォーム毎の導入ガイダンスがある。
【日本語での紹介記事(例)】
- Web制作者におすすめ!VS Codeと同じエディタを使用した最強のコードスニペットマネージャーが登場 -massCode
- massCode - マルチプラットフォームで使えるスニペット管理
- Electron+Vueでできたオープンソースのスニペットマネージャ「massCode」を使ってみた
[1] (現時点での)masscodeの使いどころ
ずばり、大抵のシステムを組む際に必要となる設定ファイル(.conf /.xml /.json etc.)やスクリプト(.js/Jenkinfile etc.)を記録するのに良い。キーワードやタグ付けに注意しておけば、、忘れた頃に役に立つ。masscodeは最近登場したばかりのツールなので、あくまで現時点では、ね。無償のツールであることは、この手のスニペット管理ツールとしては珍しいとのこと。ありがたや。
逆にコンパイル言語で複数ファイルにまたがったコードを設計書を兼ねて記録するといった用途には不向き。クリーンアーキテクチャでオニオン構造頑張ってみた、といった類の記録は、gitやsubversionにコミットして残しておこう。...ディフォルト言語に主要言語の他にrustもあるのに、scalaがないのにちょっと驚いたけれども(以下)、まぁ、単に、scalaなどのコンパイル言語で、ある程度以上の規模のシステムをスクラッチから作る際のメモ書きといった用途は、masscode向けではないのだと思われる。
[2] masscodeで.jsでのスニペット管理例
[フォルダ(FOLDERS)]->[テーマ]->[コンテンツ]
という三層構造でのスニペット管理が基本となる。
割といいなと思ったのが、[コンテンツ]
をいくつかの断片(Fragment)に分けて管理できるところ。例えば、HTML+css+javaciript
といった組み合わせのTipsを管理するのに役に立つ。だろう。
[3] vscode等との併用に期待したい、ところだが。
何か月か何年かの後に必要になるかもしれないノウハウ(Tipsを)をスニペットとしてmasscodeは、dropboxやonedriveなど、ネット上のデータ管理ツールを併用することが望まれている。使い方は普通のエディタと同様で、単にデータの保存先をdropboxやonedriveなどの管理下にあるフォルダを指定するのみ。
そこまでシンプルならば、コードのスニペットをvscodeなどと共用したいと思うところだが、現時点では、そのようには作られていない。以下にあるように、スニペットがData Base File
なるフォーマットで保存されているためだ。
もちろん、Data Base File
をフラットなファイルに解凍(?)うんぬんできれば、何とかなるのだろうが、直接的ではない。この作りはスニペットの検索速度とのトレードオフの関係にあると思われるので、masscodeがある程度メジャーになったころに、各種エディタでのプラグインによるインポート/エクスポート対応に期待。
感想
masscodeはコーディング向けエディタとの相性はイマイチだけれど、evernote・simplenote・onenoteなどで無理やりコーディング系のTipsをメモるよりは良い解だと思われ。私は個人開発のためのメモ書きで使ってく予定。