Notepad++ on cloud

1-click AWS Deployment    1-click Azure Deployment


Overview

Notepad++ is a text and source code editor for use with Microsoft Windows. It supports tabbed editing, which allows working with multiple open files in a single window. The project’s name comes from the C increment operator. Notepad++ is distributed as free software. 

Notepad++ is a free, open source application for writing text. A powerful editor full of options, Notepad++ is ideal for programming as well as normal text.

Notepad++ works with tabs, so it’s very easy to work with multiple files open at the same time. Comparing texts is therefore very easy, and every line is numbered. Font size in Notepad++ can be increased simply by holding CTRL and the mouse wheel used to zoom in. Pressing F12 makes the current tab float above everything else in Windows.

For coding, Notepad++ recognizes many programming languages, and will automatically make something like HTML much easier to view by color coding the text. It also has an excellent find and replace tool. As a replacement for Window’s Notepad, NotePad++ is incredible, because it has so many more features and abilities, while still being incredibly lightweight and stable.

NotePad++ is a functional application, but it won’t win any prizes for looks, and many of the functions are only useful to programmers. However, anyone who writes text will find Notepad++ a useful tool, and much better than Windows Notepad.

KEY DETAILS OF NOTEPAD++

  • Edit several programming languages running under the MS windows environment 
  • Last updated on 03/06/20 
  • There have been 2 updates within the past 6 months 
  • The current version has 0 flag on VirusTotal 

 Notepad++ is a powerful, feature-packed text editor that more or less has everything Notepad needs but lacks (it can replace Notepad in Windows). It supports 27 programming languages, searches regular expressions, and supports syntax highlighting and folding, synchronized edits and views, and much more. 

 NOTEPAD++ UTILITY: 

  • Loads of options: Behind a clean face and busy but efficient toolbar, Notepad++ is a wonder of features and options. One favorite: Default Directory has two choices, Follow current document and Remember last directory. Another: The “old, obsolete” desktop icon is a setup option. 
  • Options to load: We could set Notepad++ not to use %APPDATA% but rather to load or write config files from the installation directory; this is handy when running Notepad++ from a USB device. 

 

  • Plug-ins, too: Notepad++ comes loaded with useful plug-ins plus a Plug-in Manager. But we could also select a startup option to load plug-ins from AppData — a potential security issue that Notepad++ only recommends for experienced users. 

Notepad++ is very extensible using so called plugins. Plugins are small or big additions to Notepad++ to enhance its functionality. Notepad++ comes bundled with 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 the Plugins directory in the main Notepad++ installation directory. They are DLL files and simply removing or adding them is enough.

How to install a plugin

Install using Plugins Admin

The Plugins Admin allows you to easily install plugins that are in the Plugins List. To do so, place a check mark next to the Plugin(s) you wish to install, then select Install.

Install plugin manually

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

Once you installed the plugin, you can use (and you may configure) it via the menu “Plugins”.

How to develop a plugin

Getting started

Here are the instructions to make your first Notepad++ plugin in less 10 minutes, by following 6 steps:

  1. Download and unzip the latest release of Notepad++ Plugin Template.
  2. Open NppPluginTemplate.vcproj in your Visual Studio.
  3. Define your plugin name in PluginDefinition.h
  4. Define your plugin commands number in PluginDefinition.h
  5. Customize plugin commands names and associated function name (and the other stuff, optional) in PluginDefinition.cpp.
  6. Define the associated functions.

You are guided by the following comments in both PluginDefinition.h and PluginDefinition.cpp files:

//-- STEP 1. DEFINE YOUR PLUGIN NAME --//
//-- STEP 2. DEFINE YOUR PLUGIN COMMAND NUMBER --//
//-- STEP 3. CUSTOMIZE YOUR PLUGIN COMMANDS --//
//-- STEP 4. DEFINE YOUR ASSOCIATED FUNCTIONS --//

A good sample illustrates better the whole picture than a detailed documentation.

However, the knowledge of Notepad++ plugin system is required, if you want to accomplish some sophisticated plugin commands.

You can use Plugin development forum for any technical questions/answers and the announcement your new plugin.

