コード スニペットを管理するツール 5 選

      2016/02/27

以前質問されたことを数ヶ月後や数年後にまた別の人から聞かれることがあります。些細なことや記憶に残ってることなら問題ないですが、「あの処理は何の API を使うんだっけ?」と思い出せないことも多々あります。ヘルプのサンプルコードや他のだれかが書いたフォーラムから検索できることもありますが、自分で作成したコードは次のためにどこかに残しておきたいものです。

コード書きだとスニペットで記憶を記録しています。スニペット(Snippet)は「断片」「切れ端」という意味で、再利用できる短いプログラムなどのコードを指して呼ばれます。自分が「スニペット」という言葉を聞いたのは Visual Studio 2005 からですが、入社当時はまだ VBA や VB6 を使うことが多かったので、Visual Stduio 2005 のスニペットにコードを追加するのではなく、とにかくテキスト ファイルにコードを書いてファイル名で意味づけする、それを繰り返して貯めてきました。

もう少し効率的なスニペット管理はできないものか、ツールを考えてみます。Web アプリケーションとインストール アプリケーションとで 5 つ挙げてみます。

Web サービス

お手軽なのは Web サービスを利用する方法です。最近は無償の Web サービスがいくつかリリースされていますが、無償利用は良いですが、公開されてしまうので、自分や限定メンバーだけで共有したいときには向きません。たいてい有償版にすれば限定公開が可能になります。

GistBox

GistBoxGitHub で動いている Gist というサービスを便利に使える用にした Web サービスです。GitHub アカウントがあればすぐに始められるのが便利なんですが、GitHub  の無料プランだと書いたコードはすべて公開されます。文書は Markdown で記述できるので、コードの説明の見栄えも良くできます。

GistBox

GistBox

Qiita

Qiita は日本発祥のプログラマのための技術情報共有サービスです。 プログラミングに関するTips、ノウハウ、メモを簡単に記録 & 公開することができます。これもコードを再利用してみんなで幸せになりましょう、というのがコンセプトだと思います。有償の Qiita:Team を使用すればメンバー限定のスニペット共有もできます。これも文書は Markdown で記述できます。

Qiita

Qiita

Wiki

ナレッジベースの定番中の定番ですが、さまざまな Wiki の中で一番機能が豊富なのは Wikipedia で使われている Mediawiki だと思います。MarkdownSyntaxHighlighter が利用できるエクステンションもあるので、これらを導入すればコード管理向けにもできます。

インストール型ソフトウェア

インストール型は自分の PC 上で完結するので非公開型になります。一部サービス上にアップロードできるものもあります。

kobito

kobito はソフトウェア開発者のためのMarkdownによる情報記録・共有ソフトで、Qiita 同様に MarkDown 形式で文書が書けます。書いた情報は Qiita にアップロードできます。ただ、コード見栄えが良くなる機能(SyntaxHighlighter)はないので、個人的にはコードを書くよりも技術文書を書くのに向いているかと思い、文書の書きために使っています。

Qiita 用クライアントとしても利用でき、アプリケーションで書いた記事を Qiita にアップロードできますが、現時点では、ローカルに作成した Inbox 記事と Qiita とは同期ができないようです。

kobito

kobito

Text Snippet Viewer

手前味噌ですみませんが、自作のツールです。テキスト ファイルさえあればスニペットが貯められます。そのテキストファイルをツリー表示して管理するだけのシンプルな機能です。休日に片手間で作ったのですが、現バージョンではタイトルとなるファイル名しか検索できず、フォルダーでカテゴリ分類することしかできません。なのでファイル名とフォルダー名をしっかり考えて管理します。一応、自分の仕事では役立ってます。

Text Snippet Viewer

Text Snippet Viewer

で、何がいいの?

多くの人にとっては、無償で使える Web サービスである GistBoxQiita を利用するのが良いかと思います。

自分の場合は今のところスニペットを管理するのは 1 人なので、そうすると定番の Wiki を拡張して自前のサイトで管理するのが自分の理想かと思ってます。Web 上で管理できつつ無償で利用というサービスが欲しい。できればできれば専用のクライアント アプリケーションで管理したい。Mediawiki が最有力だけど、記事の編集が可能なクライアント アプリケーションはまだ見たことがないです。

 - ソフトウェア