How to compare two files in Notepad++ - file

I want to compare values from two different files.
In Notepad++ version 5.0.3 we had shortcut button Alt+d but in version 6.6.8 I cannot find any option to compare.
Also let me know which version is most stable.

There is the "Compare" plugin. You can install it via Plugins > Plugin Manager.
Alternatively you can install a specialized file compare software like WinMerge.

Update:
for Notepad++ 7.5 and above use Compare v2.0.0
for Notepad++ 7.7 and above use Compare v2.0.0 for Notepad++ 7.7, if you need to install manually follow the description below, otherwise use "Plugin Admin".
I use Compare plugin 2 for notepad++ 7.5 and newer versions. Notepad++ 7.5 and newer versions does not have plugin manager. You have to download and install plugins manually. And YES it matters if you use 64bit or 32bit (86x).
So Keep in mind, if you use 64 bit version of Notepad++, you should also use 64 bit version of plugin, and the same valid for 32bit.
I wrote a guideline how to install it:
Start your Notepad++ as administrator mode.
Press F1 to find out if your Notepad++ is 64bit or 32bit (86x), hence you need to download the correct plugin version. Download Compare-plugin 2.
Unzip Compare-plugin in temporary folder.
Import plugin from the temporary folder.
The plugin should appear under Plugins menu.
Note:
It is also possible to drag and drop the plugin .dll file
directly in plugin folder.
64bit: %programfiles%\Notepad++\plugins
32bit: %programfiles(x86)%\Notepad++\plugins
Update
Thanks to #TylerH with this update: Notepad++ Now has "Plugin Admin" as a replacement for the old Plugin Manager. But this method (answer) is still valid for adding plugins manually for almost any Notepad++ plugins.
Disclaimer: the link of this guideline refer to my personal web site.

I give the answer because I need to compare 2 files in notepad++ and there is no option available.
So first enable the plugin manager as asked by question here, Then follow this step to compare 2 files which is free in this software.
1.open notepad++, go to
Plugin -> Plugin Manager -> Show Plugin Manager
2.Show the available plugin list, choose Compare and Install
3.Restart Notepad++.
http://www.technicaloverload.com/compare-two-files-using-notepad/

Alternatively, you can install "SourceForge Notepad++ Compare Plugin 1.5.6".
It provides compare functionality between two files and show the differences between two files.
Link to refer : https://sourceforge.net/projects/npp-compare/files/1.5.6/

Update (2022-09-22): use the ComparePlus plug-in, and not the outdated Compare plug-in.
Demo:
Open 2 files side-by-side
Plug-ins -> ComparePlus -> Compare:
Features:
The Compare plug-in is no longer maintained:
Compare plugin will not be supported anymore (at least by me) because I consider it obsolete and because (as Peter Jones said) I am working on another plugin - ComparePlus that is Compare plugin’s successor.
For example, the Compare plug-in doesn't show the compared text clearly with dark mode:

2018 10 25. Update.
Notepad++ 7.5.8 does not have plugin manager by default. You have to download plugins manually.
Keep in mind, if you use 64 bit version of Notepad++, you should also use 64 bit version of plugin. I had a similar issue here.

If you installed Notepad++ with the Plugin Manager then its easy: open notepad++, go to
Plugin -> Plugin Manager -> Show Plugin Manager and then search/install the Plugin „compare“. Restart Notepad++
Tutorial:
https://youtu.be/8ESbIZbXI7I
If you do not have installed the Plugin Manager:
download the plugin manually :
https://github.com/pnedev/compare-plugin/releases/tag/v2.0.0_npp7.7
-Copy the contents of the zip file into Notepad++'s plugins installation folder (%Notepad++_program_folder%\Plugins). use the correct archive version based on your Notepad++ architecture - x86 or x64.
restart Notepad++

If you are looking for the latest release of Compare, here it is:
https://github.com/pnedev/compare-plugin/releases/latest

Related

Add build number to package version with `dotnet pack` in VSTS Build process