In other languages

  • Ada
  • C#
  • D
  • Delphi

Plugins Admin

Built-in Plugins Admin shows the list of available plugins, allows users to install new plugins and to update/remove installed plugins. It needs Plugin List (see next section) to work.

Plugin List

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 hosted in the GitHub: https://github.com/notepad-plus-plus/nppPluginList/. Any plugin is welcome to join in the list.

Test your plugins locally

For testing your plugin for listing, installation, removal and update under Plugin Admin, you need Notepad++ binary in debug mode 32-bit or 64-bit, the latest version of wingup 32-bit or 64-bit and nppPluginList.json (you should rename it from pl.x64.json or pl.x86.json, according your plugin’s architecture). Replace notepad++.exe and GUP.exe of your Notepad++ installation by downloaded ones, copy pl.x64.json or pl.x86.json to <NPP_INST_DIR>\plugins\Config\nppPluginList.json, then you’re all set – the menu item Plugins Admin will be under menu Plugins of your debug mode notepad++.exe. Launch this command will launch the Plugins Admin dialog and the rest should be intuitive.

Rules for adding your plugins into list

  1. Architecture: your 32-bits plugin should be added to pl.x86.json, 64-bits plugin should be added to pl.x64.json.
  2. Unicity: the value of folder-name of your plugin should be unique in the list. it means if there’s already another same name plugin in the list, you have to rename your plugin’s folder-name (and your plugin). Keep in mind that your plugin binary name (w/o the extension .dll) should be always the same as the folder-name, otherwise your plugins won’t be loaded.
  3. Security: the value of id is plugin package’s (zip file) finger print in SHA-256. This id is checked with the downloaded dll to avoid MITM. You can use Notepad++ to get your plugin’s SHA-256 hash (Menu: Tools > SHA-256 > Generate from files…) or some online sha256 generators.
  4. Update info: the value of version is exact the version of your plugin binary version which you want to be deployed. This version will compare with installed plugin’s version to decide if update should be applied. Please check Microsoft’s document about binary version for setting the version correctly onto your DLL.
  5. Download location: the value of repository is the URL where Plugin Admin can download the plugin to install/update it.
  6. Packaging: Only zip package is supported. Your plugin (DLL) should have the same name as the folder-name and the plugin DLL file should be placed at the root level of the ZIP file. Otherwise Plugin Admin won’t install it. Any additionals files (DLL or data) can be placed at the root level or in an arbitrary subfolder.

Do your PR to join plugin list

Once your test has been done, and everything is ok, you can fork and do your PR on: https://github.com/notepad-plus-plus/nppPluginList/. Only the json part you should modify. The json file will be built into the a binary (nppPluginList.dll), which will be signed (for thes sake of security) and be included in the official distribution.

Rules for adding your plugins into list 

  1. Architecture: your 32-bits plugin should be added to pl.x86.json, 64-bits plugin should be added to pl.x64.json. 
  1. Unicity: the value of folder-name of your plugin should be unique in the list. it means if there’s already another same name plugin in the list, you have to rename your plugin’s folder-name (and your plugin). Keep in mind that your plugin binary name (w/o the extension .dll) should be always the same as the folder-name, otherwise your plugins won’t be loaded. 
  1. Security: the value of id is plugin package’s (zip file) finger print in SHA-256. This id is checked with the downloaded dll to avoid MITM. You can use Notepad++ to get your plugin’s SHA-256 hash (Menu: Tools > SHA-256 > Generate from files…) or some online sha256 generators. 
  1. Update info: the value of version is exact the version of your plugin binary version which you want to be deployed. This version will compare with installed plugin’s version to decide if update should be applied. Please check Microsoft’s document about binary version for setting the version correctly onto your DLL. 
  1. Download location: the value of repository is the URL where Plugin Admin can download the plugin to install/update it. 
  1. Packaging: Only zip package is supported. Your plugin (DLL) should have the same name as the folder-name and the plugin DLL file should be placed at the root level of the ZIP file. Otherwise Plugin Admin won’t install it. Any additionals files (DLL or data) can be placed at the root level or in an arbitrary subfolder. 

