Windowsがまだ7のころ、3D CGソフトを使いながら、データをいくつものフォルダに振り分ける作業を頻繁に行っていました。エクスプローラでこの作業を行うと複数ウィンドウを開くことになり、重なり合ったウィンドウの中から送り元のウィンドウを探してアクティブにし、ファイルを選択してコマンドメニューよりクリップボードにコピー、次に送り先のウィンドウをアクティブにして、メニューからペーストという作業の繰り返しが結構面倒でした。そこで、当時作成していた3Dデータ管理ソフトのファイラ部分を流用して新しいファイラを作りました。このファイラは複数のファイルビューをタブで管理することで目的のフォルダにすぐにアクセスでき、コマンドもリボンインタフェースの採用ですばやく実行できるようになっていました。その上、アプリケーションランチャなどの機能も搭載していたので、自分にとっては使い勝手のよいファイラでした。
ただし、開発に.NET Frameworkを使用していたので、初回の起動が遅かったり、ファイルビューが独自実装で、エクスプローラでアクセスできる仮想フォルダを扱えなかったりなどの欠点もありました。
やがてWindowsも8から10へとバージョンアップしてくると、エクスプローラも使いやすくなり、自作ファイラはもう必要ないかなと思うようになってきたのですが、タブ型ファイラの操作に慣れてしまっていたため、エクスプローラへ完全移行できず、両ファイラを併用することになってしまいました。そこで「なんとかエクスプローラをタブ型のファイラに改造できないか」と思い立ったことが、今回公開した「SPFiler」作成のきっかけとなりました。
「SPFiler」を制作するにあたって、C++でWindowsのアプリケーションインタフェースを利用すれば、エクスプローラと同等のファイルビューを作れることは知っていたのですが、これをタブで管理し、リボンインタフェースも実装するにはどうしたらよいのわからず、一つひとつ手探り状態で動作確認をしながら作業を進めていくのが大変でした。その甲斐あって、軽量で、以前作成したファイラのような使い勝手を持ったアプリケーションができたのではと思っています。
実は「SPFiler」には、正規表現によるファイル検索&コピー・移動・削除機能を搭載したかったのですが、操作が結構複雑になりそうなのと、この機能を必要とする人がどれだけいるのか疑問だったので、実装を見送りました。もしかしたら、次回バージョンアップのときに追加するかもしれません。
(Mjollnir)