ソフトを開発しようと思った動機、背景
そもそもの動機は、ソフトウェアの説明資料を書くときの手間を少しでも軽減しようと思ったことです。罫線(└や├など)を利用して、フォルダの構成を樹形図にしたかったのですが、従来だと罫線の文字を入力するときに毎回「けいせん」と入力し、適切な罫線を選んで変換しなければなりませんでした。そこで、樹形図を作成する作業を効率化するためのツールとして、「SuperTreeEditor」の前身にあたる「TreeEditor」を開発しました。しかし、「TreeEditor」には機能的に不足している点がいくつかありました。例えば、「TreeEditor」にはフォルダ構成を樹形図にする機能がありますが、特定のフォルダやファイルを無視する機能がなく、不要なフォルダやファイルまで探索してしまいます。また、樹形図を作成したあとに手動で編集して再変換をかけることもできません。そのような不満点を解消し、さらにソフトウェアとしての体裁を整えるために設計を見直して、一から作り直したのが「SuperTreeEditor」です。
作り直すにあたり、樹形図だけでなく、MarkdownやPukiWikiといった階層構造を表すためのさまざまな記法を使えるようにしました。また、アプリケーションのメニューの階層構造を取得するツール「MARISA」を以前に作成していたので、その機能も取り込みました。その結果、階層構造を持ったテキストを広く扱うことのできるユニークなエディタになりました。
開発中に苦労した点
このソフトウェアの隠れた売りとして、拡張性の高さがあります。とはいっても、利用者からは見えない内部構造の話ですが……。例えば、樹形図の変換元としてテキストだけでなく、フォルダ構成やアプリケーションのメニューを選択することができます。また、階層構造の書式として、樹形図、Markdown、PukiWiki、空白によるインデントを扱えます。こうした機能を、内部的にはプラグインとして扱うことで、今後の機能追加を簡単に行えるような仕組みになっています。「SuperTreeEditor」にそのような柔軟な拡張性を持たせるための枠組み作りが、今回の開発で最も苦労した点です。
ほかには、アイコンを作成するのが地味に苦労しました。私はデザイナーではないので、アイコンの作成のように、デザインセンスが必要な作業はあまり得意ではありません。かといって、アイコンはソフトウェアの顔でもあるので、疎かにするわけにもいきません。今回は悩んだ挙げ句、古代文字風のシンプルな図柄にしました。複雑な図柄で美しいアイコンを作れる方は「すごい」のひと言です。
ユーザにお勧めする使い方
主に想定しているのは、やはり名前の由来となった「樹形図を作成するためのエディタ」としての使い方です。空白で階層ごとにインデントしてから変換をかけると、一発で罫線による樹形図に変換してくれます。Markdown、PukiWiki、空白によるインデントといった他の書式との相互変換も容易にできます。2ちゃんねるで流行した派閥樹形図のコピペも簡単に作れます。
ほかには、フォルダ構成やアプリケーションのメニューを取り込んで樹形図などに変換する機能が、ソフトウェアの説明資料を書くときに大きな手助けになると思います。特に、メニューを取り込む機能はWindowsネイティブのアプリケーションだけでなく.NET Framework製のアプリケーションにも対応しており、秘かな自信作です。あまり使う機会が多くなさそうなのが難点ですが、自作のアプリケーションのヘルプを作成するときなどに、ぜひとも使ってみてください。
そのほかにもおもしろい使い方をされている方がおられましたら、ぜひ教えてください。
今後のバージョンアップ予定
自分が必要とする機能はだいたい作ってしまっているので、バージョンアップする予定は当分ありません。しかし、ユーザの方から機能追加の要望があれば、できる範囲で対処させていただきます。
その他
フリーソフトの開発というのは、いわばコードを組み合わせて、ひとつのプログラムを完成させるパズルです。パソコンさえあればほぼ無料でできますし、運がよければソフト収録のお礼として雑誌をもらえたりして、非常に経済的です。この不景気の折にぴったりな娯楽ではないでしょうか。
(recyclebin5385)