It's worth noting that the exact steps to follow can differ depending on the plugin. (E.g. I've just manually installed XML Tools and this involved copying some files from a subfolder into the root Notepad++ installation directory.) So would recommend the following:-
I had to create a folder for the plugin and extract the .dll into the folder.
The folder must have the same name (case sensitive) as the .dll.
For example, create a folder called JSMinNPP and place the JSMinNPP.dll in that folder.
(It doesn't work if the .dll is put directly in the plugins folder.)
My frustration in being unable to get a plugin for Notepad++ to work came from not realizing that the DLL for the plugin had to be installed directly in the C:\Program Files (x86)\Notepad++\plugins directory, and NOT into a subfolder below that, named for the plugin.
I tried that with the plugin I was attempting to install (autosave), and just couldn't get it to work. But then thanks to an answer from Steve Chambers above, I tried putting the DLL directly into the \plugins folder and PRESTO! It Works.
If the plugin you want to install is not listed in the Plugins Admin, you may still install it manually. The plugin (in the DLL form) should be placed in the plugins subfolder of the Notepad++ Install Folder, under the subfolder with the same name of plugin binary name without file extension.
If the plugin you want to install is not listed in the Plugins Admin, you may still install it manually. The plugin (in the DLL form) should be placed in the plugins subfolder of the Notepad++ Install Folder, under the subfolder with the same name of plugin binary name without file extension. For example, if the plugin you want to install named myAwesomePlugin.dll, you should install it with the following path: %PROGRAMFILES(x86)%\Notepad++\plugins\myAwesomePlugin\myAwesomePlugin.dll
Download the plugin, and unzip to some local folder (e.g. Downloads). Make sure you download the correct plugin for your Notepad++ (64 or 32 bit - e.g. see ? -> About Notepad++ to find if you are 64-bit)
I installed the newest version of Notepad++ on my Win 8.1 Professional. The version is called "Notepad++ Je suis Charlie edition, Build Time Jan 10 2015 - 17:20:21". The Plugin Manager delivered with that version of Notepad++ is 1.0.8. Now I want to add the "Compare" plugin:
Attempting to update the plugin manager, as detailed by other answers, did not resolve the issue for me and the "Installation of Compare failed" persisted.
I was able to manually install the plugin, though.
The CSV Lint plug-in for Notepad++ was updated recently, which I think can be useful to anyone working with datasets and databases. I've created this plugin and have posted about it before, and there have been several updates and added features since then.
My project references and uses functions from a.NET dll which I do not have the source code for (I'm combining the assemblies with ILRepack, per info I've found on the internet that indicates that NPP doesn't do well finding dll's external to the plugin itself). Is there something in this external dll that may be making the overall plugin to be considered ANSI? Is there something I can look at in that dll to see it's UNICODE vs ANSI info?
I'd like to play a bit with Notepad++ ActiveX, and I'm wondering, whether it is possible to use it as ActiveX control inside the VI. I've installed and registered Notepad++ ActiveX plugin, but I can not find instance of this class via ActiveX Container.
Just small update - as it is found, in LabVIEW anyway neither container for front panel, nor property/invoke nodes on the block diagram are not available for this ActiveX Notepad++ plugin...
So I actually built a JSL plugin for notepad++. I'll say how to install it below, but might I recommend the JSL for VSCode extension that we moved to instead. It's under (semi-)active development and has much more extensibility. You can find it by downloading VSCode and searching extensions for "JMP" or in the VSCode marketplace.
Notepad++ is very extensible using so called plugins. Plugins are small or bigadditions to Notepad++ to enhance its functionality. Notepad++ comes bundledwith a few plugins (when using the installer, you can choose which ones to add),but you can always add your own or remove some. The plugins are located in thePlugins directory in the main Notepad++ installation directory. They are DLLfiles and simply removing or adding them is enough.
The Plugins Admin allows you to easily install plugins that are in thePlugins List. To do so, place a check mark next to the Plugin(s) you wish toinstall, then select the Install button.
If the plugin you want to install is not listed in the Plugins Admin, you maystill install it manually. The plugin DLL file should be placed inthe plugins subfolder of the Notepad++ Install Folder, under the subfolderwith the same name of plugin binary name without file extension.
Note: The Windows OS instinctively mistrusts DLLs from the internet (for very good reasons), and will not allowapplications (like Notepad++) use that DLL. Assuming you trust the source of the DLL: Before starting Notepad++and after downloading and manually installing a plugin in the right location, you need to right-click the DLL andvisit the Properties context menu; if the Unblock option is shown, then click the checkbox and clickApply, then OK; this will unblock the DLL so that Windows will allow Notepad++ to use it.
This takes a single DLL and puts it in the right directory, then tells you that you have torestart; if you do not manually exit Notepad++ (File > Exit or equivalent) and then restartNotepad++ from your shortcut or Start Menu, the plugin will not be visible in the Plugins menu.
Note: To clarify, this only imports a single DLL file. If your plugin has other configfiles or documentation files or additional DLLs or resource files, this method will notput those files in the right place, and then the plugin will not fully function. Onlyuse this menu to install the plugin if your plugin only has the single DLL in the zipfile.
Whether you start from one of the templates above, or are making a new version of a plugin or copying from an existing plugin as your starting point, you should always check the Notepad++ repository for the up-to-date copies of the message header files (Notepad_plus_msgs.h and Scintilla.h, plus the Sci_Position.h header required by Scintilla.h): Those files may have been updated compared to the copy that was in your template or previous plugin version, and you should always start from the most recent version of those headers.
A lexer plugin is a kind of extension compared to a normal plugin,i.e. in addition to all the functions already mentioned, additional ones have to be exported and also an XML file defining the styles has to be generated.
If you are starting with an ILexer4 lexer defined as below, to convert to ILexer5, you should update Scintilla headers to Scintilla5, and add a CreateLexer function that returns the pointer to the ILexer5 interface. In the future, Notepad++ may add support for the GetLibraryPropertyNames, SetLibraryProperty and GetNameSpace functions; if lexer-plugin developers find a good reason and want that support, they should make an official feature request.
In order for Notepad++ to know how to color which style, an XML file with the same name as the lexer must be created in addition to the original lexer dll.E.g. if the Lexer plugin is called MyNewLexer.dll, the XML file must be called MyNewLexer.xml and must be present in the plugin config directory.
API XML files, which are used for autocompletion by Notepad++, as well as funtionlist XML files can,currently, not be used by plugin lexers.So it makes sense to implement these functionalities as well.
When Notepad++ loads the Lexer plugin it is expected that the corresponding styles XML fileis also present in the plugin config directory.Since, for whatever reason, this file might not be present, it is a good idea to check this in the setInfo callback and to react accordingly
Built-in Plugins Admin shows the list of available plugins, allows usersto install new plugins and to update/remove installed plugins.It needs Plugin List (see next section) to work.
A list in JSON format wrapped in a dll contains the most poplular Notepad++ plugins.This list which is maintained by the team, is also an open source project hostedin the GitHub: -plus-plus/nppPluginList/.Any plugin is welcome to join in the list.
where minimum and maximum are version numbers; if minimum is empty, it willmean that the plugin will work with any version of Notepad++ before (and including) the maximum;if maximum is empty, it will mean that the plugin will work with any version ofNotepad++ after (and including) the minimum; you cannot set both empty.The version numbers will be dotted versions, such as 8.0, 8.2, 8.3.1 . If youhave spaces anywhere between the [] brackets, it will not work.
The old-versions-compatibility will explain the ranges of versions for your plugin that worked with older versions of Notepad++. This is essentially giving the last pair of Plugin & Notepad++ versions that should work.
(Where the first line gives the recent plugin version, the second line is telling what versions of Notepad++ the new plugin works with, and the third line explains that older versions of your plugin work with Notepad++ versions up through and including 8.2.1.)
If both of those attributes are missing, it is interpreted that your plugin has no API calls that are incompatible with any version of Notepad++, and it will run with and not crash any version of Notepad++. Before submitting a plugin without those attributes, please be certain of the historical compatibility. Thank you.
df19127ead