Notepad++

от Уикипедия, свободната енциклопедия
Notepad++
Notepad++ logo
Notepad++ v7 в Windows 10 с фрагмент от изходния код от MediaWiki 1.27.1
Информация
РазработчикDon Ho
Последна версия8.5.3
15 май 2023 г.
Програмен езикC++
Операционна системаMicrosoft Windows
ПлатформаIA-32, x86-64
Език на интерфейсамултиезичен (90 езика)
Статусактивен
Вид софтуерредактор за изходен код
ЛицензGNU General Public License
Уебсайтnotepad-plus-plus.org
Notepad++ в Общомедия

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

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

История[редактиране | редактиране на кода]

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

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

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

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

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

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

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

Функционалност[редактиране | редактиране на кода]

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

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

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

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

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

Програмата предлага и функционалност за улесняване на редактирането на обикновен текст като цяло, например:

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

Приставки[редактиране | редактиране на кода]

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

Интернационализация[редактиране | редактиране на кода]

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

Великденски яйца[редактиране | редактиране на кода]

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

Критики и противоречия[редактиране | редактиране на кода]

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

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

Източници[редактиране | редактиране на кода]

  1. SourceForge.net: Project Statistics for Notepad++ // SourceForge.net. Посетен на 2 април 2014.
  2. Top Downloads – For all time, updated daily // SourceForge. Посетен на 18 април 2011.
  3. SourceForge's 4th Annual Community Choice Awards // SourceForge. Архивиран от оригинала на 2009-09-19. Посетен на 1 октомври 2009.
  4. Notepad++ on GitHub // notepad-plus-plus.org. Архивиран от оригинала на 2016-07-01. Посетен на 2 юни 2016.
  5. а б в г Orin, Andy. Behind The App: The Story Of Notepad++ // Lifehacker Australia, 18 юни 2015.
  6. а б Notepad++ Features // notepad-plus-plus.org. Архивиран от оригинала на 2013-06-24. Посетен на 2019-01-04.
  7. Gael, Arianna. Notepad++ Is Changing Code And Changing The World // Filehippo, 24 юни 2015.
  8. Clarifying SourceForge.net’s denial of site access for certain persons in accordance with US law // SourceForge.net. Slashdot Media, 25 януари 2010.
  9. Notepad++ hosted on new website // Notepad++, 6 юни 2010. Архивиран от оригинала на 2014-04-19. Посетен на 2019-01-04.
  10. Notepad++ 5.7 released on French servers // Notepad++, 5 юли 2010. Архивиран от оригинала на 2012-01-25. Посетен на 2019-01-04.
  11. а б Notepad++ leaves SourceForge // notepad-plus-plus.org. Архивиран от оригинала на 2016-07-01. Посетен на 2 юни 2016.
  12. а б Pash, Adam. The Best Programming Text Editor for Windows // Lifehacker, 6 юли 2011.
  13. а б Henry, Alan. Most Popular Text Editor: Notepad++ // Lifehacker, 24 април 2014. Архивиран от оригинала на 2019-01-05. Посетен на 2019-01-04.
  14. а б в Stack Overflow Developer Survey 2015
  15. Stack Overflow Developer Survey 2016 Results // 18 март 2016. Архивиран от оригинала на 18 март 2016.
  16. Notepad++ Community // notepad-plus-plus.org. Архивиран от оригинала на 2016-07-01. Посетен на 2 юни 2016.
  17. User Defined Language Files // notepad-plus-plus.org. Архивиран от оригинала на 2016-12-23. Посетен на 2019-01-04.
  18. DeCarlo, Matthew. Download of the Week: Notepad++ // TechSpot. 26 май 2009. Посетен на 1 октомври 2009.
  19. Notepad++ Multi-editing // Архивиран от оригинала на 2016-08-09. Посетен на 2019-01-04.
  20. Fox, Geoff. Notepad++ Does It Again Again // AppScout. Ziff Davis Media, 7 юли 2008. Архивиран от оригинала. Посетен на 1 октомври 2009.
  21. Smith, Tim. Notepad++ 5.5 // Computeractive, 2009-09-21. Архивиран от оригинала на 2009-07-19. Посетен на 2009-10-01.
  22. Mombrea, Matthew. Tools we love: Notepad++ // ITWorld Magazine, 15 ноември 2013. Архивиран от оригинала на 2019-01-07. Посетен на 2019-01-07.
  23. Notepad++ // sourceforge.net.
  24. TextFX's_Future // SourceForge. Архивиран от оригинала на 2019-01-27. Посетен на 2019-01-07.
  25. Изходен код: NppCommands.cpp:2111..2140 - версия от 2014-05-01
  26. Изходен код: Notepad_plus.cpp:5244..5442
  27. Source Code on GitHub, Notepad_plus.cpp:5499...5705 - версия от 2015-06-24 (пълен списък на задействащите изрази)
  28. Archived copy // Архивиран от оригинала на 26 март 2008 г. Посетен на 20 октомври 2011 г.
  29. SourceForge Blocked In China. Moonlight Blog. 26 юни 2008 г.
  30. SourceForge Unblocked in China. Moonlight Blog. 24 юли 2008 г.
  31. Sourceforge.net was blocked in China // GameDev.net.
  32. Kovacs, Eduard. Notepad++ Site Hacked in Response to „Je suis Charlie“ Edition // SecurityWeek, 15 януари 2015 г. Архивиран от оригинала на 2015-01-21. Посетен на 2019-04-25.
  33. Sengupta, Kim. Isis-linked hackers attack NHS websites to show gruesome Syrian civil war images // The Independent. 7 февруари 2017. Посетен на 24 юли 2017.

Външни препратки[редактиране | редактиране на кода]

  Тази страница частично или изцяло представлява превод на страницата Notepad++ в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​