Notepad++ is a text editor and source code editor for Windows. It differs from Notepad, the built-in Windows text editor in that Notepad++ supports tabbed editing, which allows working with multiple open files in a single window. Notepad++ opens large files significantly faster than Windows Notepad. The project's name comes from the C increment operator.
Notepad++ is distributed as free software. The project was hosted on SourceForge.net, from where it has been downloaded over 28 million timesand twice won the SourceForge Community Choice Award for Best Developer Tool. The project has been hosted on TuxFamily since June 2010. Notepad++ uses the Scintilla editor component.
General features include:
- Tabbed document interface
- Multiple clipboards (plugin required)
- Split screen editing and synchronized scrolling
- Spell checker (requires Aspell) (Spell checker does not distinguish between text and code)
- Supports text encoding formats such as Unicode, for international writing systems. UTF-8 and several UTF-16 encodings are supported.
- Find and replace: with regular expressions (including multi-line); over multiple documents; and marking/summary of occurrences
- File comparison
Source code editing features include:
- Syntax highlighting and syntax folding
- Brace and indent highlighting
- Smart highlighting
- Project manager
- Regular expression find and replace (in perl compatible extent)
- Speech synthesis
- FTP Browser (plug-in included in standard installation)
- Macro recording and execution.
- Various tools such as line sorting, text encoding conversion, text folding
- File status auto-detection
- Customizable shortcut key mapping.
- Function list.
Notepad++ also supports Unix line endings so that it can be used to work with texts that have been produced on (or will be moved to) machines that run Unix operating systems.
Running under Mac OS X using the Wine compatibility layer.
Notepad++ supports syntax highlighting and code folding for over 50 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.
The following languages are natively supported by Notepad++ as of version 6.5:
- Ada, asp, Assembly, autoIt
- C, C++, C#, Caml, Cmake, COBOL, CoffeeScript, CSS
- D, Diff
- Flash ActionScript, Fortran
- Gui4CLI, Go
- Haskell, HTML
- LISP, Lua
- Makefile, Matlab, MS-DOS, INI file
- NSIS, Normal Text File
- Pascal, Perl, PHP, PostScript, PowerShell, Properties file, Python
- R, Resource file, Ruby
- Shell, Scheme, Smalltalk, SQL
- TCL, TeX
- Visual Basic, VHDL, Verilog
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.
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. Plugin site lists over 140 compatible plugins.
This project is originally by Don Ho, a developer based in Paris and graduated from Paris Diderot University in 2000. 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++ supports switching into local language after providing a single XML file containing all text that should be translated. As of 2013, the user community has contributed translations into many languages, as well as into some local dialects.
If F1 is pressed or the About dialog is opened while the currently selected text contains a name, a new document is created and a quote from that person is entered using simulated typing. Among the names that trigger this easter egg are Bill Gates, Linus Torvalds, Brian Kernighan and Darth Vader. Selecting the text 'random' selects a random quote.
In March 2008, the "Boycott Beijing 2008" banner was placed on Notepad++'s SourceForge.net homepage. A few months later, most users in China were unable to reach the SourceForge.net website for about a month (June 26, 2008 – July 24, 2008). This led to the widespread belief that China had banned SourceForge.net in retaliation for the Boycott banner.
In January 2010, the US government forced open source project hosts to comply with US law and deny access from five countries (Cuba, Iran, North Korea, Sudan, and Syria). As a response to what the developer felt was a violation of the Free and open-source software (FOSS) philosophy, in June 2010, Notepad++ moved out of US territorial jurisdiction by releasing a version on TuxFamily, in France.