Notepad++

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Notepad++
Notepad++ Logo.png
300px
Developer(s) Don Ho
Initial release 11 (2003)
Stable release 6.8.8[1] (10 December 2015; 8 years ago (2015-12-10)) [±]
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.org

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.

Features

General features include:[6]

Source code editing features include:[6]

Programming languages

Running on Mac OS X using the Wine compatibility layer

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:

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]

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

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 2.2 Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. 6.0 6.1 6.2 Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Code inspection:NppCommands.cpp:2111..2140 - May 1, 2014 version
  13. Code inspection: Notepad_plus.cpp:5244..5442
  14. Source Code on Github - Code inspection:Notepad_plus.cpp:5499...5705 - Jun 24, 2015 version
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Notepad++ homepage at the Wayback Machine (archived March 26, 2008)
  18. SourceForge Blocked In China. Moonlight Blog. June 26, 2008.
  19. SourceForge Unblocked in China. Moonlight Blog. July 24, 2008.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.

External links