Notepad++ is a source code editor for Windows. It is distributed as free software. The project is hosted on SourceForge.net, from where it has been downloaded over sixteen million times.
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.
Notepad++ is available only for the Microsoft Windows operating system. However, users can still get Notepad++ to work on other platforms like Linux and Mac OS X, using software such as Wine.
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.
Some of its features include:
- Auto-completion (language and file)
- Syntax highlighting (and brace and indent highlighting)
- File status auto-detection
- Regular expression find and replace
- Split screen editing (“View/Clone”) and synchronized scrolling
- Spell checker (requires Aspell)
- Tabbed document interface
- FTP Browser (plug-in included in standard installation)
- Support for various file formats including unicode.
- Find and replace text or text strings of text over multiple documents simultaneously.
Although Scintilla does not support multiline regular expression search and replace, Notepad++ does contain support for plugins which help mitigate this fact.