Notepad++
   HOME

TheInfoList



OR:

Notepad++ is a text and source code editor for use with
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
. It supports tabbed editing, which allows working with multiple open files in a single window. The product's name comes from the C postfix
increment operator Increment or incremental may refer to: * Incrementalism, a theory (also used in politics as a synonym for gradualism) * Increment and decrement operators, the operators ++ and -- in computer programming * Incremental computing *Incremental backup, ...
. Notepad++ is distributed as
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, n ...
. At first, the project was hosted on SourceForge.net, from where it was downloaded over 28 million times and twice won the SourceForge Community Choice Award for Best Developer Tool. The project was hosted on from 2010 to 2015; since 2015, Notepad++ has been hosted on
GitHub GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, cont ...
. Notepad++ uses the Scintilla editor component.


History

Notepad++ was developed by Don Ho in September 2003. Ho first used JEXT (a
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
-based text editor) at his company but, dissatisfied with its poor performance, he began to develop a text editor written in C++ with Scintilla. He developed it in his spare time since the idea was rejected by his company. Notepad++ was built as a Microsoft Windows application; the author considered, but rejected, the idea of using wxWidgets to
port A port is a maritime facility comprising one or more wharves or loading areas, where ships load and discharge cargo and passengers. Although usually situated on a sea coast or estuary, ports can also be found far inland, such as H ...
it to the
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lap ...
and
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, ...
platforms. Notepad++ was first released on
SourceForge SourceForge is a web service that offers software consumers a centralized online location to control and manage open-source software projects and research business software. It provides source code repository hosting, bug tracking, mirroring ...
on 25 November 2003, as a Windows-only application. It is based on the Scintilla editor component, and is written in C++ with only Win32 API calls using only the STL to increase performance and reduce program size. 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. 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. 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++". ''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". 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. The Lifehacker team summarized the program as being "fast, flexible, feature-packed, and completely free". 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. Stack Overflow noted that "The more things change, the more likely it is those things are written in
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
with NotePad++ on a Windows machine". The 2016 survey had Notepad++ at 35.6%. 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 GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, cont ...
.


Features