With a .NET Framework library you could specify a version with a wildcard and NUGET pack command would append the build date and version automatically when running a NUGET Build Task in VSTS.
[assembly: AssemblyVersion("1.0.*")]
NUGET PACK would generate a NUPKG file with a version like 1.0.6604.1234 appending the date number and a build ID.
NET Standard issues
In .NET Core and .NET standard the new .csproj format does not support this wildcard format.
We can't package with Nuget.exe (reason: this issue) but we can use dotnet pack except I need to auto-increment the build numbers. The dotnet Build Task in VSTS allows me to wholly replace the version number, but I want to retain the version in the csproj file, and just append a build number (as I used to).
I found that using <VersionPrefix>x.y</VersionPrefix> in the csproj file would work with nuget pack and I could then add the additional parameter VersionSuffix=$(Build.BuildNumber) to the pack task.
All looked good until the first dev updated the project version in the project properties dialog. Visual Studio ignored the VersionPrefix and set the <Version> tag - and the build number fix is ignored because a Version tag exists.
Is there a way to read the Version from the csproj? If so I could set the build property to Version=$(ProjectVersion).$(Build.BuildNumber) ?
Or are there alternative ways to handle auto-incrementing the build version when packaging?
First you can select Use an environment variable for Automatic package versioning, use your defined variable such as temp ($(build.buildNumber)) as Environment variable.
More details take a look at this link: Dotnet pack automatic package versioning build number clarification
Another way is using the "arguments" field in the dotnet CLI task, you can pass additional arguments to the dotnet cli.
Using --version-suffix $(Build.BuildNumber) will pass the build
number as version suffix. Make sure you don't have a <version>
element set in your csproj, but rather a <versionprefix> element.
The built version will look like versionprefix-versionsuffix, so for
example, if you have <versionprefix>1.2.3</versionprefix> and build
number 201805002, the built version will be 1.2.3-201805002. In this case do not select the automatic package versioning.
Thanks to #patricklu-msft for his suggestions.
There is it appears no built-in way to emulate the wildcard behaviour we previously had NUGET pack with dotnet pack, nor was there way to get the <Version> tag out of the project file.
So I've created a new VSTS Build task that does this: VersionTaskReader in the MarketPlace.
This extension can be pointed to a .csproj or .vbproj and will set an environment variable VERSION, and VERSION_BUILD which has the BUILDID appended. You can optionally add a prefix to make each instance different if needed.
For example, if your project contains <Version>1.1</Version> then the VERSION_BUILD would be something like 1.1.8680
Then the dotnet pack task can use the environment variable VERSION_BUILD in the versioning options screen, so that the build number automatically increments.

Problems deploying SecureInput MS Edge Extension native messaging sample

