検索履歴に追加されるケース/追加されないケース

  1. またまたどうでもいい些細なことですが、表題の件についての確認です。
    置換を行ったのに検索履歴に残っていなかったので、どうしてだろうと思い試してみただけなので、要望ではありません。
    想定の動作でしたらすみません。

    ケース1
    1. 検索ダイアログや置換ダイアログで [インクリメンタルサーチ] のチェックをはずす
    2. ダイアログで [検索する文字列] に文字列を入力する
    3. ダイアログで [閉じる] をクリックする
    → 検索履歴に追加される

    ケース2
    上記 1. で [インクリメンタルサーチ] をチェックすると、検索履歴に追加されない

    ケース3
    1. 検索ダイアログや置換ダイアログで [インクリメンタルサーチ] をチェックする
    2. ダイアログで [検索する文字列] に文字列を入力する
    3. ツールバーの [前を検索] や [次を検索] をクリックする
    → 検索履歴に追加されない
    4. ダイアログで [閉じる] をクリックする
    → 検索履歴に追加されない

    ケース4
    1. 置換ダイアログで [インクリメンタルサーチ] をチェックする
    2. ダイアログで [検索する文字列] に文字列を入力、[置換後の文字列] は変更しない
    3. 置換ダイアログの [置換] や [すべて置換] をクリックする
    → 検索履歴に追加されない
    4. ダイアログで [閉じる] をクリックする
    → 検索履歴に追加されない

    ケース5
    1. 置換ダイアログで [インクリメンタルサーチ] をチェックする
    2. ダイアログで [検索する文字列]、[置換後の文字列] に文字列を入力する
    3. 置換ダイアログの [置換] や [すべて置換] をクリックする
    → 検索履歴に追加される
    4. ダイアログで [検索する文字列] に新たな文字列を入力、[置換後の文字列] は変更しない
    5. 置換ダイアログの [置換] や [すべて置換] をクリックする
    → 検索履歴に追加されない
    6. ダイアログで [閉じる] をクリックする
    → 検索履歴に追加されない

     |  774  |  返信
  2. これは想定した仕様ですが、説明するとなると難しいですね。

    まず前提条件として、[閉じる] ボタンは入力した内容を保持します。(一般的に [キャンセル] ボタンや右上の×ボタンは入力した内容は破棄します)

    これが、ケース 1 に該当します。

    次に、ケース 2 ~ 5 ですがこれは一概にそうとは限りません。

    検索ダイアログの仕様として、検索条件 (検索文字列や検索オプションなど) が変更されたときはそのときの状態が記憶されるようになっています。

    なので、ケース 2 ~ 5 で [インクリメンタルサーチ] のチェックをオフからオンへ変更するという操作が発生すると、検索履歴も更新されます。

    が、今回は恐らく、常に [インクリメンタルサーチ] がチェックされた状態ということだと思うので、それを前提に説明します。

    インクリメンタルサーチは [検索する文字列] が変更されるたびにリアルタイムで [次を検索] を実行する機能となっているので、そのたびに検索履歴が増えていったら困っちゃいますからね、[インクリメンタルサーチ] がオンのときは検索履歴には追加しません。

    これがケース 2、3、4 ですね。

    ケース 5 は [インクリメンタルサーチ] がオンですが、[置換後の文字列] が変更されているので最初にお話しした "検索条件が変更されたとき" に該当するので検索履歴に追加されます。

    つまり、[インクリメンタルサーチ] がオンの場合は、[検索する文字列] の変更は "検索条件が変更されたとき" とみなさない、というシンプルな仕様ではあります。

     |  Kuro  |  返信
  3. 了解しました。
    丁寧な説明ありがとうございました。

     |  774  |  返信
  4. > なので、ケース 2 ~ 5 で [インクリメンタルサーチ] のチェックをオフからオンへ変更するという操作が発生すると、検索履歴も更新されます。

    [次を検索] (またはインクリメンタルサーチによる自動的な [次を検索]) のときは [インクリメンタルサーチ] がオンだと検索履歴は追加されないので、774 さんのケースのように最初の手順 1 でオフからオンにして、[検索する文字列] を変更した場合は該当しなかったです。

     |  Kuro  |  返信
スポンサーリンク