Notepad++ is a source code editor. It features syntax highlighting, code folding and limited
autocompletion Autocomplete, or word completion, is a feature in which an application predicts the rest of a word a user is typing. In Android and iOS smartphones, this is called predictive text. In graphical user interfaces, users can typically press the t ...
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. As of version 7.6.3, Notepad++ can highlight the elements of 78 syntaxes: *
ActionScript ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meaning ...
*
Ada Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, T ...
*
ASN.1 Abstract Syntax Notation One (ASN.1) is a standard interface description language for defining data structures that can be serialized and deserialized in a cross-platform way. It is broadly used in telecommunications and computer networking, and ...
* ASP * Assembly * AutoIt * AviSynth scripts *BaanC * batch files * Blitz Basic * C * C# * C++ * Caml *
CMake In software development, CMake is cross-platform free and open-source software for build automation, testing, packaging and installation of software by using a compiler-independent method. CMake is not a build system itself; it generates a ...
* Cobol * CoffeeScript * Csound *
CSS Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone technolo ...
* D * Diff * Erlang * escript *
Forth Forth or FORTH may refer to: Arts and entertainment * ''forth'' magazine, an Internet magazine * ''Forth'' (album), by The Verve, 2008 * ''Forth'', a 2011 album by Proto-Kaw * Radio Forth, a group of independent local radio stations in Scotla ...
* Fortran * FreeBASIC *Gui4Cli * Haskell *
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaS ...
* INI files *Intel HEX *
Inno Setup Inno Setup is a free software script-driven installation system created in Delphi by Jordan Russell. The first version was released in 1997. History Since Jordan Russell wasn't satisfied with InstallShield Express which he had received upon purc ...
scripts *
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
*
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
* JSON * JSP *
KiXtart KiXtart is a closed source free-format scripting language for Windows. It is described as a logon script processor and enhanced batch scripting language by the official website. Its name is a portmanteau of "kick start". Overview KiXtart is deve ...
*
LaTeX Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latexes are found in nature, but synthetic latexes are common as well. In nature, latex is found as a milky fluid found in 10% of all flowering plants (angiosperms ...
* LISP * Lua *
Makefile In software development, Make is a build automation tool that automatically builds executable programs and libraries from source code by reading files called ''Makefiles'' which specify how to derive the target program. Though integrated ...
*
Matlab MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
*
MMIX MMIX (pronounced ''em-mix'') is a 64-bit reduced instruction set computing (RISC) architecture designed by Donald Knuth, with significant contributions by John L. Hennessy (who contributed to the design of the MIPS architecture) and Richard L ...
* Nim *nnCron * NSIS scripts * Objective-C *OScript *
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Frenc ...
*
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offic ...
* PHP * PostScript * PowerShell (Broken) * PureBasic * Python * R * Rebol * Registry script (.reg) * Resource file *
Ruby A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called ...
*
Rust Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO( ...
*
Scheme A scheme is a systematic plan for the implementation of a certain idea. Scheme or schemer may refer to: Arts and entertainment * ''The Scheme'' (TV series), a BBC Scotland documentary series * The Scheme (band), an English pop band * ''The Schem ...
* Shell script * Smalltalk *
SPICE A spice is a seed, fruit, root, bark, or other plant substance primarily used for flavoring or coloring food. Spices are distinguished from herbs, which are the leaves, flowers, or stems of plants used for flavoring or as a garnish. Spices a ...
* SQL * Swift *S-Record * Tcl *Tektronix HEX * TeX * txt2tags * Visual Basic * Visual Prolog * VHDL * Verilog *
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
* 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 for consuming and creating cross-platform plain text files. It recognizes three newline representations (, and ) and can convert between them on the fly. In addition, it supports reinterpreting plain text files in various
character encoding Character encoding is the process of assigning numbers to graphical characters, especially the written characters of human language, allowing them to be stored, transmitted, and transformed using digital computers. The numerical values tha ...
s and can convert them to
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
,
UTF-8 UTF-8 is a variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit''. UTF-8 is capable of e ...
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 Autosave is a saving function in many computer applications and video games which automatically saves the current changes or progress in the program or game, intending to prevent data loss should the user be otherwise prevented from doing so manua ...
* 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 *
Split screen Split screen may refer to: * Split screen (computing), dividing graphics into adjacent parts * Split screen (video production), the visible division of the screen * ''Split Screen'' (TV series), 1997–2001 * Split-Screen Level, a bug in the vid ...
editing and synchronized scrolling * Line operations, including sorting, case conversion (Uppercase, lowercase, camel case, sentence case), and removal of redundant whitespace *
Tabbed document interface In interface design, a tab is a graphical user interface object that allows multiple documents or panels to be contained within a single window, using tabs as a navigational widget for switching between sets of documents. It is an interface ...


Plugins

Notepad++ has support for macros and plugins, and has been remarked for its robust plugin architecture which enabled various new features to be integrated into the program. Currently, over 140 compatible plugins are developed 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 W3C validation for HTML and CSS, text sorting, character case alteration and quote handling.


Internationalization

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

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 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.SourceForge Blocked In China
Moonlight Blog. 26 June 2008.
In January 2015, the Notepad++ website was hacked by activists from the Fallaga Team who objected to an Easter egg endorsing Je suis Charlie. 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 The National Health Service (NHS) is the umbrella term for the publicly funded healthcare systems of the United Kingdom (UK). Since 1948, they have been funded out of general taxation. There are three systems which are referred to using the " ...
. 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". The software's dedicated site came under a
distributed-denial-of-service In computing, a denial-of-service attack (DoS attack) is a cyber-attack in which the perpetrator seeks to make a machine or network resource unavailable to its intended users by temporarily or indefinitely disrupting services of a host connect ...
attack and its
GitHub GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, cont ...
issue page bombarded with nationalistic rhetoric, though it later recovered after being moved behind Cloudflare's anti-DDoS service. In July 2020, Notepad++ released a version codenamed " Stand with Hong Kong" (v7.8.9). In the release notice, the author expressed his concern on the Chinese government implementation of the National Security Law in
Hong Kong Hong Kong ( (US) or (UK); , ), officially the Hong Kong Special Administrative Region of the People's Republic of China (abbr. Hong Kong SAR or HKSAR), is a List of cities in China, city and Special administrative regions of China, special ...
. 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. 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 on human rights in
China China, officially the People's Republic of China (PRC), is a country in East Asia. It is the world's List of countries and dependencies by population, most populous country, with a Population of China, population exceeding 1.4 billion, slig ...
, especially for Uyghurs and Hongkongers. He suggest his audience "not watch or pay attention to the games". In late February 2022, Notepad++ released a version codenamed "Declare variables, not war" (v8.3.2). In the release notice, the author expressed his concern on the Russian invasion of Ukraine. In March 2022, Notepad++ released a version codenamed " Make Apps, not war" (v8.3.3). The author continued to express his concern on the Russian invasion of
Ukraine Ukraine ( uk, Україна, Ukraïna, ) is a country in Eastern Europe. It is the second-largest European country after Russia, which it borders to the east and northeast. Ukraine covers approximately . Prior to the ongoing Russian inva ...
.


See also

* List of text editors * Comparison of text editors


Notes


References


External links

* {{HTML editors 2003 software Free HTML editors Software that uses Scintilla Software using the GPL license Windows text editors Windows-only free software Free text editors