Compare plugin is back!
It’s been a year since I started working on fixing Compare plugin’s stability issues but because I like it a lot I got way further and did a serious code rework/refactoring and made many improvements/fixes. Now finally I’m pleased to announce the new ComparePlugin version 2.0.0.
First I’d like to thank several people:
- all Compare plugin developers up to now:
– its original author, Ty Landercasper for his great idea and the creation of the plugin
– its official maintainer, Jean-Sebastien Leroy for his work and for adding me as plugin contributor
– ufo (@ufo) for his plugin improvements and for adding the initial versions of Git Diff and SVN Diff commands
- Yaron (@Yaron) who actually involved me initially in Compare plugin’s improvement for all his commitment to making it a piece of art, for his countless suggestions, for all the discussions (we’ve had several tough ones :)), issue reports and testing and for supplying all the plugins’ icons. I would say that he’s been a Compare plugin’s QA throughout the whole development process.
- Waldi Ravens (@xylographe) for the discussions, suggestions and issue reports, for the VS2015 project addition and the help with UTF-8
- Christian Grasser (@chcg) for making the 64-bit compatibility changes, adding the README and the AppVeyor and Travis automatic build and deployment configs and helping with Git library issues.
Here are the Compare plugin v2.0.0 release notes:
- Major Compare plugin re-work, big portions of the code are re-written.
- Fix crashes and unstable behavior.
- Fix memory leaks.
- Improved compare algorithm in both accuracy and speed.
- Reduced memory usage.
- Support for unlimited active compares.
- ‘Set First’ command added to select the first file to compare (that removes the need to manually move one of the files to the other view before comparing).
- Better N++ notifications handling - closing or moving compared files is handled appropriately and doesn’t lead to weird/unexpected results.
- Proper file positions restoring after closing the compare.
- Greatly improved Navigation bar.
- Improved Compare progress behavior - it now accurately represents the compare process.
- Improved settings dialog - the plugin behavior / results presentation is more customizable now.
- Better results synchronization in case of wrap around active setting and in general.
- Added compare toolbar icons (thanks to Yaron).
- Better compare results line margin symbols (thanks to Yaron).
- Better default diff colors (thanks to Yaron).
- Updated for 64-bit build (thanks to Christian Grasser - chcg).
- Added VS2015 project (thanks to Waldi Ravens - xylographe).
- Numerous bug fixes and improvements.
You can find the x86 variant of the plugin through the Plugin Manager (when its list gets updated) and both x86 and x64 variants from https://github.com/pnedev/compare-plugin/releases/tag/v2.0.0.
The official Compare plugin project is still https://github.com/jsleroy/compare-plugin but I had problems making automatic AppVeyor deployment there, that’s why the release is on my project’s clone.
If you’d like to do it, you can donate here.
- all Compare plugin developers up to now:
Most Notepad++ users would find a text-comparing tool available within the editor quite useful.
Over the last year Pavel Nedev has been painstakingly fixing tens of bugs, meticulously addressing numerous issues and most cleverly optimizing and polishing Compare Plugin.
The result - Compare Plugin v2 - is a true masterpiece.
Users who Compare frequently would surely understand, appreciate and agree.
The work Pavel has undertaken and accomplished is enormous.
A task of such a scale would normally require a full team of talented developers.
This has been a one-man-show; a brilliant performer and an excellent show.
Thank you. I am grateful.
Now, Pavel, it’s time to move on.
Microsoft? Mozilla? - We want better OS and Browsers. :)
I wish you the very best wherever you go and whatever you do.
Nice news to know! It’s time to update my compare plug-in.
Talking about where to move on, personally, I wish there were a better shortcut mapper, that, when I press a hot key combination, it tells me what it is already mapped to.
Or maybe the regex engine?
Because @guy038, the regex master, said in this page:
Of course, I long for, ( since more than 3 years ! ), that this version would be fully integrated with, both, the latest version of N++ and Scintilla. Unfortunately, up to now, NO ONE feels interesting to implement the new regex François-R Boyer's code
Used this plug-in a long time.
Tried the new one. big like. thanks.
Thx, now this plugin is realy easy and convenient to use.
When installing the ComparePlugin.dll on a Win7 x64 machine, I receive an error that, “It has not been possible to
validate the integrity of dll”.
Is this a known issue?
Thanks for your support (and the plugin development)
this means that the version you download has a different checksum compared
to the one plugin manager knows. This happens when plugin developer has a new
version of the plugin but plugin manager hasn’t yet received/loaded the new checksum.
Hello Claudia and Grady,
Thanks for the explanation.
The bottom line of Claudia’s reply is that Compare Plugin v2 is absolutely safe (and great! :) ).
Thank you Pavel Nedev.
AFAIK at the moment you cannot use the N++ Plugin Manager to download 64-bit plugins.
If you need the 64-bit Compare plugin version please get it from here: https://github.com/pnedev/compare-plugin/releases/download/v2.0.0/ComparePlugin_v2.0.0_X64.zip.
Copy the archive contents to your N++ install path -> plugins sub-folder.
I’m getting the same issue as @Grady-Cooper. This is running 32-bit Notepad++ on Windows 10. Although there are workarounds, is there any chance that the checksum can get updated so that the Plugin Manager can let it through?
Still, thanks for your efforts. :)
I did the required changes, hopefully the Plugin Manager list will get updated soon.
Thanks for your efforts!
FYI the Plugin Manager list is apparently updated once every two weeks–I just checked and the next update is luckily scheduled in just 3 hours from now (at 20:00 UTC).
Dl links on GitHub appear to be dead. Anyone else having issues?
What exactly do you mean? Can you post the link you are trying to access here?
Hi and … OMG is it a way to get the older version back?
I loved this plugin cause i work on a script exist in 2 versions, with only UI differences and it’s really usefull to modify fast the few differences.
Anyway, since the new version, an update from a few days ago, this plugin is simply butchering my code, putting spaces and new lines everywere, making the whole thing after one or two update impossible to see what you are doing.
I really prefered the old one, much more clearer and not messing with my file. Lost a day in developpement simply fighteing with the plugin and restoring what it messed to normal.
Hello @Shalassan ,
You can get the old version from https://sourceforge.net/projects/npp-compare/files/126.96.36.199/ComparePlugin.v188.8.131.52.bin.zip/download.
Replace the ComparePlugin.dll in your Notepad++ install folder plugins subfolder with the one from the zip archive.
FYI: The empty spaces and lines that the new version inserts are for diffs alignment purposes. Those are not put in your file permanently - when you save the file the inserted blanks are not included and when you close the compare your file is cleared from all alignment spaces inserted. Sorry for the inconvenience.
Have you thought about using annotations to simulate blank lines? That way blank lines aren’t needed but you can still space out lines so that they match up.
@pnedev has fixed tens of bugs and introduced many great new features in v2.
CP users should be very grateful for his amazing work.
If I understand you correctly, you were using the old version with the option “Align Matches” unchecked.
By default, this option is checked and blank lines are inserted in the old version as well.
You can politely request help as to using the excellent new version.
Hi @dail ,
I didn’t imagine the annotations could help with aligning. It’s worth trying, thanks for pointing that out.