Notepad++

от Уикипедия, свободната енциклопедия
Направо към навигацията Направо към търсенето
Notepad++
Notepad++ logo
Notepad++ v7 on Windows 10, with MediaWiki 1.27.1 source code, with split window view and autocompletion.png
Notepad++ v7 в Windows 10 с фрагмент от изходния код от MediaWiki 1.27.1
Информация
Разработчик Don Ho
Последна версия 7.6.2
1 януари 2019
Програмен език C++
Операционна система Microsoft Windows
Платформа IA-32, x86-64
Език на интерфейса над 80 езика
Вид софтуер редактор за изходен код
Лиценз GNU General Public License
Уебсайт https://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. Посетен на 2014-04-02.
  2. Top Downloads – For all time, updated daily. // SourceForge. Посетен на 2011-04-18.
  3. SourceForge's 4th Annual Community Choice Awards. // SourceForge. Посетен на 2009-10-01.
  4. Notepad++ on GitHub. //
  5. а б в г Orin, Andy. Behind The App: The Story Of Notepad++. // Lifehacker Australia, 2015-06-18.
  6. а б Notepad++ Features. // notepad-plus-plus.org.
  7. Gael, Arianna. Notepad++ Is Changing Code And Changing The World. // Filehippo, 2015-06-24.
  8. Clarifying SourceForge.net’s denial of site access for certain persons in accordance with US law. // Slashdot Media, 25 January 2010.
  9. Notepad++ hosted on new website. // Notepad++, 2010-06-06.
  10. Notepad++ 5.7 released on French servers. // Notepad++, 2010-07-05.
  11. а б Notepad++ leaves SourceForge. //
  12. а б Pash, Adam. The Best Programming Text Editor for Windows. // Lifehacker, 2011-07-06.
  13. а б Henry, Alan. Most Popular Text Editor: Notepad++. // Lifehacker, 2014-04-24.
  14. а б в Stack Overflow Developer Survey 2015. //
  15. Stack Overflow Developer Survey 2016 Results. // 18 March 2016. Архив на оригинала от 18 March 2016.
  16. Notepad++ Community. //
  17. User Defined Language Files. // notepad-plus-plus.org.
  18. DeCarlo, Matthew. Download of the Week: Notepad++. // 2009-05-26. Посетен на 2009-10-01.
  19. Notepad++ Multi-editing. //
  20. Fox, Geoff. Notepad++ Does It Again Again. // AppScout. Ziff Davis Media, July 7, 2008. Посетен на 2009-10-01.
  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, 2013-11-15.
  23. Notepad++. // sourceforge.net.
  24. TextFX's_Future. // SourceForge.
  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 г.
  33. Sengupta, Kim. Isis-linked hackers attack NHS websites to show gruesome Syrian civil war images. // The Independent. 7 февруари 2017. Посетен на 24 юли 2017.

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

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