I am trying out SecureInput extension sample that demonstrates NativeMessaging capabilities in MS Edge browser extensions and I running into problems deploying the extension after building using VS community edition 2017. I don’t have Universal Windows Platform Apps development experience, so I apologize if there is a pretty obvious answer I am not aware of. But following readme.md in the sample doesn’t work, so posting this question here...
https://github.com/MicrosoftEdge/MicrosoftEdge-Extensions-Demos/tree/master/SecureInput
Steps followed…
Turned on developer mode in “Use Developer Features”
Turned on Enable extension developer features in Edge browser’s about:flags.
Downloaded the sample as a zip file to the local machine.
Copied SecureInput.html to my local webserver
Loaded SecureInput.sln in VS
community edition 2017 Out of two options.. InProc or OutOfProc, I
wanted to try InProc. So needed to select Project in
NativeMessagingHostInProcess in Build Configuration manager. Other
settings used... Debug - configuration; Any CPU – Active solution
platform; NativeMessagingHostInProcess – x64 project platform as I
was using 64 bit Windows and edge running as a 64 bit process as
well; Left rest as default.
With Debug Configuration and Any CPU Solution platform built the entire solution.
Deployment Summary
Built Entire SecureInput solution.
Installed AppX package by running
Add-AppxPackage -register [PathtoSecureInputSolutionFolder] NativeMessagingHostInProcess\bin\x64\Debug\AppxManifest.xml
No errors during building or while running Add-AppXPackage from elevated Power shell prompt.
Expected: At this point EdgeBrowser->MoreOptions->Extensions should list extension installed by AppX package (Deployment Summary/Step 2). =>> Doesn’t happen.
Few other details
I am using 64 bit Win 10 creators build (1703 – OS build 16063.128)
I am suspecting Add-AppxPackage failed to add the extension silently. Verbose flag doesn’t give me any clues either.
Get-AppXPackage shows newly added AppX package.
Name : ae24a957-5239-43b2-a36c-b96805a58ade
Publisher : CN=msft
Architecture : X64
ResourceId :
Version : 1.0.0.0
PackageFullName : ae24a957-5239-43b2-a36c-b96805a58ade_1.0.0.0_x64__2yx4q2bk84nj4
InstallLocation : [PathtoSecureInputSolutionFolder] \NativeMessagingHostInProcess\bin\x64\Debug
IsFramework : False
PackageFamilyName : ae24a957-5239-43b2-a36c-b96805a58ade_2yx4q2bk84nj4 PublisherId : 2yx4q2bk84nj4
IsResourcePackage : False
IsBundle : False
IsDevelopmentMode : True
IsPartiallyStaged : False
I would like to know if anyone got this sample working. If Microsoft Edge folks are monitoring stackoverflow, I really appreciate if someone can jump in to help your early adopters like me. :-)
With offline help from Chee Chen, we were able to figure out why SecureInput was not working. My sincere thanks to him for going out of his way to help. In my specific case, here are the things that went wrong.
URL manifest.json gives permissions to is case sensitive. I had a typo when I first entered the URL in edge browser very first time.. I typed in as SecureInput.html. Try cleaning the cache if you see that using lower case secureinput.html doesn't help.
When instructions didn't work right first time, I used Add-AppxPackage way of deploying the Extension. While doing that, I picked AppxManifest file in NativeMessagingHostInProcess\bin\x64\Debug\AppxManifest.xml instead of NativeMessagingHostInProcess\bin\x64\Debug\AppX\AppxManifest.xml. Something to watch out for and if you make the same mistake, make sure you uninstall the appx package completely and start all over again.
So here are my supplemental instructions for others trying the sample :-)
Make sure you selected right Platform as per your target test machine. Edge runs as 64 bit process so your extension needs to be targeted at that platform.
Make sure right AppServiceName is selected in PasswordInputProtection->Program.cs and Extension->background.js
I think PasswordInputProtection.csproj has a hardcoded Program files (x86) in its path, which will break if you try the sample on 32 bit machine. Edit the project file in notepad and fix it before you try.
Ensure NativeMessagingHost project's Output paths are correctly configured... It needs to be "bin\[Platform]\[Configuration]\AppX\" and not "bin\[Platform]\[Configuration]\"
Avoid typos if you can, because I see very little feedback or verbose logs on why things are not working.
Have you tried following the deployment steps in the documentation? The actual steps and ordering is important:
Build and deploy the NativeMessagingHostinProcess UWP app.
This will generate:
Necessary binaries and files needed for the UWP app.
The AppX folder.
The AppXManifest.xml based on the content of package.manifest. (The content of package.manifest in this sample has been edited to include the necessary entries for Edge extensions).
Build the PasswordInputProtection Desktop Bridge.
This will:
Build the binaries for this project
Trigger a post-build event that will copy the output of the exe to the AppX folder and copy the Extension folder to the AppX folder.
Now that the files are all ready to go, you will need to register the AppX.
There are two ways to accomplish this:
Run Add-AppxPackage from PowerShell: Add-AppxPackage -register [Path to AppX folder]\AppxManifest.xml
OR
Deploy the NativeMessagingHostInProcess project. Visual Studio will run the same PowerShell script to register the AppX from the folder.

Trying to set up a deployment package for silent uninstall of Notepad++ and installation of a new version

All of the below on Windows 7 Machines and regarding Notepad++ installation / uninstallation:
Uninstaller
When I try to uninstall using the command
if exist "C:\Program Files (x86)\Notepad++\uninstall.exe" "C:\Program Files (x86)\Notepad++\uninstall.exe" /S
there are some files left in the Notepad++ file afterward. Notepad++'s uninstaller, when run manually, prompts halfway through the uninstall asking "Do you want to keep your custom settings" and I'm thinking that the command may be choosing to answer this "Yes" by default. I'm wondering if there's an easy way to have it choose "No" here instead. If not, I can probably just delete the folder.
Installer
I'm running the installation using the 32 bit default .exe file from Notepad++ in a deployment package compiled in Lansweeper. What I'm noticing is that presently, the package executed the CMD uninstall command, but stops short of installing the new version. For reference, I've been using an installed 7.3.2 and the installer for 7.3.3 to test, so that it should uninstall the 7.3.2 and install 7.3.3 by the end of the package.
I'm wondering if the fact that there are a number of options in the Notepad++ installer could be the culprit here. If it is better to install via command line or to include some sort of configuration file I'm fine with either option, just not especially well-versed in doing them.
Notepad++ Installer requests the following during installation:
Select a language - should choose English
Choose Components - want to be able to customize selection of localization / auto complete / themes / context menu / plugins / auto update according to our requirements
Choose Components - Don't use Appdata, Allow Plugins to be loaded from Appdata, and Create Shortcut on Desktop should all remain unchecked
Run Notepad ++ - should be unchecked (checked by default)
All the other components that I can see are straightforward Next / I Agree buttons.
I'm hoping someone may be able to make helpful suggestions here as I've not had any experience with configuring silent installs with specific parameters. Notepad++ doesn't seem to have its own MSI and I won't use a third party one so some sort of batch or configuration file or flagging options in cmd if possible are the preferable options.
Please let me know if there's any additional information I can provide that may be helpful.
Thank you in advance.
If you just need to update to the latest version. It is quite simple. Run the newest installer again and it will automatically update older versions.
See
Silent Install Notepad++
I'm using the command:
start /wait npp.7.2.Installer.x64.exe /S
Didn't show any interface during silent installation.
Notepad kicks a secondary process that doesn't finish until success is evaluated.
try:
"%ProgramFiles(x86)%\Notepad++\uninstall.exe" /S
timeout 5