User Defined Language files :

For some reasons that some languages are not supported by Notepad++, User Language Define System can help you out in this case. This system allows user to define his own language : not only the syntax highlighting keywords definition, but also the syntax folding keywords definition, comment keywords definition and the operators definition. 

You can define your language via User Language Define Dialog. However, the language you need may be already defined by someone-else in this User Defined Languages Collection. 

 

Features

Features :

Notepad++ is a source code editor. It features syntax highlighting, code folding and limited autocompletion for programming, scripting, and markup languages, but not intelligent code completion or syntax checking. As such it may properly highlight code written in a supported schema but whether the syntax is internally sound or compilable cannot be verified.As of version 7.6.3, Notepad++ can highlight the syntactic elements of: 

  • ActionScript 
  • Ada 
  • ASN.1 
  • ASP 
  • Assembly 
  • AutoIt 
  • AviSynth scripts 
  • BaanC 
  • batch files 
  • Blitz Basic 
  • C 
  • C# 
  • C++ 
  • Caml 
  • CMake 
  • Cobol 
  • CoffeeScript 
  • Csound 
  • CSS 
  • D 
  • Diff 
  • Erlang 
  • escript 
  • Forth 
  • Fortran 
  • FreeBASIC 
  • Gui4Cli 
  • Haskell 
  • HTML 
  • INI files 
  • Intel HEX 
  • Inno Setup scripts 
  • Java 
  • JavaScript 

 

  • JSON 
  • JSP 
  • KiXtart 
  • LaTeX 
  • LISP 
  • Lua 
  • Makefile 
  • Matlab 
  • MMIX 
  • Nim 
  • nnCron 
  • NSIS scripts 
  • Objective-C 
  • OScript 
  • Pascal 
  • Perl 
  • PHP 
  • PostScript 
  • PowerShell(Broken) 
  • PureBasic 
  • Python 
  • R 
  • Rebol 
  • Registry script (.reg) 
  • Resource file 
  • Ruby 
  • Rust 
  • Scheme 
  • Shell script 
  • Smalltalk 
  • SPICE 
  • SQL 
  • Swift 
  • S-Record 
  • Tcl 
  • Tektronix HEX 
  • TeX 
  • txt2tags 
  • Visual Basic 
  • Visual Prolog 
  • VHDL 
  • Verilog 
  • XML 
  • YAML 

 

The language list also displays two special-case items for ordinary plain text: “Normal text” (default) or “MS-DOS Style”, which tries to emulate DOS-era text editors. 

Notepad++ has features for consuming and creating cross-platform plain text files. It recognizes three newline representations (CR, CR+LF and LF) and can convert between them on the fly. In addition, it supports reinterpreting plain text files in various character encodings and can convert them to ASCII, UTF-8 or UCS-2. As such, it can fix plain text that seem gibberish only because their character encoding is not properly detected. 

Notepad++ also has features that improve plain text editing experience in general, such as: 

  • Autosave 
  • Finding and replacing strings of text with regular expressions 
  • Guided indentation 
  • Line bookmarking 
  • Macros 
  • Simultaneous editing 
  • Split screen editing and synchronized scrolling 
  • Line operations, including sorting, case conversion (Uppercase, lowercase, camel case, sentence case), and removal of redundant whitespace 
  • Tabbed document interface

 

The Major Features Of NotePad++

  • Syntax Highlighting and Syntax Folding
  • PCRE (Perl Compatible Regular Expression) Search/Replace
  • GUI entirely customizable: minimalist, tab with close button, multi-line tab, vertical tab and vertical document list
  • Document Map
  • Auto-completion: Word completion, Function completion and  Function parameters hint
  • Multi-Document (Tab interface)
  • Multi-View
  • WYSIWYG (Printing)
  • Zoom in and zoom out
  • Multi-Language environment supported
  • Bookmark
  • Macro recording and playback
  • Launch with different arguments

Videos

Notepad++ Essential Plugins and Features

Notepad++ : Shortcuts, Tips and Tricks

Notepad++ on cloud

Related Posts