Notepad++
Notepad++ е текстов редактор и редактор за изходен код за Microsoft Windows. Той поддържа редактиране в раздели, което позволява работа с много отворени файлове в един прозорец. Името на проекта идва от оператора за увеличаване с единица в езика C.

Notepad++ се разпространява като свободен софтуер. Отначало проектът се хоства в SourceForge.net, откъдето е изтеглен над 28 милиона пъти, и двукратно печели наградата на общността на SourceForge Community за най-добър инструмент за разработване. Между 2010 и 2015 г. проектът се хоства в TuxFamily, а от 2015 г. – в GitHub. Notepad++ използва компонента за редактиране Scintilla.

История 
Notepad++ е създаден от Дон Хо през септември 2003 г. Разработчикът използва на работното си място JEXT (текстов редактор, базиран на Java), но разочарован от ниското му бързодействие, започва да разработва текстов редактор на C++ с компонента за редактиране Scintilla. Хо работи по проекта в свободното си време, тъй като работодателят му отхвърля идеята. Notepad++ е изграден като приложение за Microsoft Windows; авторът обмисля, но отхвърля варианта да използва wxWidgets, за да го пренесе за платформите Mac OS X и Unix.

Notepad++ е публикуван за пръв път в SourceForge на 25 ноември 2003 г. като приложение само за Windows. Той е базиран на компонента за редактиране Scintilla и е написан на C++ с използване само на Win32 API и STL с цел по-висока скорост на изпълнение и по-малък размер на програмата.

През януари 2010 г. правителството на САЩ задължава базираните в страната хостове на проекти с отворен код да отказват достъп от Куба, Иран, Северна Корея, Судан и Сирия в съответствие със законите на САЩ. Разработчикът на Notepad++ възприема това като нарушение на философията на свободния софтуер, затова през юни 2010 г. Notepad++ се премества извън юрисдикцията на САЩ, като публикува версия чрез TuxFamily във Франция. Някои от обществените услуги на Notepad++ (например форумите и системата за докладване на дефекти) остават на Sourceforge до 2015 г., когато програмата изцяло напуска Sourceforge.

През 2011 г. Lifehacker описва Notepad++ като „най-добрия програмистки текстов редактор за Windows“, заявявайки: „Ако предпочитате прост, лек и разширяем програмистки редактор за обикновен текст, първият ни избор е безплатната програма с отворен код Notepad++“. Lifehacker критикува потребителския интерфейс, като уточнява: „Всъщност той е доста грозен. За щастие, можете да направите много, за да го персонализирате, и каквото му липсва като блясък, се компенсира от функционалност“.

През 2014 г. читателите на Lifehacker избират с гласуване Notepad++ за „най-популярен текстов редактор“, като 40% от 16 294 отговорили го определят като любимия си редактор. Екипът на Lifehacker представя накратко програмата като „бърза, гъвкава, с богата функционалност и напълно безплатна“.

През 2015 г. Stack Overflow провежда глобално допитване до разработчиците и Notepad++ е избран за най-използван текстов редактор в света, като 34,7% от 26 086 отговорили твърдят, че го използват ежедневно. Stack Overflow отбелязва, че „Колкото по-често се променя нещо, толкова по-вероятно е то да е написано на JavaScript с NotePad++ на машина с Windows“. В допитването от 2016 г. Notepad++ получава 35,6%.

През 2015 г., в отговор на действията на екипа на Sourceforge, който си присвоява контрола над някои проекти, Notepad++ напуска сайта изцяло, като форумите се прехвърлят на NodeBB, а системата за докладване на дефекти – на GitHub.

Функционалност 
Notepad++ е редактор за изходен код. Той предлага функционалност за оцветяване на синтаксиса, сгъване и разгъване на части от кода и ограничено автоматично довършване за програмни, скриптови и маркиращи езици, но не и интелигентно довършване на кода или проверка на синтаксиса. Това значи, че е в състояние да оцветява правилно кода, написан в рамките на поддържана схема, но не и да провери дали синтаксисът е логически правилен и подлежи на компилиране.

Notepad++ версия 7 е в състояние да оцветява синтактичните елементи на следните езици и формати:

 ActionScript, Ada, ASN.1, ASP, асемблерен език, AutoIt, Скриптове на AviSynth
 BaanC, скриптове на Bash, bat файлове, Blitz Basic
 C, C#, C++, Caml, CMake, Cobol, CoffeeScript, Csound, CSS
 D, Diff
 Erlang, escript
 Forth, Fortran, FreeBASIC
 Gui4Cli
 Haskell, HTML
 INI файлове, скриптове на Inno Setup
 Java, JavaScript, JSON, JSP
 KiXtart
 LaTeX, LISP, Lua
 Makefile, Matlab
 MMIX, Nimrod, nnCron, скриптове за NSIS
 Objective-C, OScript
 Pascal, Perl, PHP, PostScript, PowerShell, PureBasic, Python
 R, Rebol, ресурсни файлове на Windos (.rc), Ruby, Rust
 Scheme, Smalltalk, SPICE, SQL, Swift, S-Record
 Tcl, TeX, txt2tags
 Visual Basic, VHDL, Verilog
 XML
 YAML

