空検索の動作、など

  1. 指紋認証で指の横の部分が特徴点として登録されたのか、
    手首をひねりぎみで通さないと認識されません。

    どうやらどんな便利なものも不便そうに使うといった、
    使えないチート能力が備わってる気がしてきました。
    どうもお久しぶりです。玄米茶です。

    見つけた不具合と年末恒例のメモ整理で出てきたものを、
    まとめて報告します。
    一部忖度しましたが長いです。

    なので各項目への返事は結構です。
    不具合を含みますが、お正月に読みますでも問題ないと思います。
    では、さらっと流す感じでどうぞ。
    (win7&10, Mery (x86) Version 2.6.3β)

    ・マクロで空検索すると妙な止まり方する

    1.以下のマクロで空検索する(マクロが途中で止まるのは既知)
    ```js
    document.selection.Find("", meFindNext + meFindReplaceRegExp)
    alert("これは表示されない");
    ```
    2.標準マクロの"昇順で並べ替え.js"を使う

    以上の手順を踏むと、エラーが発生します。
     「モジュール 'jscript.dll' のアドレス ……」
    マクロが途中で止まるまでは知っていたのですが、
    ウィンドウズ側ではまだ完全に止まっていなかったようで、
    タイミングによっては他にJScriptを使用するソフトを巻き込む可能性がありそうです。

    まぁ、ウィンドウズ側の問題っぽいですが、
    もしMery側で対策されるならお願いがあります。

    現在、マクロで検索・置換をした後に"俺標準"に戻すための検索をかけています。
    その際上記の制限で検索用のダミーとしてエロワードを設定しています。
    その為、いつ検索履歴を見られるかドキドキな状態ってわけです。

    なので、空検索の場合は検索オプションを再設定するだけの動作を要望します。
    これであれば履歴に残らないだけでなく、リストを読み込んで連続検索・置換系のマクロで、
    要素内が空っぽかチェックを省けてほんのちょっと簡潔に書けたりしそうです。

    面倒くさそうなら、新しいエロワードを考えてください。
    最近マンネリ感があるのでそれを使います。

    ・警告メッセージが動作意図とは逆

    1."aaa"と書かれたテキストファイルを用意し開く
    2.置換ウィンドウを表示させたままにする
    3.ステータスバーの"書禁"が表示される場所をチョイチョイしてファイルをロックする
    4."aaa"を"bbb"に置換する
    5.ステータスバーの"書禁"をチョイチョイしてロックを解除しようとする
      (タブタイトル横のファイルアイコンをチョイチョイして、編集履歴をクリアしようとしてもよい)

    以上の手順を踏むと、
     「変更を破棄して続行しますか?」
    と、メッセージが出ますが"変更を適用"しようとする動作意図とは逆の意味になっています。

    ・アウトプットバーに複数行にわたる文字列を貼り付けられない

    アウトプットバーが搭載されてからずっと以下の状態だったようです。

    - 複数行にわたる文字列は手動で貼り付けられない
    - ただし改行があっても文字列終端の場合は貼り付け可能

    アウトプットバーに手動でコピペした場合 Mery 独自の改行(制御)コードが
    付加されない為かなと想像したのですがどうでしょう?
    そもそも、インプットする場所じゃねーよ!っていうね……
    まぁでも、あると便利そうなので要望出しておきます。

    例えば、ブラウザから雑にコピーしてきた文字列を、
    いきなりテキストの途中に突っ込むのは、抵抗を感じるものです。
    別の場所に貼り付けてから、改めて必要な部分だけをコピーしたくなるのは必然。

    鍋で言うところの取り皿が欲しくなるものです。
    (鍋のおいしい季節になりましたね。)
    そんなときここにコピペができると便利そうです。

    他にもタブ表示で、タブを切り替えても同じものが表示され続ける
    アウトプットバーの特徴を活かして――

    指示書きや、手順・注意点の箇条書きなどを貼り付け表示させておくと、
     「次なんだっけ?」
    って複数ファイルを編集中になるのを防げそうです。

    まあ、マクロでクリップボード内の文字列を吐き出させることも
    可能なので開発メモ行きで結構です。

    ```js
    // クリップボード内の文字列をアウトプットバーに出力
    if (!outputbar.Visible) outputbar.Visible = true;
    outputbar.Clear();
    outputbar.Writeln(clipboarddata.GetData());
    // エディタ部へフォーカスを戻す
    editor.ExecuteCommandByID(2189);
    ```

    ・アウトラインでブロック単位でコピーしたい

    アウトライン上で右クリックからブロック単位のコピーが出来ると、
    簡単に関数を中身ごとまるっとコピー出来たり捗りそうじゃない?
    →「マクロで……」
     「あっ、はい。開発メモ行きで結構です」

    ・アウトラインで全てコピーした場合、Tab を付加して階層を再現してほしい

    アウトライン上で右クリックから全てコピーしたとき階層を再現されていると、
    目次作るときとかに捗るよね?
    →「マ……」
     「あっ、はい」

    恒例のクリスマス更新を目論んでそうな雰囲気のなかでの投稿で、
    kuroさんが「予定が……」と頭かかえてないといいのですが ^^;
    それでは、Mery Xmas!!

     |  玄米茶  |  返信
  2. お久しぶりですね、書き込みありがとうございます。

    長っ! ^^;

    > では、さらっと流す感じでどうぞ。
    お言葉に甘えてそうさせていただきます ^^;

    > 1.以下のマクロで空検索する(マクロが途中で止まるのは既知)
    初耳でしたw

    > 2.標準マクロの"昇順で並べ替え.js"を使う 以上の手順を踏むと、エラーが発生します。
    1 の時点で内部的にエラーが発生して JScript が終了してない状態になっている模様ですから、その後はマクロは使用できませんね…。

    > なので、空検索の場合は検索オプションを再設定するだけの動作を要望します。
    それがイイですね、採用です!

    > と、メッセージが出ますが"変更を適用"しようとする動作意図とは逆の意味になっています。
    「書禁」の切り替えは編集中の文章を破棄してファイルを再読み込みした後にリードオンリーに設定する仕組みなので、文字通り編集中の内容は「破棄」されます。

    > ・アウトプットバーに複数行にわたる文字列を貼り付けられない
    > そもそも、インプットする場所じゃねーよ!っていうね……
    ですです、あそこは Windows のコマンドプロンプトのようなモノです ^^;

    ただのメモ欄みたいに見えますが、実は Windows のコマンドプロンプトと連動して動かすことができるようになっており、アウトプットバーへの入力でコンソールアプリとやり取りすることができる仕組みになっています。そのため、Windows のコマンドプロンプトと同様、入力は 1 行ずつです。

    > 別の場所に貼り付けてから、改めて必要な部分だけをコピーしたくなるのは必然。
    私は Windows のメモ帳を一時的な置き場に使ってます ^^;

    > ・アウトラインでブロック単位でコピーしたい
    アウトラインのコピー機能が、1 行単位でコピーして貼り付ける、テンプレート機能みたいな感じで使いたいというご要望があって実装したものなので… ^^;

    > ・アウトラインで全てコピーした場合、Tab を付加して階層を再現してほしい
    [すべてコピー] は私が勝手に作ったものなので仕様を変えても大丈夫な気がします。Tab で階層、やってみましょう。

    > 恒例のクリスマス更新を目論んでそう
    そう思いますよねー…
    しかし、今年のクリスマスには予定が!カレンダーにしっかりハートマークが!!

    ない!
    Mery を開発するモチベーションもない!!

    メリークリスマス & よいお年を ^^

     |  Kuro  |  返信
  3. 一部要旨が伝わらなかった様で、補足させてください。
    どうもメッセージが分かりにくいといったクレームと捉えられてしまったようですね。

    > 文字通り編集中の内容は「破棄」されます。
    通常のロックする動作ではこの通りなのですが、今回の手順では、
    ロックされたファイルを裏技的に編集した為、ロック解除時に起きる現象のことです。

    この際「破棄」のつもりで「はい」を選択しても、
    編集後の"bbb"が残っていることが確認できるはずです。
    今一度ご確認を。

    よく考えたら、ロックされたファイルを編集出来ること自体が問題なのかもしれませんね。
    空検索でマクロが止まる件もそうですが、
    どうやら私、これも仕様だと思い込んでたみたいですw

    > 私は Windows のメモ帳を一時的な置き場に使ってます ^^;
    メモ帳便利ですよねーって……いや、間違ってはないんだろうけど、何かおかしい気がw
    まぁ、こういった他エディタが出てくる場面を分析すれば、
    求められてるエディタの進化の方向性がわかるかもしれませんね。

    それでは、よいお年を。

     |  玄米茶  |  返信
  4. こんにちは、ご返信ありがとうございます。

    > どうもメッセージが分かりにくいといったクレームと捉えられてしまったようですね。

    そ、そんなことは思っていませんよ! ^^;
    ダイアログのメッセージが分かりづらかったかなと……。私の勘違いだったようで申し訳ございません。なるほど、把握しました。

    > よく考えたら、ロックされたファイルを編集出来ること自体が問題なのかもしれませんね。

    おっしゃる通りですね。[書禁] の時は置換ウィンドウも表示できないようになっているのですが、置換ウィンドウを表示させた状態で [書禁] にするというのは想定していませんでした。

    これは置換させないように修正しておこうと思います。

    > まぁ、こういった他エディタが出てくる場面を分析すれば、
    > 求められてるエディタの進化の方向性がわかるかもしれませんね。

    そうですね、ご意見は今後の開発の参考にさせていただきます。

    マクロで空文字検索の件につきましては修正が完了しております。クリスマス更新、間に合うか……。まだ「縦書き機能」のオプションの設置場所で悩んでいるのと、公開記事も書けていません。

    毎年恒例なので、なんとか間に合わせたいところです ^^

     |  Kuro  |  返信
  5. 横からすみません^^;

    >> なので、空検索の場合は検索オプションを再設定するだけの動作を要望します。
    > それがイイですね、採用です!

    これ、いいですね!
    かねてより「検索オプションのデフォルト設定できたらなぁ」なんてことを考えていたので、これを応用したマクロを ctrl+f なりに割り当てればいけそうですね。wktkです!

    恒例のクリスマスプレゼント、期待してますw

     |  yuko  |  返信
  6. コメントありがとうございます。

    > かねてより「検索オプションのデフォルト設定できたらなぁ」なんてことを考えていたので、これを応用したマクロを ctrl+f なりに割り当てればいけそうですね。wktkです!

    以前から何度かご要望がありましたが、過去のマクロとの互換性の問題で対応ができなかった部分ですね。今回のご意見のアイデアで対応していただけると助かりそうですw

    > 恒例のクリスマスプレゼント、期待してますw

    やばいです、腹を下してしまって休養してたらこんな時間。
    夜には間に合いそうにありませぬ… ^^;

     |  Kuro  |  返信
  7. Kuro さん

    開発お疲れさまです。
    もし方法あればご教示いただきたいのですが…

    > かねてより「検索オプションのデフォルト設定できたらなぁ」なんてことを考えていたので、これを応用したマクロを ctrl+f なりに割り当てればいけそうですね。wktkです!

    上記の動作をさせるため、簡単に「空検索実行→検索ウィンドウ表示」をさせるマクロを作りたい次第なんですが、検索ウィンドウを表示させるメソッドってあるでしょうか?

    リファレンス眺めてはみたのですが分からず…すみません(・・;

     |  yuko  |  返信
  8. 書き込みありがとうございます。

    > > かねてより「検索オプションのデフォルト設定できたらなぁ」なんてことを考えていたので、これを応用したマクロを ctrl+f なりに割り当てればいけそうですね。wktkです!

    ↑ これ、まだ実装していませんでしたっけ… ^^;
    最近記憶が…

    > 検索ウィンドウを表示させるメソッドってあるでしょうか?
    > リファレンス眺めてはみたのですが分からず…すみません(・・;

    検索ウィンドウを表示させるのは、

    editor.ExecuteCommandByID(2133);

    ↑ こんな感じで行けるんじゃないかと思います。

     |  Kuro  |  返信
  9. Kuro さん

    > ↑ これ、まだ実装していませんでしたっけ… ^^;
    > 最近記憶が…

    Ver.2.6.5 で空検索で検索フラグの設定のみするようにしていただいてますね。ありがとうございます!

    それと頂いた検索ウィンドウ表示方法で、想定する動作が実現できました。
    本当にありがとうございました!

    ちゃっかり、Wiki にも掲載させていただきました(๑´ڡ`๑)テヘ

    https://www.haijin-boys.com/wiki/デフォルトの検索フラグを設定して検索ウィンドウ表示

     |  yuko  |  返信
  10. >> yuko さん
    ご返信ありがとうございます。

    > Ver.2.6.5 で空検索で検索フラグの設定のみするようにしていただいてますね。ありがとうございます!
    良かった、対応してたんですねw
    細かいやつは、更新履歴の「その他、細かい修正」でごまかしてるので、すっかり忘れてしまってました。

    > それと頂いた検索ウィンドウ表示方法で、想定する動作が実現できました。
    すみません、言い忘れていました^^;

    ↑ 実は ExecuteCommandByID メソッドは Mery の機能を ID を指定して直接呼び出すメソッドで、動作保証がないので隠し機能として存在していました。

    以前の Mery では、機能 ID は順番に整列してふっていたので、Mery に新しい機能が追加になった場合に ID がズレてしまうことがあったため、ExecuteCommandByID の使用はまったくの動作保証外でした。

    が、最近のバージョンでは新機能が追加された場合に、ID は後ろに追加する形でふるようにしていますので、その点は安全です。

    しかしながら、Mery の機能を直接呼び出すという性質上、マクロ内からの呼び出しを想定していない機能 (例えばタブ有効・無効の切り替えとか) を無理やり呼び出すと例外が発生したり Mery がクラッシュしたりする可能性もありますので、ExecuteCommandByID の使用にはご注意ください。

    動作保証なしで、まぁ、動くなら使ってもいいんじゃない?ぐらいの感じです ^^;
    ([検索] メニューの呼び出しぐらいなら大丈夫だと思います)

    > ちゃっかり、Wiki にも掲載させていただきました(๑´ڡ`๑)テヘ
    おお、ありがとうございます。

    って、エエッ~!…そう言えば最近も「検索ダイアログの文字列の部分に勝手に文字が入るのやめてほしい」みたいなご意見がありましたし、検索ダイアログって毎回中身リセットして奇麗するメリットって何かあるのでしょうか…?

     |  Kuro  |  返信
  11. 横槍スミマセン。

    > って、エエッ~!…そう言えば最近も「検索ダイアログの文字列の部分に勝手に文字が入るのやめてほしい」みたいなご意見が

    これを言った人でも、質問者でもないのですが・・・。
    キャレット位置の文字列を拾って検索ダイアログに勝手に入るのはOKなのですが、その文字列が前方一致する検索履歴で補完されてしまうのがどうにかならないでしょうか?

    fooを検索したいのに履歴にfoobarがあれば、検索対象がfoobarになっちやいますよね?
    検索ダイアログやGrepダイアログが表示される前にEnterを押しちゃうタチなので、意図しないワードを検索しちゃうことがよくあります。。。

     |  Dainty  |  返信
  12. >> Dainty さん
    書き込みありがとうございます。

    > キャレット位置の文字列を拾って検索ダイアログに勝手に入るのはOKなのですが、その文字列が前方一致する検索履歴で補完されてしまうのがどうにかならないでしょうか?
    > fooを検索したいのに履歴にfoobarがあれば、検索対象がfoobarになっちやいますよね?

    この問題は Ver 2.6.1 あたりで修正した記憶がありますが、お使いの Mery のバージョンはいくつでしょうか?あと OS のバージョンも教えていただけると助かります。(Windows のバージョンによって発生する問題でしたので)

     |  Kuro  |  返信
  13. > って、エエッ~!…そう言えば最近も「検索ダイアログの文字列の部分に勝手に文字が入るのやめてほしい」みたいなご意見がありましたし、検索ダイアログって毎回中身リセットして奇麗するメリットって何かあるのでしょうか…?

    そうですねぇ…
    個人的には現状の、選択中の文字が検索文字列に入った状態で表示される仕様は嬉しいのですが、検索フラグは毎表示ごと揃えたい場面がしばしばあるんですよね。

    というのも、基本的に正規表現込みで検索することが多いのですが、「*」「+」等の文字が多く含まれた検索文字列を使って検索したいときに、一つ一つエスケープするのが面倒なので「正規表現を使用する」チェックを外して検索するんですよね。
    そして、次に検索ウィンドウ表示させたときに、チェック外してたの忘れたまま正規表現で記述して、「あれ?検索引っかからないな…検索文字間違ったかな?」となるシーンがままあります(汗)

    まぁ自分で書いていて思ったのですが、このような使い方をする人自体がそんなに多くなさそうですし、こうなったところでほとんどの方が「またチェック付ければいいでしょ」程度に思うところなので、まさしく機能外(マクロ)で解決すべき事案ですね。

    私の場合は職業柄、ウジャウジャ吐き出されたログの中でこういった検索を行うことが多く、「検索ミスで必要なログが見つからなかった」みたいなケアレスミスが痛かったりするので、こういう要望が生まれた形ですね。

    なので、シンプルイズベストを是とする Mery ではこの点について、現状の仕様で十分と私は思います( ᐛ )و

     |  yuko  |  返信
  14. > って、エエッ~!…そう言えば最近も「検索ダイアログの文字列の部分に勝手に文字が入るのやめてほしい」みたいなご意見がありましたし、検索ダイアログって毎回中身リセットして奇麗するメリットって何かあるのでしょうか…?

    別の人みたいですが5ch.netに1つ理由が挙がっていました。
    https://egg.5ch.net/test/read.cgi/software/1471087798/776-788
    最後のレスでは何が言いたいのか私には意味不明ですが(笑)。

     |  通りすがり  |  返信
  15. >> 通りすがり さん
    情報ありがとうございます。
    ch の扉を開くときが来てしまいましたか…。

    > 最後のレスでは何が言いたいのか私には意味不明ですが(笑)。
    確かに、ちょっと良く分からない感じですがとにかく検索ダイアログの [検索する文字列] を消したい感は伝わりました ^^;

    フォーラムのほうにご意見をくださった方とは別の方のようですし、局地的にそういう要望がわいてくる時期なのでしょうかね。こっそり機能追加しておきます…。

     |  Kuro  |  返信
  16. >> yuko さん
    ご返信ありがとうございます。

    なるほど、そういうご意見もあるのですね。某 ch スレッド (通りすがりさんのコメント) に書かれてた方のご要望もそういう感じなのかもしれません。

    某テキストエディタさんの仕様なんかもちょっと参考にさせていただきましたが、やはり設定は勝手に保存されるほうが一般的なようですね。

    検索文字列の部分だけはお好みで既定値を選べるオプションが用意されているようですから、興味のない人には邪魔にならない程度にこっそり実装してみようかな、なんて思ってます。 ^^;

     |  Kuro  |  返信
  17. >とにかく検索ダイアログの [検索する文字列] を消したい感は伝わりました ^^;

    検索ダイアログを開いたときに [検索する文字列] を消したいと言うよりも、
    前回検索したときの文字列を残しておいて欲しいのでは?と思います。
    そういうつもりでしたのなら、申し訳ありません。
    ブログ?紹介記事?のコメント欄で質問していた人の意図するところは分かりませんが。

     |  通りすがり  |  返信
  18. 追記

    > 検索文字列の部分だけはお好みで既定値を選べるオプションが用意されているようです

    某テキストエディタでは、
    エディタウィンドウで文字列が選択されていた場合は、どの設定を選んでいても、
    選択されている文字列が優先されるのかな? と、どうでも良いことが気になりました(笑)。

    仕様を考えるのは大変そうですね。
    実装も含めていつも感謝しております。

     |  通りすがり  |  返信
  19. ご返信ありがとうございます。

    > どの設定を選んでいても、選択されている文字列が優先されるのかな?
    ですです。どうも予想した動作とは違う感じで良く分からない仕様ですね。バグでしょうかね ^^;

    > 前回検索したときの文字列を残しておいて欲しいのでは?と思います。
    なるほどー。某エディタでは [最後に使った値] や [固定値] といった項目から選択できるようになっていますね、これは上手い実装だと思います。(もっとも、これらの項目も想定している動作とはちょっと違うみたいですけど…)

    最後に使った値 (ちゃんと動くヤツw)、と、固定値 (空文字指定可能) の項目があればある程度のご要望には対応できそうですね。

     |  Kuro  |  返信
  20. 現状の仕様で満足と言っておきながら、検索仕様にテコ入れが入りそうな雰囲気なので意見を書かせてください!

    > > どの設定を選んでいても、選択されている文字列が優先されるのかな?
    > ですです。どうも予想した動作とは違う感じで良く分からない仕様ですね。バグでしょうかね ^^;

    恐らくですが、意図した仕様じゃないでしょうか?
    というのも上記を読んで、私としては好ましい動き方だなと思ったからです。

    私の場合、 Mery で検索をするとき (無意識にですが) 以下のような使い方をしています。
    --------------------
    ・文字未選択状態で検索ウィンドウ表示
     →新規に検索文字列を入力
       or
      直前の検索をプルダウンから選択して微修正する等して再利用

    ・文字選択状態で検索ウィンドウ表示
     →選択中の文字列を使って検索
    --------------------

    現状、文字未選択状態では「キャレット位置の単語が検索文字列に入力されている」のが仕様かと思いますが、これを使いこなすには区切り文字を意識する必要があり、文字選択をしてから検索ウィンドウを表示するのと比べて、やや直感的には扱いづらい印象があります。

    そのため、上記のような使い方をする場合は、以下のような動作が実現できると好ましいと考えます。
    --------------------
    1) 文字未選択状態で検索ウィンドウ表示
     →直前の検索文字列が入力されていて、その検索文字列が選択状態 (そのままキー入力すれば、新規に検索文字列を入力する場合にも対応できる)
     
    2) 一行内の文字選択状態で検索ウィンドウ表示
     →選択文字列が、検索文字列として入力されている

    3) 複数行に渡っての文字選択状態で検索ウィンドウ表示
     →(1) の文字未選択状態で表示した場合と同様の動作
    --------------------

    (1) での動作のみ、現状の仕様の「キャレット位置の単語が入力されている」から、「直前の検索文字列が入力されている」に変更されるような形ですね。

    なので、くだんの某エディタ (どれのことか分かっていませんが...) 同様に、

    ・文字未選択状態では「最後に使った値」が入力されている
    ・文字選択状態では「選択中の文字列」が入力されている

    という動作が実現できるといいなぁ、なんて思いました。

    勝手を言って申し訳ありません^^;

     |  yuko  |  返信
  21. > この問題は Ver 2.6.1 あたりで修正した記憶がありますが、お使いの Mery のバージョンはいくつでしょうか?あと OS のバージョンも教えていただけると助かります。

    Win10 Pro
    バージョン1703
    OSビルド15063.850

    Mery(x86) 2.6.5

    の環境で、バリバリ前方一致しちゃいます。。、

     |  Dainty  |  返信
  22. >> yuko さん
    ご意見ありがとうございます。

    皆さんそれぞれお好みがあるようで…
    見切り発車で開発を進めてしまいましたが、これはちょっと収拾がつきそうにありませんね。ロールバックして、次のバージョンでの実装は見送ることにします。

    ちなみに、私は「キャレット位置の単語が入力されている」派です ^^;

     |  Kuro  |  返信
  23. >> Dainty さん
    ご確認ありがとうございます。

    当方の環境、Windows 10 Pro バージョン 1709 (64 ビット) ビルド 16299.248 + Mery 2.6.5 (x64, x86 どちらも) にて確認してみましたが、再現しませんでした。

    やはり Ver 2.6.1 にて修正済みです。(Ver 2.6.0 では再現します)

    > の環境で、バリバリ前方一致しちゃいます。。、

    これって、例えば「abcde」で検索して検索ダイアログの [検索する文字列] のコンボボックスの履歴に「abcde」が登録されている状態で、次にエディタ内で「abc」という部分だけを選択した状態で検索ダイアログを開くと、本来であれば [検索する文字列] の部分に「abc」が入っていなければならないのに、勝手に前方一致の補完が働いて「abcde」が入力されてしまっている。

    ということですよね?

    クリーンな環境で検証してみましたが発生しないようですので、例えば下記のような点でお気づきのことがありましたらご確認お願いいたします。

    1. 何かマクロを導入されていませんか?
    2. 何かプラグインを導入されていませんか?
    3. 常駐アプリ (ランチャーとか、仮想デスクトップ系とか) でそういった動作補助をするものが入ってたりしませんか?
    4. Windows 10 は 64 ビット版ですか? (検索ダイアログではありませんが、特定のコンボボックスの挙動が 32 ビット版の Windows だと違うということが過去にありました)
    5. マルチディスプレイなどで Windows のデスクトップの文字の大きさが 100% より大きな設定になってたりしませんか?(ダイアログの大きさ調整の部分でウィンドウが再描画されたりすると、コンボボックスの自動補完が勝手に発動しちゃうことがあるのかも)
    6. ウイルス対策ソフト…、は関係ないかなぁ

    と、考えられることはこんなところですが、ご協力いただけると助かります。

     |  Kuro  |  返信
  24. > ちなみに、私は「キャレット位置の単語が入力されている」派です ^^;

    なるほど、これは Kuro さんの好みだったのですねw
    なんだか反対意見を出すようになってしまって、申し訳ないです。

    個人的には、未選択状態からの検索文字列が「キャレット位置単語」「固定」「最後の値」が選択できれば、大概の要望に応えられると思いますが、どうでしょうかね。
    この点に要望出してきた方がどういう動作を想像しているのか、気になるところです。

     |  yuko  |  返信
  25. > 「abc」が入っていなければならないのに、勝手に前方一致の補完が働いて「abcde」が入力されてしまっている。
    >
    > ということですよね?

    ですです。

    > 1. 何かマクロを導入されていませんか?

    検索時やGrep時に発動するマクロは導入していません。

    > 2. 何かプラグインを導入されていませんか?

    クラスビュー、アウトライン、スニペットを使用しています。

    > 3. 常駐アプリ (ランチャーとか、仮想デスクトップ系とか) でそういった動作補助をするものが入ってたりしませんか?

    思い当たる常駐アプリはありません。
    (関係ないとは思いますが、SetCaretColoer003が常駐しています。)

    > 4. Windows 10 は 64 ビット版ですか?

    はい、64bit版です。

    > 5. マルチディスプレイなどで Windows のデスクトップの文字の大きさが 100% より大きな設定になってたりしませんか?

    ぬぁ!これですね!
    マルチディスプレイで、
    ディスプレイ1:125%
    ディスプレイ2:100%
    の設定で、ディスプレイ2の方で前方一致の補完が効いちゃってます。
    どちらも同じスケール(100%または125%)に合わせると、問題ないです。

     |  Dainty  |  返信
  26. なんかコメントの並びが変ですね。
    連続して投稿した私のコメントで追記した方が前に表示されたり、
    Daintyさんの新しいコメントが途中に入っていたり。
    と思いましたが、「返信」をクリックしたコメントの次に追加されていくのですね。

    検索ウィンドウの[検索する文字列]に設定される値について、
    私は現状で問題ない、例え動作が重くならないとしても機能追加は必要ないと思っていますが、
    機能追加するのであれば、yukoさんの意見に賛成です。

    検索ウィンドウを表示したときに、[検索する文字列]に設定される値は、
    (1) 文字列が選択されていない場合、
      「キャレット位置の単語」「固定値」「最後に使った値」に従う。
    (2) 1行内で文字列が選択されている場合、
      選択されている文字列。
    (3) 複数行に渡って文字列が選択されている場合、
      「選択開始位置の単語」「固定値」「最後に使った値」に従う。
      「置換」の場合は、[選択した範囲のみ]にチェックが付く。
      複数行の場合、「キャレット位置の単語」は余り意味がなさそうなので、
      現状通り、選択開始位置の単語が設定されるのが良さそう。
      クリップボードの内容が設定されても良いかも?と言うのは余計ややこしくしてしまいますね。

    ただ、取り合えず「単語」と言っていますが、厳密には単語ではなく、
    漢字/かな/カナ/アルファベット/記号それぞれのまとまり毎で区切られているようなので、
    「従う」など送り仮名付きの漢字とか平仮名とかが上手く拾われないのが少々不満です。
    私は常に文字列を選択して検索するので、実用上の不都合はありませんが。

    あと、これもどうでも良いことですが、
    検索ウィンドウを閉じたときに[検索する文字列]に入っていた文字列は、
    検索履歴に残ってしまうのですね。
    例えば、検索ウィンドウを開いて何もせず閉じても、キャレット位置の単語が検索履歴に残るのですね。

    ちなみに、「最後に使った値」とは、正規表現の場合は、
    正規表現で検索された文字列ではなく、正規表現の表記そのままのことを想定されていますよね?

    くどいですが、私は現状で十分派です。

    >> このフォーラムを立ち上げた玄米茶さん、Kuroさん
    表題に関係ないことについて、長文、駄文失礼しました。

     |  通りすがり  |  返信
  27. >> Dainty さん

    ご確認ありがとうございます。

    > マルチディスプレイで、
    > ディスプレイ1:125%
    > ディスプレイ2:100%

    なるほど、コレでしたか…。
    Windows 8 以降で対応している Per-Monitor DPI という機能になりますが、これがなかなか厄介で、例えばディスプレイ 1 が 100%、ディスプレイ 2 が 125% のように逆になってるだけで挙動が変わってくるという…

    と、言い訳しつつ、私のほうでもなんとか環境を調達して検証してみたいと思います。

     |  Kuro  |  返信
  28. >> yuko さん
    ご返信ありがとうございます。

    > なんだか反対意見を出すようになってしまって、申し訳ないです。
    いいえー、私の中では Mery 1.0 で完成してたので、そこから先は皆さんのご意見で成り立っているようなものですから ^^

    > 個人的には、未選択状態からの検索文字列が「キャレット位置単語」「固定」「最後の値」が選択できれば、大概の要望に応えられると思いますが、どうでしょうかね。
    私もそう思います。
    某エディタの動作がおかしいと言っていたのは、「固定」や「最後の値」を選択しても思った値が設定されないんですよね、バグだと思うのですが… ^^;

    >> 通りすがり さん
    ご返信ありがとうございます。

    > と思いましたが、「返信」をクリックしたコメントの次に追加されていくのですね。
    ですです。当時は文字が小さかったので、階層的にレスが表示される形式だったのです。

    が、読みやすいように文字を大きくしてからは、階層表示にすると最後のほうのレスの幅がめっちゃ細くなっていくので廃止したため、現在のような仕様になっております ^^;

    久しぶりに、真ん中辺にレスがついたので、私も「アレレ?」って思っちゃいました (ォィ

    > (1) 文字列が選択されていない場合、
    >   「キャレット位置の単語」「固定値」「最後に使った値」に従う。
    > (2) 1行内で文字列が選択されている場合、
    >   選択されている文字列。
    > (3) 複数行に渡って文字列が選択されている場合、
    >   「選択開始位置の単語」「固定値」「最後に使った値」に従う。
    >   「置換」の場合は、[選択した範囲のみ]にチェックが付く。
    >  複数行の場合、「キャレット位置の単語」は余り意味がなさそうなので、
    >  現状通り、選択開始位置の単語が設定されるのが良さそう。
    ちょっとややこしいですね…。
    技術的には可能ですが、仕様としては複雑すぎるかと思います。もう少しシンプルで、設定項目の文字通りの挙動にしたほうが、ユーザさんはわかりやすいかなぁ。(というか私が質問されたときに回答するのが面倒くさいだけ、って感じでもありますがw)

    みなさんご意見ありがとうございます。
    参考にさせていただきます。次のバージョンで実装するかはちょっとまだわかりませんが…。

     |  Kuro  |  返信
  29. 追伸:

    >例えば、検索ウィンドウを開いて何もせず閉じても、キャレット位置の単語が検索履歴に残るのですね。

    そうなんですよね。Mery の仕様上、ダイアログにおいて「閉じる」ボタンは記憶して閉じる、「キャンセル」ボタンは記憶せずに閉じる、というふうに文言を統一していますので、この点はご容赦ください。

     |  Kuro  |  返信
  30. ご返信ありがとうございます。
    上記、了解しました。

    文言はまだ暫定でしょうが、「キャレット位置の単語」と言う設定項目名からだと、
    検索する文字列に何を表示するかのオプションは、
    文字列が選択されていない場合のためのものという意識が強かったもので。

     |  通りすがり  |  返信
  31. Kuro さん
    ご返信ありがとうございます。

    > 私もそう思います。
    > 某エディタの動作がおかしいと言っていたのは、「固定」や「最後の値」を選択しても思った値が設定されないんですよね、バグだと思うのですが… ^^;

    あ、選択状態だと意図した値にならない(選択箇所の文字が入る)とかって話ではなくて、未選択状態でも意図した値が入らないときがあるってことですか?
    それなら流石に、バグっぽいですね(・・;

    ちなみに、もし今後 Mery に実装するとしたら、どんな感じになりますか?
    未選択状態での動作を選べるようにして、選択状態での動作は現状仕様のままという形でしょうか?(これだと嬉しいです^^;)

     |  yuko  |  返信
  32. >> yuko さん
    ご返信ありがとうございます。
    一度、実装してからすべて削除しましたのでちょっとモチベーションが… ^^;

    > ちなみに、もし今後 Mery に実装するとしたら、どんな感じになりますか?
    まだ考えていませんが…

    > 未選択状態での動作を選べるようにして、選択状態での動作は現状仕様のままという形でしょうか?(これだと嬉しいです^^;)

    ↑ お気持ちはわかりますが、そのような条件付きの仕様は若干、個人向けのカスタマイズ感が出てしまいますので… ^^;

    シンプルに 5 つの設定項目からお好みで選んでもらうかたちになるかなぁと。

    1. 選択テキストまたはカーソル位置の単語
     → デフォルトの設定はコレ。つまり何もしなければ現状通り
    2. 選択テキストのみ
     → 選択テキストを使用。選択範囲が空の場合は最後に使った値
    3. カーソル位置の単語のみ
     → 選択範囲に関係なく、常に、カーソル位置の単語
    4. 最後に使った値
     → 選択範囲に関係なく、常に、最後に使った値
    5. 固定値
     → 選択範囲に関係なく、固定値。空っぽも固定値として設定可能

    こんな感じで、おそらく (2) が yuko さんのご希望の動作になるかと思います。

    で、(4) か (5) が、以前にご意見をくれた方の「検索文字列の自動入力を停止させたいご要望」のご希望の動作になると思います。

    あとは私の好みの仕様で (1) はデフォルト値として現状維持。

    (3) は必要なさそうな気がしますが、某エディタについてるので一応ね。って感じで平等感を出してみました。

     |  Kuro  |  返信
  33. Kuro さん

    > 一度、実装してからすべて削除しましたのでちょっとモチベーションが… ^^;

    ( ゚д゚)ハッ!
    そうですよね…というか、私が削除の元凶なので、申し訳ない限りです…。

    > ↑ お気持ちはわかりますが、そのような条件付きの仕様は若干、個人向けのカスタマイズ感が出てしまいますので… ^^;

    理解しております。
    あくまで Kuro さんの感覚として良さそうな形で、かつモチベーション重視で考慮に入れていただければと思います。

    意見は出しているものの、今の Mery に満足していますし、何より Kuro さんの作品ですので。
    強いていえば…という気持ちで意見させていただきました。

    今までテキストエディタ迷子になっていた私が Mery で落ち着けたので、本当に感謝しております!

    > シンプルに 5 つの設定項目からお好みで選んでもらうかたちになるかなぁと。

    いいですね!

    厚かましくも、いつか実装されるのを期待したいと思います。

     |  yuko  |  返信
  34. 精神と時の部屋| ̄ー ̄)/ドゥモ♪

    > そうですよね…というか、私が削除の元凶なので、申し訳ない限りです…。

    いえいえ、そんなことはないですよ ^^;
    このスレッドでご報告のあった不具合の件と、ご要望の機能とかの仕様整理とかでちょっとテンパってしまいましたが…w

    不具合の件のほうが大きかったですねー。マルチディスプレイ環境用意して Delphi インストールしてデバッグして…、土日費やして何とか原因がわかりましたが、Delphi とか関係なく、Windows の OS のコンボボックス自体の不具合っていう。ゲイツのせいかよっ!と…。

    > 強いていえば…という気持ちで意見させていただきました。

    ご意見ありがとうございます。
    どんなご意見でも大歓迎ですので ^^;

    ついでに、通りすがりさんがこのスレッドでつぶやかれていた、フォーラムの投稿の並び順も下が新しいヤツが来るようにしてみました。以前より、わかりやすくなったかなー?

    > 厚かましくも、いつか実装されるのを期待したいと思います。

    ありがとうございます。
    不具合の件の原因が判明して気持ちがスッキリしましたので、ちょっとモチベーションが回復しましたw

    それでは!

    精神と時の部屋|)彡サッ

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