プロジェクト機能検討

※2012.02.23 β版公開しました。当初検討仕様を一部変更しています。

HNXgrep Ver1.2にて「検索条件保存」「保存した検索条件の読み込み」機能を追加しましたが、作者自身がこの機能を使った感触としても、ごくごく定型的な検索条件をバッチ実行する(これもVer1.2で機能追加)ときには役に立つものの、以前にどのようなキーワードやワイルドカードで検索していたかといった履歴なども含めて検索条件を保存しておかないと、実用上厳しいことに気づきました。

また、自分の場合の使い方だと、たとえば
 (1)マスターとなるhtml/css/JSP/設定ファイル一式
 (2)それとは別のマスターとなるJavaソース一式
 (3)開発中のhtml/css/JSP類一式
 (4)よく参照するExcel設計書一式その1
 (5)よく参照するExcel設計書一式その2
 (6)膨大な量の設計書一式(Windowsの検索機能代わりにファイル名指定で探索する用途専用)
 (7)毎回定型的に文字コード/改行コードを走査チェックするファイル類一式
みたいな検索対象をつど切り替えることが多く、対象に応じてフィルタ・ファイル種類・検索モードを指定しなおすのが面倒だったり、それぞれよく使う検索キーワードが違うのにキーワード履歴が混在してしまい、不便を感じています。

で、これについてもEXCOMP様から「プロジェクト機能」というアイディアを教えていただき、さらに実現イメージも具体的なものを提案していただいたので、大いに参考にさせてもらって機能組み込み案のドラフトを起こしてみました。

想定仕様1:プロジェクト作成

  • 「検索条件を保存」機能を拡張し(もしくは別メニューで)、現状の「履歴を含まない検索条件(*.cond)」の保存に加え、「履歴を含むプロジェクト形式の検索条件(*.HNXgrep)」を保存作成できるようにする
  • まずはプロジェクト形式のファイルを保存する

想定仕様2:プロジェクトの切り替え/読み込み

  • 「プロジェクト切り替え」メニューを新設する

  • このメニューには、それまでに保存作成したプロジェクトの一覧が表示される (ファイル名のみ、パス/拡張子除く。フルパスおよび前回使用日時は、マウスを乗せたときにツールチップで表示される)
  • プロジェクトを選択すると、保存されている検索条件(履歴含む)を読み込み、復元する
  • プロジェクト選択状態で実行した検索条件および履歴は、選択中のプロジェクトに自動上書き保管される (もしくは、HNXgrep終了時 or プロジェクト切り替え時に、保存するか確認?)
  • 「既定のプロジェクト」を選択した場合の挙動は、今までどおり(HNXgrep既定の設定ファイル内に、検索条件/履歴が保管される)
  • 選択しているプロジェクト名は、タイトルバーに「[プロジェクト名] - HNXgrep」と表示 (ただしプロジェクト選択中は、タイトルバーには検索しているキーワードが表示されない)
  • 検索プロジェクト(*.HNXgrep)ファイルを対象パスにDrag&Dropすることでも、プロジェクトを開けるようにする

想定仕様3:ショートカットキー操作/プロジェクト一覧

※ショートカットキーの割り当てを見直しました。

  • アクセスキーどおり、Alt+「F」「W」でプロジェクト切り替え対象の一覧を開く
    • →Alt+「C」/Ctrl+「D」でプロジェクトの一覧を直接開くことも可能にする
  • 表示されるファイル名一覧については、プロジェクト名(保存したファイル名)の先頭1文字がそのままショートカットキーになるようにする
    • 例:「JSP#1」をショートカットキーで指定 ⇒Alt+「F」「W」-「J」
    • 例:「JSP#1」「JSP#2」のうち「JSP#2」を指定 ⇒Alt+「F」「W」-「JJ(Jを2回)」+Enter
    • プロジェクト保存時にファイル名を工夫することで、ショートカットキーを適切に割り振ることが可能になるようにする
    • ファイル名の一部に「(X)」などを指定した場合は、カッコの1文字がアクセスキーになるようにする
  • プロジェクトの表示順は、ファイル名の昇順(もしくは、直近に保存/読み込んだプロジェクト順)どおりとする
  • (「常に先頭のほうに表示する」プロジェクトを別途指定可能にする?)
  • 一覧表示されるプロジェクト履歴の件数は可変とする(人によっては10件程度で十分だったり、逆に50件くらいは欲しい人も想定されるので)。初期値は16件。
  • (プロジェクト一覧表示内容を整理するようなメニューも必要?使わなくなったプロジェクトを一覧から抹消したり、優先付けするプロジェクトを指定したり)
    • →Deleteキーでプロジェクト一覧から1件抹消
    • →F2キーでプロジェクト名の変更(ファイルリネーム)
    • →右クリックのメニューでも、同様の操作を可能とする

想定仕様4:HNXgrep起動時のプロジェクト選択状況

  • ちょっと悩ましいものの、起動時は「既定のプロジェクト」とする
  • HNXgrep起動時に「*.HNXgrep」ファイルが引数として渡されている場合は、そのプロジェクトを選択した状態で起動する保留
  • (拡張子.HNXgrepを関連付けすることも考えたほうがよいか?)レジストリをいじるのを避けるため中止

まだ機能構想中の段階です。仕様/実装に落とし込めるか少しずつ検討していこうと思います。
2013.02.23 ひととおり組みあがったので作者自身の運用テストに入ります。ベータ版としても公開します。