Compare Plugin - Unable to turn off Synchronize Vertical Scrolling Version 7.6.6 with Compare V2



  • Hello @Jeff-Miller and @Peter-Jones,

    Sorry for the late reply guys.

    Jeff,

    Manually Align them, and then turn the Vertical Sync back on, works great.

    Turning vertical sync back on will NOT do re-compare from your new alignment point. So you are visually “comparing” the stanzas yourself, correct?

    Peter,

    But no diff algorithm is perfect …

    I know what you are talking about.
    I remember the times when I was using BeyondCompare extensively and there were cases when I used to set manual sync points. Those were triggering re-comparison from the points set forward.

    I am much or less close to releasing a new compare plugin based on the current Compare but with lots of additions, extensions and fixes.
    Here are the x86 and x64 versions of my development build for you to try.
    Please manually delete your current ComparePlugin.ini config file and manually replace your ComparePlugin.dll with the new one.

    The new version doesn’t have the possibility to turn off and then back on the vertical sync (it actually does the vertical sync itself without relying on Notepad++ because of the complicated alignment) but it has another function that might be what you are looking for.
    It is called Compare Selections and what it does is simply comparing only the selected lines portion of the two files.
    So your use case might look like this:

    1. Compare the whole files.
    2. When you find your “stanza” or manual compare point select the lines after it in both files (or only the lines of the stanzas you want compared) and do Compare Selections.

    Tell me if it works for you.
    Any other feedback is appreciated as well.

    BR



  • Hello @pnedev
    This version of the plugin works without freezes, unlike “ComparePlus”!



  • @pnedev
    The old version of ComparePlugin 2.0 still runs faster than ComparePlugin 3.0



  • @andrecool-68

    This version of the plugin works without freezes, unlike “ComparePlus”!

    i can still reproduce the freeze you discovered, when comparing english.xml with russian.xml using the new ComparePlugin.dll from above, same as ComparePlus, but maybe a few seconds faster.

    the freeze happens for me, when reaching about the middle of the progress bar, close to the cancel button.
    after the freeze, the progress bar jumps right to the end.

    does it run fast for you now ?

    @pnedev

    many thanks.
    as i can see this build is called Compare again, and not ComparePlus.

    will you make two separately developed projects, or is it just temporary, and everything above 2.0 will be called ComparePlus ?

    big thanks, your work is very appreciated. 👍
    best regards.



  • @Meta-Chuh
    Here is a comparison ComparePlugin 2.0 ComparePlugin 3.0 and builds the latest version of ComparePlus
    The first version of the ComparePlus plugin generally hung for 2 minutes (this project was not preserved)

    Imgur

    Imgur

    Imgur



  • @pnedev said:

    Compare Selections. Tell me if it works for you.

    Oh, that’s just awesome. I will now be taking the effort to do my compares using this plugin via samba shares, rather than living with the outdated diff tools on the linux box, a lot more often than I used to.

    Thank you.



  • @pnedev
    Notepad ++ with the version of the plugin ComparePlugin 3.0 hangs tight!

    Notepad++ v7.6.6 (64-bit)
    Build time : May 1 2019 - 23:51:03
    Path : C:\Users\Uzeer\Desktop\npp.7.6.6\x64\notepad++.exe
    Admin mode : ON
    Local Conf mode : ON
    OS : Windows 7 (64-bit)
    Plugins : ComparePlugin.dll DSpellCheck.dll HTMLTag.dll JSMinNPP.dll MarkdownViewerPlusPlus.dll mimeTools.dll NppConverter.dll NppExport.dll NppMarkdownPanel.dll PluginManager.dll VisualStudioLineCopy.dll XMLTools.dll _CustomizeToolbar.dll

    ==================================================
    Файл процесса     : notepad++.exe
    Событие           : Не отвечает и была закрыта
    Время события     : 08.05.2019 16:13:59
    Пользователь      : Uzeer
    Путь к процессу   : C:\Users\Uzeer\Desktop\npp.7.6.6\x64\notepad++.exe
    ==================================================
    Version=1
    EventType=AppHangB1
    EventTime=132017948399693149
    ReportType=3
    Consent=1
    ReportIdentifier=23f06d3c-7193-11e9-b847-902b343f04b6
    IntegratorReportIdentifier=23f06d3d-7193-11e9-b847-902b343f04b6
    Response.type=4
    Sig[0].Name=Имя приложения
    Sig[0].Value=notepad++.exe
    Sig[1].Name=Версия приложения
    Sig[1].Value=7.6.6.0
    Sig[2].Name=Отметка времени приложения
    Sig[2].Value=5cca06f7
    Sig[3].Name=Сигнатура зависания
    Sig[3].Value=84b2
    Sig[4].Name=Тип зависания
    Sig[4].Value=0
    DynamicSig[1].Name=Версия ОС
    DynamicSig[1].Value=6.1.7601.2.1.0.768.3
    DynamicSig[2].Name=Код языка
    DynamicSig[2].Value=1049
    DynamicSig[22].Name=Доп. сигнатура зависания 1
    DynamicSig[22].Value=84b229ed73cc04a1d4d457685b853177
    DynamicSig[23].Name=Доп. сигнатура зависания 2
    DynamicSig[23].Value=c3d7
    DynamicSig[24].Name=Доп. сигнатура зависания 3
    DynamicSig[24].Value=c3d77a4a6a5eadb9dbdbd155b5d197fc
    DynamicSig[25].Name=Доп. сигнатура зависания 4
    DynamicSig[25].Value=84b2
    DynamicSig[26].Name=Доп. сигнатура зависания 5
    DynamicSig[26].Value=84b229ed73cc04a1d4d457685b853177
    DynamicSig[27].Name=Доп. сигнатура зависания 6
    DynamicSig[27].Value=c3d7
    DynamicSig[28].Name=Доп. сигнатура зависания 7
    DynamicSig[28].Value=c3d77a4a6a5eadb9dbdbd155b5d197fc
    UI[3]=Notepad++ : a free (GNU) source code editor не отвечает
    UI[4]=Windows может поискать решение проблемы в Интернете. При закрытии не отвечающей программы может быть потеряна несохраненная информация.
    UI[5]=Выполнить поиск решения и закрыть программу
    UI[6]=Выполнить поиск решения и закрыть программу
    UI[7]=Закрыть программу
    LoadedModule[0]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\notepad++.exe
    LoadedModule[1]=C:\Windows\SYSTEM32\ntdll.dll
    LoadedModule[2]=C:\Windows\system32\kernel32.dll
    LoadedModule[3]=C:\Windows\system32\KERNELBASE.dll
    LoadedModule[4]=C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_fa396087175ac9ac\COMCTL32.dll
    LoadedModule[5]=C:\Windows\system32\msvcrt.dll
    LoadedModule[6]=C:\Windows\system32\GDI32.dll
    LoadedModule[7]=C:\Windows\system32\USER32.dll
    LoadedModule[8]=C:\Windows\system32\LPK.dll
    LoadedModule[9]=C:\Windows\system32\USP10.dll
    LoadedModule[10]=C:\Windows\system32\SHLWAPI.dll
    LoadedModule[11]=C:\Windows\system32\SHELL32.dll
    LoadedModule[12]=C:\Windows\system32\dbghelp.dll
    LoadedModule[13]=C:\Windows\system32\VERSION.dll
    LoadedModule[14]=C:\Windows\system32\CRYPT32.dll
    LoadedModule[15]=C:\Windows\system32\MSASN1.dll
    LoadedModule[16]=C:\Windows\system32\WINTRUST.dll
    LoadedModule[17]=C:\Windows\system32\RPCRT4.dll
    LoadedModule[18]=C:\Windows\system32\SensApi.dll
    LoadedModule[19]=C:\Windows\system32\COMDLG32.dll
    LoadedModule[20]=C:\Windows\system32\ADVAPI32.dll
    LoadedModule[21]=C:\Windows\SYSTEM32\sechost.dll
    LoadedModule[22]=C:\Windows\system32\ole32.dll
    LoadedModule[23]=C:\Windows\system32\IMM32.DLL
    LoadedModule[24]=C:\Windows\system32\MSCTF.dll
    LoadedModule[25]=C:\Windows\system32\api-ms-win-core-synch-l1-2-0.DLL
    LoadedModule[26]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\SciLexer.dll
    LoadedModule[27]=C:\Windows\system32\OLEAUT32.dll
    LoadedModule[28]=C:\Windows\system32\Msimg32.DLL
    LoadedModule[29]=C:\Windows\system32\uxtheme.dll
    LoadedModule[30]=C:\Windows\system32\dwmapi.dll
    LoadedModule[31]=C:\Windows\system32\CRYPTBASE.dll
    LoadedModule[32]=C:\Windows\system32\WindowsCodecs.dll
    LoadedModule[33]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\ComparePlugin\ComparePlugin.dll
    LoadedModule[34]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\DSpellCheck\DSpellCheck.dll
    LoadedModule[35]=C:\Windows\system32\WININET.dll
    LoadedModule[36]=C:\Windows\system32\api-ms-win-downlevel-user32-l1-1-0.dll
    LoadedModule[37]=C:\Windows\system32\api-ms-win-downlevel-shlwapi-l1-1-0.dll
    LoadedModule[38]=C:\Windows\system32\api-ms-win-downlevel-version-l1-1-0.dll
    LoadedModule[39]=C:\Windows\system32\api-ms-win-downlevel-normaliz-l1-1-0.dll
    LoadedModule[40]=C:\Windows\system32\normaliz.DLL
    LoadedModule[41]=C:\Windows\system32\iertutil.dll
    LoadedModule[42]=C:\Windows\system32\api-ms-win-downlevel-advapi32-l1-1-0.dll
    LoadedModule[43]=C:\Windows\system32\USERENV.dll
    LoadedModule[44]=C:\Windows\system32\profapi.dll
    LoadedModule[45]=C:\Windows\system32\WS2_32.dll
    LoadedModule[46]=C:\Windows\system32\NSI.dll
    LoadedModule[47]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\HTMLTag\HTMLTag.dll
    LoadedModule[48]=C:\Windows\system32\netapi32.dll
    LoadedModule[49]=C:\Windows\system32\netutils.dll
    LoadedModule[50]=C:\Windows\system32\srvcli.dll
    LoadedModule[51]=C:\Windows\system32\wkscli.dll
    LoadedModule[52]=C:\Windows\system32\SHFolder.dll
    LoadedModule[53]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\JSMinNPP\JSMinNPP.dll
    LoadedModule[54]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\MarkdownViewerPlusPlus\MarkdownViewerPlusPlus.dll
    LoadedModule[55]=C:\Windows\SYSTEM32\MSCOREE.DLL
    LoadedModule[56]=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscoreei.dll
    LoadedModule[57]=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
    LoadedModule[58]=C:\Windows\system32\MSVCR120_CLR0400.dll
    LoadedModule[59]=C:\Windows\assembly\NativeImages_v4.0.30319_64\mscorlib\b308b9c61f65cf2dfd876031ee385ba4\mscorlib.ni.dll
    LoadedModule[60]=C:\Windows\system32\api-ms-win-core-xstate-l2-1-0.dll
    LoadedModule[61]=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clrjit.dll
    LoadedModule[62]=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\diasymreader.dll
    LoadedModule[63]=C:\Windows\assembly\NativeImages_v4.0.30319_64\System\095a3392942c3d4eb888e6a32036acd8\System.ni.dll
    LoadedModule[64]=C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Drawing\dcbadb02f6000b436f1cb0fb736df3ee\System.Drawing.ni.dll
    LoadedModule[65]=C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Windows.Forms\fb9f08a1fa8e62ae099d80c57ace90d2\System.Windows.Forms.ni.dll
    LoadedModule[66]=C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\ccc9e0855af638ecf77291cf01c10b59\System.Core.ni.dll
    LoadedModule[67]=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\nlssorting.dll
    LoadedModule[68]=C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Configuration\7d75083427584fe395779e2da37e26b0\System.Configuration.ni.dll
    LoadedModule[69]=C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Xml\8821b72d5d51079acf96e90c4af19a96\System.Xml.ni.dll
    LoadedModule[70]=C:\Windows\system32\bcrypt.dll
    LoadedModule[71]=C:\Windows\system32\CRYPTSP.dll
    LoadedModule[72]=C:\Windows\system32\rsaenh.dll
    LoadedModule[73]=C:\Windows\WinSxS\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.17514_none_2b24536c71ed437a\gdiplus.dll
    LoadedModule[74]=C:\Windows\system32\CLBCatQ.DLL
    LoadedModule[75]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\mimeTools\mimeTools.dll
    LoadedModule[76]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\NppConverter\NppConverter.dll
    LoadedModule[77]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\NppExport\NppExport.dll
    LoadedModule[78]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\NppMarkdownPanel\NppMarkdownPanel.dll
    LoadedModule[79]=C:\Windows\system32\RpcRtRemote.dll
    LoadedModule[80]=C:\Windows\System32\ieframe.dll
    LoadedModule[81]=C:\Windows\System32\api-ms-win-downlevel-shell32-l1-1-0.dll
    LoadedModule[82]=C:\Windows\system32\SXS.DLL
    LoadedModule[83]=C:\Windows\system32\api-ms-win-downlevel-shlwapi-l2-1-0.dll
    LoadedModule[84]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\PluginManager\PluginManager.dll
    LoadedModule[85]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\VisualStudioLineCopy\VisualStudioLineCopy.dll
    LoadedModule[86]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\XMLTools\XMLTools.dll
    LoadedModule[87]=C:\Windows\system32\OLEACC.dll
    LoadedModule[88]=C:\Windows\system32\WINMM.dll
    LoadedModule[89]=C:\Windows\system32\WINSPOOL.DRV
    LoadedModule[90]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\XMLTools\libs\libiconv-2.dll
    LoadedModule[91]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\XMLTools\libs\zlib1.dll
    LoadedModule[92]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\XMLTools\libs\libwinpthread-1.dll
    LoadedModule[93]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\XMLTools\libs\libxml2-2.dll
    LoadedModule[94]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\XMLTools\libs\libxslt-1.dll
    LoadedModule[95]=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\plugins\_CustomizeToolbar\_CustomizeToolbar.dll
    LoadedModule[96]=C:\Windows\system32\PROPSYS.dll
    FriendlyEventName=Не отвечает и была закрыта
    ConsentKey=AppHangXProcB1
    AppName=Notepad++ : a free (GNU) source code editor
    AppPath=C:\Users\Uzeer\Desktop\npp.7.6.6\x64\notepad++.exe
    ReportDescription=Ошибка привела к остановке взаимодействия программы с Windows.


  • Hello all,

    Thank you for the feedback, I appreciate it.

    @Meta-Chuh ,

    will you make two separately developed projects …

    No, I just linked here a state of the development before the transition to the new name. It is to ease the manual installation and reduce the possibility for conflicts if one has both ComparePlugin and ComparePlus installed.
    Beside that, ComparePlus current development state is not quite stable because of the ongoing changes.

    @andrecool-68 ,

    This is just a development version but nevertheless it shouldn’t hang.
    I’m kind-of confused because you are saying it is faster than ComparePlus (meaning it works) but then you say it hangs.
    Does it hang every time you compare the same files?
    Could you please try removing the other plugins and keep just the development ComparePlugin (v3 RC) and test again?
    I don’t usually test x64 build myself as I don’t have such setup.
    Thanks.

    Just FYI, the development compare (no matter if v3 RC or ComparePlus) is considerably slower than Compare v2 when comparing files with lots of replacement lines because it tries to “intelligently” find the changed lines (which brings more accuracy on the price of slower compare). As I said, the compare is perceived to be slower only in the case there are lots of replacements and lines that “look” similar.
    To get an idea, look at the following compare excerpt screenshots (first Compare v2, followed by ComparePlus):

    Compare v2

    ComparePlus

    As you can see from the images, Styler and Prefix mode sections are with changed order and ComparePlus tries to match the commands IDs as well (not yet perfect but at least better compare results than Compare v2).

    I’m still in the process of developing the smart change detection and I will try to make a good compromise between accuracy and compare speed.

    BR



  • Seems like image link sharing failed.

    How can I do this?
    Thanks.



  • @pnedev
    Removed all plugins except ComparePlugin 3.0, and periodically Notepad ++ hangs.

    Imgur



  • @pnedev

    i think you can not embed google drive images, as they don’t provide a static image url to e.g. ComparePlus.png.

    best regards



  • @Meta-Chuh said:

    google drive

    Plus google drive is simply bad because so many corporations block it; you may not get the best answers if the best answerers can’t see it.



  • The Compare 3.0 looks like it will work.

    The only issue I think is on the Notepad++ Side.

    The Selecting the Sections requires some extra work, unless I am missing something.

    So now I open Both Files and “Move/Clone Current Document” -> “Move to Other View”

    Then on the Left View Do a Find for the
    Beginning of what I want to Compare.
    Then do the
    “Edit” -> “Begin/End Select” – Start Selection

    Then Scroll Down to the End of the Section in Question.
    “Edit” -> “Begin/End Select”. – End Selection

    Then repeat on the Right View Do a Find for the
    Beginning of what I want to Compare.
    Then do the
    “Edit” -> “Begin/End Select” – Start Selection

    Then Scroll Down to the End of the Section in Question.
    “Edit” -> “Begin/End Select” – End Selection

    Then “Plugins” -> “Compare” -> “Compare Selections”

    So once in this mode, it works well.

    It is just a case of additional steps that have to be accomplished if the Stanza’s Don’t Layout the Same.

    Also someone had a question about recomparing when breaking and re-establishing the Sync.
    Essentially the first Compare pass would mark up the Text in the Various Colors. Then when moving the two sides Separately, we did not want it to run a compare again, just keep the Color Markup that was alread processed.



  • Hello, @pnedev, and All,

    Thank you so much for the future comparePlugin v3.0, with quite a lot of new features ;-)) Still testing it !

    I’m intrigued by the new option Highlight Diffs on Character Level ! What does this mean ?

    Good luck in your coding process !

    Best Regards,

    guy038



  • @Meta-Chuh ,

    Thanks for helping with embedding the images.

    @andrecool-68 ,

    Removed all plugins except ComparePlugin 3.0, and periodically Notepad ++ hangs.

    But it doesn’t crash like before, right?
    I’ll look into it, thanks.

    @Jeff-Miller ,

    Yes, unfortunately that’s the case with Compare 3. You need to select manually the sections you are focusing on. Disabling and re-enabling vertical scroll sync in Compare 3 is something that might not be that easy.

    Rewriting part of my previous post here to make images directly visible:


    Just FYI, the development compare (no matter if v3 RC or ComparePlus) is considerably slower than Compare v2 when comparing files with lots of replacement lines because it tries to “intelligently” find the changed lines (which brings more accuracy on the price of slower compare). As I said, the compare is perceived to be slower only in the case there are lots of replacements and lines that “look” similar.
    To get an idea, look at the following compare excerpt screenshots (first Compare v2, followed by ComparePlus):

    Compare v2

    ComparePlus

    As you can see from the images, Styler and Prefix mode sections are with changed order and ComparePlus tries to match the commands IDs as well (not yet perfect but at least better compare results than Compare v2).

    I’m still in the process of developing the smart change detection and I will try to make a good compromise between accuracy and compare speed.



  • This post is deleted!


  • Hi @guy038 ,

    Thank you.

    I’m intrigued by the new option Highlight Diffs on Character Level ! What does this mean ?

    It shows the differences on character level instead of “word” level. It can help finding the exact character mismatch between two very similar words but it is particularly useful if you compare hex sequences.

    Look at the following example of compare results with Highlight Diffs on Character Level OFF and ON respectively:

    BR



  • Hi, @pnedev, and All,

    Indeed, your pictures are very explicative ;-)) It’s easy to see the benefit of that option, in some cases :

    • With this option OFF, it supposes that lines 5 to 7 are completely different, so that 3 lines were added in the hex 1.txt file and 3 lines were deleted in the hex 2.txt file

    • With that option ON, it supposes that lines 5 to 7 are rather identical and that only 2 single characters are different, in each line, between the two files

    Regards,

    guy038



  • Hello @pnedev,

    In your post, above :

    https://community.notepad-plus-plus.org/post/43047

    The x86 and x64 links to the two versions, of your future Comparev3.0 plugin, seem obsolete, by now !

    Did you do it, on purpose ?

    Just because I want to get the x64 version, … for my future Windows10 laptop ;-))

    Good developpment of your new build !

    Best Regards,

    guy038



  • Hi @guy038 ,

    No, it was not me. The AppVeyor has automatically deleted the binaries because a lot of time had passed (6 months is the builds life span AFAIR).
    But you can probably use the latest development version: x64 or x86.

    Oh, It is now called ComparePlus but I know that you know how to install it ;)

    Thank you and
    BR,
    Pavel


Log in to reply