Notepad++
Developer(s) | Don Ho |
---|---|
Initial release | 24 November 2003 |
Stable release | 8.7.4[1]
/ 5 December 2024 |
Repository | |
Written in | C++ |
Operating system | Windows[2] |
Platform | IA-32, x86-64, AArch64 |
Available in | 90 languages |
List of languages Afrikaans, Albanian, Arabic, Aragonese, Aranese, Azerbaijani, Basque, Belarusian, Bengali, Bosnian, Brazilian portuguese, Breton, Bulgarian, Catalan, Chinese Traditional, Chinese Simplified, Corsican, Croatian, Czech, Danish, Dutch, English, Esperanto, Estonian, Extremaduran, Persian, Finnish, French, Friulian, Galician, Georgian, German, Greek, Gujarati, Hebrew, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Kabyle, Kannada, Kazakh, Korean, Kurdish, Kyrgyz, Latvian, Ligurian, Lithuanian, Luxembourgish, Macedonian, Malay, Marathi, Mongolian, Norwegian, Nynorsk, Occitan, Piglatin, Polish, Portuguese, Punjabi, Romanian, Russian, Samogitian, Sardinian, Serbian, Serbian Cyrillic, Sinhala, Slovak, Slovenian, Spanish, Spanish Argentinian, Swedish, Tagalog, Tajik Cyrillic, Tamil, Tatar, Telugu, Thai, Turkish, Ukrainian, Urdu, Uyghur, Uzbek, Uzbek Cyrillic, Venetian, Vietnamese, Welsh, Zulu | |
Type | Source code editor |
License | 2021:[a] GPL 3.0 or later[3] 2003:[b] GPL 2.0 or later[4] |
Website | notepad-plus-plus |
Notepad++ (sometimes npp or NPP), is a text and source code editor for use with Microsoft Windows. It supports tabbed editing, which allows working with multiple open files in one window. The program's name comes from the C postfix increment operator.[5]
Notepad++ is released as free and open-source software under a GNU General Public License (GPL) 3.0 or later. At first, the project was hosted on the SourceForge software repository (2003–2010), from where it was downloaded over 28 million times,[6][7] and twice won the SourceForge Community Choice Award for Best Developer Tool.[8] Then, the project moved to TuxFamily (2010–2015), and then to GitHub (2015–present).[9] Notepad++ uses the Scintilla editor component.
History
[edit]Notepad++ development began in September 2003 by Don Ho, a former Paris Diderot University[10] computer science[11] student.[12] Ho first used JEXT (a Java-based text editor[13][14]) at his company but, dissatisfied with its poor performance, he began to develop a text editor written in C++ with Scintilla.[12] He developed it in his spare time since the idea was rejected by his company.[12] Notepad++ was built as a Microsoft Windows application; the author considered, but rejected, the idea of using wxWidgets to port it to the Mac OS X and Unix platforms.[12]
Notepad++ was first released on SourceForge on 25 November 2003, as a Windows-only application.[10] It is based on the Scintilla editor component, and is written in C++ with only Windows API (Win32) application programming interface (API) calls using only the Standard Template Library (STL) to increase performance and reduce program size.[15][16]
In January 2010 the US government obliged US-based open source project hosts to deny access from Cuba, Iran, North Korea, Sudan, and Syria to comply with U.S. law.[17] 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. Some community services of Notepad++ (such as the forums and bug tracker) remained on SourceForge until 2015 when Notepad++ left SourceForge completely.[18][19][20]
In 2011 Lifehacker described Notepad++ as "The Best Programming Text Editor for Windows", stating that "if you prefer a simple, lightweight, and extensible programming plain-text editor, our first choice is the free, open-source Notepad++".[21] Lifehacker criticized its user interface, stating that "It is, in fact, fairly ugly. Luckily you can do a lot to customize its looks, and what it lacks in polish, it makes up for in functionality".[21]
In 2014 Lifehacker readers voted Notepad++ as the "Most Popular Text Editor", with 40% of the 16,294 respondents specifying it as their most-loved editor.[22] The Lifehacker team summarized the program as being "fast, flexible, feature-packed, and completely free".[22]
In 2015 Stack Overflow conducted a worldwide Developer Survey, and Notepad++ was voted as the most used text editor worldwide with 34.7% of the 26,086 respondents claiming to use it daily.[23] Stack Overflow noted that "The more things change, the more likely it is those things are written in JavaScript with NotePad++ on a Windows machine".[23] The 2016 survey had Notepad++ at 35.6%.[24]
In 2015, in response to the staff hijacking of projects hosted on SourceForge, Notepad++ left SourceForge completely with the forums being moved to NodeBB and the bug tracker to GitHub.[20][25] In 2019, the website, notepad-plus-plus.org, moved to Hostinger.[26][20][18]
Features
[edit]Notepad++ is a source code editor. It features syntax highlighting, code folding and limited autocompletion for programming, scripting, and markup languages, but not intelligent code completion or syntax checking. As such, it may properly highlight code written in a supported schema, but whether the syntax is internally sound or compilable, cannot be verified.[23][27][28][15] As of version 7.6.3, Notepad++ can highlight the elements of 78 syntaxes:
- ActionScript
- Ada
- ASN.1
- ASP
- Assembly
- AutoIt
- AviSynth scripts
- BaanC
- batch files
- Blitz Basic
- C
- C#
- C++
- Caml
- CMake
- Cobol
- CoffeeScript
- Csound
- CSS
- D
- Diff
- Erlang
- escript
- Forth
- Fortran
- FreeBASIC
- Gui4Cli
- Haskell
- HTML
- INI files
- Intel HEX
- Inno Setup scripts
- Java
- JavaScript
- JSON
- JSP
- KiXtart
- LaTeX
- Lisp
- Lua
- Makefile
- MATLAB
- MMIX
- Nim
- nnCron
- NSIS scripts
- Objective-C
- OScript
- Pascal
- Perl
- PHP
- PostScript
- PowerShell (Broken)
- PureBasic
- Python
- R
- Rebol
- Registry script (.reg)
- Resource file
- Ruby
- Rust
- Scheme
- Shell script
- Smalltalk
- SPICE
- SQL
- Swift
- S-Record
- Tcl
- Tektronix HEX
- TeX
- txt2tags
- TypeScript
- Visual Basic
- Visual Prolog
- VHDL
- Verilog
- XML
- YAML
The language list also displays two special-case items for ordinary plain text: "Normal text" (default) or "MS-DOS Style", which tries to emulate DOS-era text editors.
Notepad++ has features to consume and create cross-platform plain text files. It recognizes three newline representations (CR, CR+LF, and LF) and can convert between them on the fly. In addition, it supports reinterpreting plain text files in various character encodings and can convert them to ASCII, UTF-8 or UCS-2. As such, it can fix plain text that seem gibberish only because their character encoding is not properly detected.
Notepad++ also has features that improve plain text editing experience in general, such as:
- Autosave
- Finding and replacing strings of text with regular expressions
- Searching text strings within opened tabs
- Searching text strings in a directory
- Guided indentation
- Line bookmarking
- Macros
- Simultaneous editing[29]
- Split screen editing and synchronized scrolling
- Line operations, including sorting, case conversion (Uppercase, lowercase, camel case, sentence case), and removal of redundant whitespace
- Tabbed document interface[30]
Plugins
[edit]Notepad++ has support for macros and plugins,[31] and has been remarked for its robust plugin architecture which enabled various new features to be integrated into the program.[32] Currently, over 140 compatible plugins are developed for Notepad++, 10 of which are included by default in the program.[33] The first plugin to be included in the program was "TextFX", which includes W3C validation for HTML and CSS, text sorting, character case alteration and quote handling.[34]
Internationalization
[edit]Notepad++ supports internationalization through XML files in an application-specific format containing all internationalized strings (dialog captions, menu titles and items, etc.) in a certain language; this file can be reloaded from the application settings. Translations to new languages can thus be written by simply editing an existing file.
Political messaging
[edit]Notepad++ is notable for being vocal in politics, particularly in human rights and opposition to war.
In March 2008, the "Boycott Beijing 2008" banner was placed on Notepad++'s SourceForge.net homepage.[35] A few months later most users in China were unable to reach the SourceForge.net website from 26 June to 24 July 2008. This led to the widespread belief that China had banned SourceForge.net in retaliation for the Boycott banner.[36][37][38]
In January 2015, the Notepad++ website was hacked by activists from the Fallaga Team who objected to an Easter egg endorsing Je suis Charlie.[39] The Fallaga Team has been linked to ISIL and is also believed to be responsible for the 2017 hacking of websites of the British National Health Service.[40]
In October 2019, Notepad++ released a version codenamed "Free Uyghur" (v7.8.1). In the release notice, the author expressed concern that hundreds of thousands of Uyghurs have been "subjected to political indoctrination, and sometimes even torture" in the Xinjiang re-education camp. He called for "additional pressure on the Chinese government to stop their oppressive actions and crimes concerning the Uyghur people".[41] The software's dedicated site came under a distributed-denial-of-service attack and its GitHub issue page was bombarded with nationalistic rhetoric, though it later recovered after being moved behind Cloudflare's anti-DDoS service.[42][43]
In July 2020, Notepad++ released a version codenamed "Stand with Hong Kong" (v7.8.9). In the release notice, the author expressed his concern about the Chinese government implementation of the National Security Law in Hong Kong.[44] In retaliation, mainland Chinese browsers developed by Tencent (QQ Browser and WeChat's built-in browser), Alibaba (UC Browser), 360 and Sogou started blocking the official site's Download page, but not other pages.[45]
In early and mid-February 2022, Notepad++ released a version codenamed "Boycott Beijing 2022" (v8.3) and (v8.3.1). In the release notice, the author expressed his concern about human rights in China, especially for Uyghurs and Hongkongers. He suggest his audience "not watch or pay attention to the games".[46][47]
In late February 2022, Notepad++ released a version codenamed "Declare variables, not war" (v8.3.2). In the release notice, the author condemned the Russian invasion of Ukraine and called for support for Ukraine.[48] In March 2022, Notepad++ released a version codenamed "Make Apps, not war" (v8.3.3). The author continued to express his views on the Russian invasion of Ukraine.[49]
See also
[edit]Notes
[edit]References
[edit]- ^ "Notepad++ v8.7.4". Retrieved 5 December 2024.
- ^ "Supported OS Table". GitHub. 28 November 2021.
- ^ "Notepad++ 7.9.3 release". notepad-plus-plus.org. 15 February 2021.
- ^ "Upgrade Notepad++ License". GitHub. 24 January 2021.
- ^ "Notepad++the most useful plugins for developer (npp)". Dirask.com. 30 March 2021.
- ^ "SourceForge.net: Project Statistics for Notepad++". SourceForge.net. Retrieved 2 April 2014.
- ^ "Top Downloads - For all time, updated daily". SourceForge. Retrieved 18 April 2011.
- ^ "SourceForge's 4th Annual Community Choice Awards". SourceForge. Archived from the original on 19 September 2009. Retrieved 1 October 2009.
- ^ "Notepad++ on GitHub". notepad-plus-plus.org. Archived from the original on 1 July 2016. Retrieved 2 June 2016.
- ^ a b Long, Maddison (30 May 2017). "An Interview With Notepad++ Creator Don Ho". _theInitialCommit. Retrieved 24 July 2024.
- ^ HO, Don. "CV". donho.github.io.
- ^ a b c d Orin, Andy (18 June 2015). "Behind The App: The Story Of Notepad++". Lifehacker Australia.
- ^ "Jext - Free Software (Logiciel Libre) Source Code Editor". jext.org. 1 September 2008. Archived from the original on 1 September 2008. Retrieved 24 July 2024.
- ^ Guy, Romain (8 February 2024). "jext". romainguy. github. Retrieved 24 July 2024.
- ^ a b "Notepad++ Features". notepad-plus-plus.org. Archived from the original on 24 June 2013. Retrieved 10 November 2015.
- ^ Gael, Arianna (24 June 2015). "Notepad++ Is Changing Code And Changing The World". Filehippo.
- ^ "Clarifying SourceForge.net's denial of site access for certain persons in accordance with US law". SourceForge.net. Slashdot Media. 25 January 2010.
- ^ a b "Notepad++ hosted on new website". Notepad++. 6 June 2010. Archived from the original on 19 April 2014. Retrieved 11 January 2012.
- ^ "Notepad++ 5.7 released on French servers". Notepad++. 5 July 2010. Archived from the original on 25 January 2012. Retrieved 11 January 2012.
- ^ a b c "Notepad++ leaves SourceForge". notepad-plus-plus.org. Archived from the original on 1 July 2016. Retrieved 2 June 2016.
- ^ a b Pash, Adam (6 July 2011). "The Best Programming Text Editor for Windows". Lifehacker.
- ^ a b Henry, Alan (24 April 2014). "Most Popular Text Editor: Notepad++". Lifehacker.
- ^ a b c "Stack Overflow Developer Survey 2015".
- ^ "Stack Overflow Developer Survey 2016 Results". 18 March 2016. Archived from the original on 18 March 2016.
- ^ "Notepad++ Community". notepad-plus-plus.org. Archived from the original on 1 July 2016. Retrieved 2 June 2016.
- ^ C, Damien (17 November 2022). "Notepad++: Why the World's Best Software Will Always Be Free". Hostinger Blog. Retrieved 24 July 2024.
- ^ "User Defined Language Files". notepad-plus-plus.org. Archived from the original on 23 December 2016. Retrieved 10 November 2015.
- ^ DeCarlo, Matthew (26 May 2009). "Download of the Week: Notepad++". TechSpot. Retrieved 1 October 2009.
- ^ "Notepad++ Multi-editing". Archived from the original on 9 August 2016. Retrieved 17 June 2016.
- ^ Fox, Geoff (7 July 2008). "Notepad++ Does It Again Again". AppScout. Ziff Davis Media. Archived from the original on 6 September 2010. Retrieved 1 October 2009.
- ^ Smith, Tim (21 September 2009). "Notepad++ 5.5". Computeractive. Archived from the original on 19 July 2009. Retrieved 1 October 2009.
- ^ Mombrea, Matthew (15 November 2013). "Tools we love: Notepad++". ITWorld Magazine. Archived from the original on 7 January 2019. Retrieved 18 February 2016.
- ^ "Notepad++". sourceforge.net.
- ^ "TextFX's_Future". SourceForge. Archived from the original on 27 January 2019. Retrieved 8 March 2022.
- ^ "About Notepad++". Archived from the original on 26 March 2008. Retrieved 20 October 2011.
{{cite web}}
: CS1 maint: unfit URL (link) - ^ SourceForge Blocked In China. Moonlight Blog. 26 June 2008.
- ^ SourceForge Unblocked in China. Moonlight Blog. 24 July 2008.
- ^ "Sourceforge.net was blocked in China". GameDev.net.
- ^ Kovacs, Eduard (15 January 2015). "Notepad++ Site Hacked in Response to "Je suis Charlie" Edition". SecurityWeek. Archived from the original on 21 January 2015. Retrieved 24 March 2017.
- ^ Sengupta, Kim (7 February 2017). "Isis-linked hackers attack NHS websites to show gruesome Syrian civil war images". The Independent. London. Archived from the original on 21 June 2022. Retrieved 24 July 2017.
- ^ Ho, Don. "News - Notepad++ v7.8.1 : Free Uyghur". Notepad++. Archived from the original on 30 October 2019. Retrieved 13 November 2019.
- ^ "Notepad++ on Twitter". Twitter. 29 October 2019. Retrieved 31 October 2019.
- ^ Cimpanu, Catalin (30 October 2019). "Chinese users attack Notepad++ app after 'Free Uyghur' release". ZDNet. Retrieved 31 October 2019.
- ^ "Notepad++ v7.8.9 : Stand with Hong Kong". 16 July 2020. Archived from the original on 17 July 2020. Retrieved 18 July 2020.
- ^ Liao, Rita (17 August 2020). "Text editor Notepad++ banned in China after 'Stand With Hong Kong' update". TechCrunch. Retrieved 17 August 2020.
- ^ "Notepad++ 8.3 - Boycott Beijing 2022". Notepad++ Official website. Archived from the original on 4 February 2022. Retrieved 4 February 2022.
- ^ "Notepad++ 8.3.1 - Boycott Beijing 2022". Notepad++ Official website. Archived from the original on 16 February 2022. Retrieved 16 February 2022.
- ^ "Notepad++ 8.3.2 - Declare variables, not war". Notepad++ Official website. Archived from the original on 27 February 2022. Retrieved 27 February 2022.
- ^ "Notepad++ 8.3.3 - Make Apps, not war". Notepad++ Official website. Archived from the original on 15 March 2022. Retrieved 15 March 2022.