1 件の投稿を表示中 (合計 19 個)
  • 作成者
    投稿
  • #29296
    ssskyhigh
    参加者

    ver 19.9.0 にアップデートしてから、
    「ファイルから検索」の結果からジャンプした時に、検索文字列がハイライトされなくなりました。
    更に、以下のコードを使っていたjavascript マクロがうまく働かなくなりました。(Findの結果のハイライトがそのまま残ってしまうようになりました。)

    bHighlightFind = document.HighlightFind;

    Find(…)

    document.HighlightFind = bHighlightFind;

    よろしくご検討のほどお願いいたします。

    #29298
    Yutaka Emura
    キーマスター

    ssskyhigh 様

    いつもお世話になっております。

    前者の「ファイルから検索」の結果からジャンプした時に、検索文字列がハイライトされなくなった、という問題は、次のバージョンで修正します。
    ご迷惑をお掛けして申し訳ありません。

    後者のマクロについては再現しませんでした。Findの結果のハイライトは残らず、強調表示は消えました。

    よろしくお願いいたします。

    #29300
    ssskyhigh
    参加者

    いつもお世話になっております。
    ご対応頂き、どうもありがとうございました。
    1点目の問題は解決しました。

    しかし、2点目の問題がやはり解決しません。
    以下のような極めて単純なコードなのですが、以前はずっと問題なく動いていたものが、
    今はやはりFindの結果のハイライトがそのまま残ってしまいます。
    何か考えられる原因、あるいは別のやり方はありませんでしょうか?
    (カーソルのある位置の直前の < > で囲まれたタグを取得するというものです)

    xPos = document.selection.GetActivePointX(eePosView);
    yPos = document.selection.GetActivePointY(eePosView);
    bHighlightFind = document.HighlightFind;
    Find(“<[^<]*?>”,eeFindReplaceRegExp);
    tag = Text;
    document.selection.SetActivePoint(eePosView, xPos, yPos, false);
    document.HighlightFind = bHighlightFind;

    #29301
    Yutaka Emura
    キーマスター

    ssskyhigh 様

    いつもお世話になっております。

    念のため確認ですが、以下のようにしてはいかがでしょうか?

    
    xPos = document.selection.GetActivePointX(eePosView);
    yPos = document.selection.GetActivePointY(eePosView);
    //bHighlightFind = document.HighlightFind;
    document.selection.Find("<[^<]*?>",eeFindReplaceRegExp);
    tag = document.selection.text;
    document.selection.SetActivePoint(eePosView, xPos, yPos, false);
    document.HighlightFind = false;
    

    お試しいただければ幸いです。

    よろしくお願いいたします。

    #29302
    ssskyhigh
    参加者

    お返事どうもありがとうございます。
    ご提示頂いたものでは、ハイライトは消えます。(正常な挙動かと思います)

    もとのハイライトを残したいのですが、
    できていたものが突然できなくなり困っております。

    (前回提示させて頂いたコードは、with(document.selection) { } の中にあったのですが、
    document.selection.が一部重複しておりました。拙いコードですみません。)

    #29303
    Yutaka Emura
    キーマスター

    ssskyhigh 様

    いつもお世話になっております。

    以前の検索した強調文字列に戻したいという意味ですね。それでしたら、確かに今回のバージョンでは動作しなくなりました。これは、将来のバージョンで元に戻すようにしたいと思います。今回のバージョンより、強調文字列の情報は、

    %appdata%/Emurasoft/EmEditor/Common/lfs.bin

    に保存しています。次のようにして、強調文字列の情報を一時的に別のファイル名に移動して使うことはできます。

    
    wshell = new ActiveXObject("wscript.shell");
    appdata = wshell.ExpandEnvironmentStrings("%appdata%");
    sOrg = appdata + "\\Emurasoft\\EmEditor\\Common\\lfs.bin";
    sTemp = appdata + "\\Emurasoft\\EmEditor\\Common\\_lfs.bin";
    fso = new ActiveXObject( "Scripting.FileSystemObject" );
    xPos = document.selection.GetActivePointX(eePosView);
    yPos = document.selection.GetActivePointY(eePosView);
    bHighlightFind = document.HighlightFind;
    if( bHighlightFind ) {
        fso.DeleteFile( sTemp );
        fso.MoveFile( sOrg, sTemp );
    }
    document.selection.Find("<[^<]*?>",eeFindReplaceRegExp);
    tag = document.selection.text;
    document.selection.SetActivePoint(eePosView, xPos, yPos, false);
    if( bHighlightFind ) {
        fso.DeleteFile( sOrg );
        fso.MoveFile( sTemp, sOrg );
    }
    document.HighlightFind = bHighlightFind;
    

    お試しいただければ幸いです。

    よろしくお願いいたします。

    #29304
    ssskyhigh
    参加者

    お返事どうもありがとうございます。
    そうです。検索した文字列のハイライト状態に影響を与えないマクロにしたいということでした。

    ご教示頂いたコードそのままだと、最初の fso.DeleteFile( sTemp ); のところで毎回「ファイルが無い」とエラーが出てしまうのですが、
    上の2つの fso. … を
    fso.CopyFile( sOrg, sTemp );
    下の2つを
    fso.CopyFile( sTemp, sOrg );
    とすることで、以前と同様に望み通りの動きをするようになりました。
    どうもありがとうございました。

    #29305
    ssskyhigh
    参加者

    度々すみません。
    また最初の1点目の問題なのですが、解決したと思っていたのですが、
    正規表現で[ ]の中がだいたい85文字あたりを超えると、やはりジャンプ先で検索文字列がハイライトされなくなります。
    過去のバージョン(ver. 19.8)では数千文字あっても問題ありませんでした。

    ご検討頂けましたら幸いです。

    #29306
    Yutaka Emura
    キーマスター

    ssskyhigh 様

    いつもお世話になっております。

    検索文字列に改行が含まれていないでしょうか? 改行が含まれている場合、EmEditor では、強調表示できないという仕様となっています。それから、「ジャンプ先で」の意味がよくわかりませんでした。

    よろしくお願いいたします。

    #29308
    ssskyhigh
    参加者

    改行文字は含まれておりません。
    v19.8までは問題なくできていた事です。

    このスレッドの最初に申し上げたように、
    「ファイルから検索」の結果から(クリックやF10キーで)ジャンプした時に、検索文字列がハイライトされなくなった問題です。
    v19.9.2で修正して頂き、「解決した」とお答えしましたが、実は検索条件によっては解決されていなかったというご報告です。

    ご検討頂けましたら幸いです。

    #29309
    Yutaka Emura
    キーマスター

    ssskyhigh 様

    いつもお世話になっております。

    検索文字列、検索オプション、[高度] ボタンを押した後のダイアログの設定の既定との違いなど、詳しく教えていただけると幸いです。

    よろしくお願いいたします。

    #29310
    ssskyhigh
    参加者

    文字列は多分何でも同じじゃないかと思いますが、例えば

    [哀挨愛曖衣位圍醫依委威爲畏胃尉萎偉椅彙意違慰緯唄銳衛箇介回灰會快戒改怪拐悔海界皆械繪開階塊楷解潰壞懷諧貝外害崖涯慨蓋該槪骸掛刈危机希季軌鬼歸喜揮貴毀輝宜僞義疑儀]
    (80文字)
    なら問題ありませんが、

    [哀挨愛曖衣位圍醫依委威爲畏胃尉萎偉椅彙意違慰緯唄銳衛箇介回灰會快戒改怪拐悔海界皆械繪開階塊楷解潰壞懷諧貝外害崖涯慨蓋該槪骸掛刈危机希季軌鬼歸喜揮貴毀輝宜僞義疑儀戲擬犧議系係契計惠啓揭溪繼詣稽憩鷄個鎖才]
    (100文字)
    だと、ジャンプ先でハイライトされません。

    検索オプションは、
    ファイルの種類: *.txt
    「サブフォルダも検索する」にチェック、
    「正規表現」にチェック、
    エンコード:設定されたエンコード、
    出力方法:文書、
    出力オプション:ファイル名と行を表示

    「高度」の中は
    「指定したフォルダが存在しない場合にダイアログを表示する」のみチェック、
    正規表現エンジンは規定(Onigmo)

    です。
    よろしくお願いいたします。

    #29311
    Yutaka Emura
    キーマスター

    ssskyhigh 様

    いつもお世話になっております。

    念のため確認ですが、お使いの EmEditor のバージョンは、v19.9.2 でしょうか?

    残念ながら、こちらでは問題が再現できなため、大変お手数ですが、次のような手順を行っていただけると幸いです。

    1. [ツール] メニューの [インポートとエクスポート] を選択し、[すべての設定をレジストリ ファイルにエクスポート] を選択してください (ただし、ポータブル版の場合は、[すべての設定を INI ファイルにエクスポート] を選択してください)。

    2. [ツール] メニューの [すべてのコマンド] – [ツール] – [すべての設定をリセット] を選択します。もし、これで設定がリセットされない場合には、一度、EmEditor をアンインストールし、アンインストールの最中、設定を保存するかどうかの質問には「いいえ」を選択します。そして、再度インストールします。

    3. これで問題が解決するかご確認ください。また、エクスポートしたファイルのすべて (AppData を含む) を zip に圧縮して、私宛 (tech @ emurasoft.com) に送っていただければ幸いです。問題が再現するサンプル ファイルも zip に圧縮してお送りください。

    4. [ツール] メニューの [インポートとエクスポート] を選択し、エクスポートしたファイルをインポートしていただければ、元の設定に戻ります。

    よろしくお願い申し上げます。

    #29313
    ssskyhigh
    参加者

    バージョンは、v19.9.2 です。
    ご教示頂いた通りに「すべての設定をリセット」してから試してみましたが、やはり結果は同じでした。
    すぐにファイルをお送り致します。

    よろしくお願いいたします。

    #29320
    Yutaka Emura
    キーマスター

    ssskyhigh 様

    いつもお世話になっております。

    情報をお送りいただき、ありがとうございました。
    まもなく公開する v19.9.4 で修正しました。
    この度は大変ご迷惑をお掛けして申し訳ありませんでした。

    今後もよろしくお願い申し上げます。

    #29322
    ssskyhigh
    参加者

    v19.9.4 試して見ました。
    問題は全て解決されています。
    ご対応頂き、どうもありがとうございました。

    #30515
    ssskyhigh
    参加者

    いつもお世話になっております。
    2年ほど前にこのスレッドでご相談させて頂いた件なのですが、
    最近のバージョンアップで、また同じ問題が起こるようになりました。

    以下のようなコードで、
    ハイライト状態に影響を与えないようにこっそりFindを実行するということができておりましたが、
    最近また、Findのハイライトがそのまま残ってしまうようになりました。

    bHighlightFind = document.HighlightFind;

    Find(…)

    document.HighlightFind = bHighlightFind;

    お手数ですが、ご検討頂けましたら幸いです。

    #30523
    Yutaka Emura
    キーマスター

    いつもお世話になっております。

    念のため、

    document.HighlightFind = false;

    を最初に追加してみてください。

    よろしくお願い致します。

    #30527
    ssskyhigh
    参加者

    お返事どうもありがとうございます。
    おっしゃる通りに
    document.HighlightFind = false;
    を最初に追加するだけだと、元のハイライトまで全て消えてしまうのですが、あわせて
    document.HighlightFind = true;
    も最後に追加した所、以前と同じように動くようになりました。
    どうもありがとうございました。

    (トピックのタイトルと相談内容が一致しておりませんでした。すみません。)

1 件の投稿を表示中 (合計 19 個)
  • このトピックに返信するにはログインしてください。