Portable Extensible Metadata (PEM) and Visual Studio 2013

In a previous project, I used the "Portable Extensible Metadata" tool. It was helpful in that it allowed me to store the label text and the tooltip text in the EMDX and show them in the WPF-UI. The feature to store the valuation is also nice, but I don´t need it urgently.
Now I use VS2013 and I can't install PEM anymore. How can I find a updated version of this extension? Where can I find the source code so that I can compile a custom-version for my project?
I am working on a project which involves the same setup, that is, PEM using VS2013.
Earlier when I was using VS2010, it gave me the option of product VS2010 only for this extension(pem.VSIX) to be installed to. Even now, when I have VS2013 installed on my machine, it gives the same option of installing this extension to VS2010 and not VS2013, as I tried uninstalling and re-installing this extension. Please refer to the screenshot.
Just to mention, the extension can be installed simply be double-clicking on it.
The following is what I did and it worked for me.
Look for PEM_VSIX2012 on the internet or just make changes to the VSIX for VS2010 that you have at your disposal. Open this archive using 7-Zip tool and you will find a bunch of files. Look for the file "extension.vsixmanifest" and edit it in the 7-Zip archive window itself. There's a tag as mentioned below along with the tags for VisualStudio versions.
You just need to add the VisualStudio Verion to it that you are using.
<SupportedProducts>
<VisualStudio Version="10.0">
<Edition>VST_All</Edition>
<Edition>Pro</Edition>
</VisualStudio>
<VisualStudio Version="11.0">
<Edition>VST_All</Edition>
<Edition>Pro</Edition>
</VisualStudio>
<VisualStudio Version="12.0">
<Edition>VST_All</Edition>
<Edition>Pro</Edition>
</VisualStudio>
</SupportedProducts>
Like I added the following to the "extension.vsixmanifest" file.
</VisualStudio>
<VisualStudio Version="12.0">
<Edition>VST_All</Edition>
<Edition>Pro</Edition>
</VisualStudio>
Next, as I stated earlier, you should be able to install the extension simply by double-clicking on it. But if that doesn't works out, try this:
Run 'Developer Command Prompt for VS2013' as Administrator
and use the VSIXInstaller tool to install the extension by running the following command:
VSIXInstaller "path_to_VSIX_file"
Now pack the contents back into a zip-archive. Make sure the archive have the VSIX extension.
And as shown in the image above, alongwith VS2010, VS2013 would also be shown for installing this extension to.
Hope this helps.

Firefox custom extension installer

i am searching for hours now, a way that could allow me to install (optionally) a custom firefox extension along with my software installation package.. i can't find anything useful tho. Tried the registry method, the -install-global-extension method, the "Copy to extensions path" method... but nothing seems to work.
Any ideas on how to let the user chose if he wants to install my extension after my package install is finished?
You have this tagged "batch" so I'm assuming you are looking for a way to install extensions from the command line using batch format.
What is the output if you were to use something like this?
for %%e in ("path to extensions\*.xpi") do "firefox.exe" -install-global-extension "%%e"
I have an Nsis installer that in one of its steps copies a Firefox extension to the extensions directory. That works for every Firefox version from 3.0 to 4.0.
First it finds out which is the directory for the default profile, following this pattern: %APPDATA%\Mozilla\Firefox\Profiles*.default. Once profile name is determined (for example "4v3vxq80"), it copies the extension to %APPDATA%\Mozilla\Firefox\Profiles\$1\extensions (where $1 is the profile name).
I think the key is that all these steps are performed when Firefox is not running (I check for a running firefox.exe at the beginning).
Let me know if you want the nsis code that does the trick.

Resources