企画編 試作編 設計編 実装編

U's Text Editor

オリジナルテキストエディタの開発プロジェクトです。 担当植田

DOSプロンプトからの脱却

白状しましょう。私は、DOSプロンプトでFDとEDITを使って仕事をしています。FDは、多くの方がご存知のように、出射厚氏作のファイル管理ユーティリティで、DOS時代を代表する定番ツールの一つです。Windows 95が出荷された当時はまだこのようなツールを使っている人も少なくなかったようですが、WindowsがNTアーキテクチャに統合された今も、私はかたくなに使い続けています。当然NT系のWindowsではFDが使えないので、私のメインマシンではWindows 98SEが動いています。しかも、FDだけならまだしも、EDITを仕事に使っているなんてただの変人でしかありません(viユーザーに比べればまだまとも?)。EDITとは、もちろん、Windowsに付属するあのEDIT.EXEです。かつてはMIFESやVZを使っていたのですが、いつのまにかEDITを使うようになっていました。慣れというのは恐ろしいもので、私にとって今一番効率よく作業できるのがこのエディタなのです。いや、正確には、不快感が最も少ないエディタであると言うべきかもしれません。決して高機能なエディタではありませんし、それなりに不満もあるのですが、なぜか気づくとEDITを使っているのです。

しかし、私の幸せな時間は終わりを迎えようとしています。Windows XPだ、.NETだ、という時代にいつまでもDOSプロンプトに頼っていてはさすがに仕事に差し障ります。ここらでDOSプロンプトから足を洗い、純粋なWindows環境に身を投じるしかなさそうです。

私にやさしいテキストエディタ

これまでにも何度かエディタの乗り換えを試みたことがあります。シェアウェア/フリーウェアや市販のパッケージで評判になっているものをいくつかインストールしてみましたが、結局使っていません。エディタのようなツールは、好みや相性といった主観的な要素が大きく影響するため、客観的な評価が難しいのですが、今まで試みたエディタのなじめなかった原因を探ってみると ——

  • 多機能過ぎてメニューの多さに圧倒されてしまう
  • ウィンドウのデザインがビジュアル的に受け入れ難い
  • マクロ師ではないのでマクロ機能には興味がない
  • 操作手順が私の"生活動線"にフィットしない

何ともまぁ、わがままなものです。デザインが気に入らないのはまだしも、操作性に関してはWindowsそのものを否定しかねない部分もあるので、そう簡単に満たせる要求ではないでしょう。ここまで文句を言うからには、もはや自分で作るしかありません。

私の場合、ファイル管理のためにFDを使うことはほとんどありません。FDでディレクトリツリーをうろうろしながらソースコードを見て回り、気がついたところでエディタを開く —— といった作業の流れになります。つまり、一般的なWindowsアプリケーションが想定している行動パターンとは少々異なるため、どうしても違和感を覚えてしまうのです。

一度は自分で作ってみたい

何だかんだ言って、結局は自分で作ってみたいだけのことかもしれません。エディタは、あらゆる分野の技術 の集大成ともいえるアプリケーションですから、技術者として一度くらいは作ってみても損はないでしょう。腕を磨くにはもってこいのテーマです。

開発プロセス

このプロジェクトでは、すべての機能を一気に設計するのではなく、少しずつ機能を追加していくインクリメンタル型の開発プロセスを採用します。1回のイテレーションが1〜2週間、長くても1ヶ月以内に収まるように計画します。受託業務の合間を縫っての作業になりますが、全体としては1年ぐらいで一応完結させる予定です。

開発環境

基本的にはWindowsに特化したアプリケーションになりますので、Visual C++の使用を前提とします。BorlandのC++Builderやgccにも興味があるのですが、Visual Studio .NET 2003(Everett)への移行も考えておきたいので、今回はMicrosoft製品だけで開発環境を固めます。ただし、CLR(Common Language Runtime)に依存するつもりはなく、飽くまでネイティブコードで行きます。

ライブラリは、MFCではなく、WTL(Windows Template Library)を使います。WTLは、ATLを一般的なアプリケーションの開発に適用するためのフレームワークを提供します。残念ながらMicrosoft社のサポートは得られませんし、WTL7.0に至ってもまだいくつかバグが報告されていますが、MFCと異なり、ほとんどがヘッダファイルに集約されていますので、修正は比較的容易です。受託開発ではなかなか使う機会がないのですが、せっかくのオリジナル企画ですから、ちょっとは個人的趣味に走ってみるのもよいでしょう。

シェアウェア vs. フリーウェア

自作するからには、それを世に送り出し、良し悪しを問うてみるのもよいでしょう。どのような評価を受けるにしろ、今後の糧になります。さてその際、シェアウェアとするかフリーウェアとするかで迷うところです。当事務所のような貧乏SOHOとしては少しでも売上に貢献させたいところで、かといってシェアウェアにしたからといって簡単に収入が増えるほど世の中は甘くないでしょう。当事務所としては初めての試みなので、ここは両面から攻めてみることにします。フリーウェア版にちょっと色をつけてシェアウェア版を作ります。

ターゲット環境

原則としてWindows 95以降のすべてのWindowsをサポートします。つまり、コモンコントロールやシェルの新しい機能には依存しないようにします。仮に新しい機能を使う場合でも、古い環境で不具合を引き起こさないように配慮します。また、ランタイムライブラリの配布も避けます。

ターゲットユーザー

おそらく、既に自分のスタイルを確立している上級ユーザーには使ってもらえないでしょう。既存のテキストエディタに真っ向から勝負を挑むのも得策とはいえません。かといって初級ユーザーを対象にしてしまうと余計なところに力が入ってしまいますし、これらから作ろうとしているエディタが初心者向けのものとも思えません。そこで、あまりこだわりがなくて物好きなユーザー、あるいは私のように妙なこだわりを持ったユーザーにターゲットを絞ることにします。まぁ、最も重要なユーザーは私自身ですが...。