Notepad++

Notepad++ is a text editor and source code editor for Windows, though it can run on Linux and Mac OS X, using software such as Wine. The primary advantage of Notepad++ over the built-in text editor, Notepad, is tabbed editing, to easily work with multiple open files.

It is distributed as free software. The project is hosted on SourceForge.net, from where it has been downloaded over twenty million times and twice won the Community Choice Award for Best Developer Tool. To display and edit text and programming language source code files, Notepad++ uses the Scintilla editor component.

Features

Some of its general features include:

Programming languages

It also includes features for source code editing:

Notepad++ supports syntax highlighting and syntax folding for 48 programming, scripting, and markup languages. It attempts to automatically detect the language that a given file uses, using a modifiable list of file extension bindings. Users may also manually set the current language, overriding the extension’s default language. The program also supports autocompletion for a subset of the API of some programming languages.

Users can also define their own language (for syntax highlighting) and its respective API (for autocompletion) by using the built-in User Language Define System. Users may configure the syntax highlighting’s font styles per element, per language, and the resulting formatted script may be printed in full-color (WYSIWYG). Additionally, Notepad++ displays indent guidelines when source code is indented with tab characters, and highlights closing braces, brackets and tags.

Plugins

Notepad++ has support for macros and plugins. Currently, there are 27 official plugins for Notepad++, 10 of which are included by default in the program. The first plugin to be included in the program was “TextFX”, which includes features such as W3C validation for HTML and CSS, text sorting, character case alteration and quote handling.

Development

This project, based on the Scintilla editor component, is written in C++ with only Win32 API calls using only the STL in order to increase performance and reduce program size. The aim of Notepad++ is to reduce overall power consumption by using efficient binaries that require less CPU power.

Source