Notepad++
![]() |
|
300px | |
Developer(s) | Don Ho |
---|---|
Initial release | 11 |
Stable release | 6.8.8[1] (10 December 2015 ) [±] |
Written in | C++ |
Operating system | Microsoft Windows |
Size | 6.6 MB |
Available in | over 50 languages via Scintilla, plus additional user-defined languages languages[2] |
Type | Source code editor |
License | GNU General Public License |
Website | notepad-plus-plus |
Notepad++ is a text editor and source code editor for use with Microsoft Windows. Unlike Notepad, the built-in Windows text editor, 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. At first the project was hosted on SourceForge.net, from where it has been downloaded over 28 million times,[3][4] and twice won the SourceForge Community Choice Award for Best Developer Tool.[5] The project has been hosted on TuxFamily since June 2010. Notepad++ uses the Scintilla editor component.
Contents
Features
General features include:[6]
- Tabbed document interface[7]
- Drag-and-drop
- 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.
- Support for Windows, Unix and Classic Mac OS line ending characters
- Find and replace: with regular expressions (including multi-line); over multiple documents; and marking/summary of occurrences
- Data comparison
- Zooming
Source code editing features include:[6]
- Auto-completion
- Bookmarks
- 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
Programming languages
Notepad++ supports syntax highlighting and code folding for over 50 programming, scripting, and markup languages.[2][8] 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.6:
- Ada, asp, Assembly, AutoIt
- Batch
- C, C++, C#, Caml, Cmake, COBOL, CoffeeScript, CSS
- D, Diff
- Flash ActionScript, Fortran
- Gui4CLI
- Haskell, HTML
- INNO
- Java, Javascript, JSP
- KiXtart
- LISP, Lua
- Makefile, Matlab, MS-DOS, INI file
- NSIS, Normal Text File
- Objective-C
- Pascal, Perl, PHP, PostScript, PowerShell, Properties, Python
- R, Resource file, Ruby
- Shell, Scheme, Smalltalk, SQL
- TCL, TeX
- Visual Basic, VHDL, Verilog
- XML
- YAML
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.[2] 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.[9] Currently, there are 27 official plugins for Notepad++, 10 of which are included by default in the program.[10] 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.[11] Plugin site lists over 140 compatible plugins.[citation needed]
Development
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.[6]
Interface translations
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.
Easter egg
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.[12] 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.[13]
Complete list of triggers (version 6.7.9.2)[14] |
---|
|
Anonymous #1 - Anonymous #154 |
Criticisms and controversy
Early versions of Notepad++ were noted for instability.[15] In a 2011 review in Lifehacker, Adam Pash wrote that its user interface was "fairly ugly".[16]
In March 2008, the "Boycott Beijing 2008" banner was placed on Notepad++'s SourceForge.net homepage.[17] 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.[18][19][20]
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.[21][22]
In January 2015, the Notepad++ website was hacked by Islamist hackers critical of an easter egg endorsing Je suis Charlie. [23]
See also
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
External links
![]() |
Wikimedia Commons has media related to [[commons:Lua error in Module:WikidataIB at line 506: attempt to index field 'wikibase' (a nil value).|Lua error in Module:WikidataIB at line 506: attempt to index field 'wikibase' (a nil value).]]. |
- No URL found. Please specify a URL here or add one to Wikidata.
- Notepad++ on SourceForge.net
- Official Notepad++ Wiki
- Official Directory for Notepad++ plugins
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 2.0 2.1 2.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 6.0 6.1 6.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Code inspection:NppCommands.cpp:2111..2140 - May 1, 2014 version
- ↑ Code inspection: Notepad_plus.cpp:5244..5442
- ↑ Source Code on Github - Code inspection:Notepad_plus.cpp:5499...5705 - Jun 24, 2015 version
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Notepad++ homepage at the Wayback Machine (archived March 26, 2008)
- ↑ SourceForge Blocked In China. Moonlight Blog. June 26, 2008.
- ↑ SourceForge Unblocked in China. Moonlight Blog. July 24, 2008.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- Pages with reference errors
- Pages with broken file links
- Articles with unsourced statements from September 2014
- Commons category link from Wikidata
- Official website missing URL
- 2003 software
- Free HTML editors
- Free multilingual software
- Free software programmed in C++
- Free text editors
- Notepad replacements
- Software that uses Scintilla
- Software using the GPL license
- Windows text editors
- Windows-only free software