В списъка за избор на език са включени и два специални елемента: Normal text (обикновен текст, подразбира се) и MS-DOS Style, който е предназначен за емулиране на текстовите редактори от времето на DOS. Потребителите могат да дефинират и свои собствени схеми за оцветяване на синтаксис.

За част от езиците за програмиране се поддържа показване на списък с функции за бързо намиране на съответната функция във файла.

Notepad++ поддържа зареждане и създаване на текстови файлове с междуплатформена съвместимост. Той разпознава три представяния на знака за нов ред (CR, CR+LF и LF) и може да преобразува между тях в движение. Освен това поддържа реинтерпретиране на текстови файлове в различни кодировки и може да ги преобразува към ASCII, UTF-8 и UCS-2. Така могат да се поправят текстови файлове, които изглеждат като безсмислици поради неправилно разпозната кодировка.

Програмата предлага и функционалност за улесняване на редактирането на обикновен текст като цяло, например:
 Автоматично записване на файловете
 Търсене и заместване с регулярни изрази (включително на няколко реда) в един или повече файлове.
 Автоматично подравняване според структурата на програмния код (indentation)
 Отбелязване на редове с показалци (bookmarks)
 Записване и изпълнение на макроси
 Едновременно редактиране с повече от един курсор
 Редактиране с разделен екран и синхронизирано превъртане (скролиране)
 Операции с редове, включително сортиране, преобразуване на регистъра (малки, главни, първа главна, всяка дума с главна) и премахване на излишни интервали
 Потребителски интерфейс с раздели (tabs) за работа с няколко документа в един прозорец
 Команди за работа с проекти (съвкупности от свързани файлове)
 Карта на документа (панел със силно умалена версия на текста, удобна за бързо намиране на определено място по визуален признак)
 Открояване на съответстващи си двойки скоби

Приставки 
Notepad++ поддържа макроси и приставки и е даван за пример със стабилната си архитектура за приставки, която позволява интегриране на разнообразна нова функционалност в програмата. Разработени са над 140 съвместими приставки за Notepad++, 10 от които са включени по подразбиране в дистрибуцията му. Първата приставка, включена някога в програмата, е TextFX, чиято функционалност включва проверка за валидност на HTML и CSS по стандартите на W3C, сортиране на текст, смяна на регистъра на букви и работа с кавички.

Интернационализация 
Notepad++ поддържа интернационализация чрез XML файл в собствен формат, съдържащ всички преведени текстове (заглавия на диалогови прозорци, менюта и елементи от тях и т.н.) за даден език. Този файл може да се презарежда чрез настройките на програмата. Превод на нов език може да се извърши, като просто се редактира някой от съществуващите файлове. От 2013 г. насам общността на потребителите е допринесла за превеждането на интерфейса на много езици, включително и български, както и на някои местни диалекти.

Великденски яйца 
Ако се натисне клавишът F1 или се отвори диалоговият прозорец About, докато текстовата селекция съдържа име, се създава нов документ и в него със симулация на въвеждане се изписва цитат от съответното лице. Сред имената, които задействат това великденско яйце, са Бил Гейтс (Bill Gates), Линус Торвалдс (Linus Torvalds), Браян Кърниган (Brian Kernighan), Барак Обама (Barack Obama), играта Space Invaders и Дарт Вейдър (Darth Vader). Ако избраният текст е думата random (случаен), се изписва случаен цитат.

Критики и противоречия 
През март 2008 г. на страницата на Notepad++ в SourceForge.net е поставен банер „Бойкотирайте Пекин 2008“. Няколко месеца по-късно, от 26 юни 2008 г. до 24 юли 2008 г., повечето потребители в Китай нямат достъп до сайта SourceForge.net. Това довежда до широко разпространеното вярване, че Китай е забранил SourceForge.net като контрамярка на банера.

През януари 2015 г. уебсайтът на the Notepad++ е атакуван от хакери от Fallaga Team, които възразяват срещу „великденско яйце“ в подкрепа на инициативата Je suis Charlie. Групата Fallaga Team е свързвана с „Ислямска държава“ и се смята, че е отговорна за хакерските атаки срещу сайтове на британската здравна служба през 2017 г.

Източници

Външни препратки 
 Официален уебсайт
 Страница на Nodepad++ в Github

HTML редактори
Текстови редактори
C++ софтуер