Notepad создать свой синтаксис
BaJIeHoK » 22 май 2014, 18:28
Приветствую всех.
В данном статье расскажу как добавить синтаксис функций для notepad - иными словами вам будет доступен выбора функции до её полного дописания. Даже незнаю как ещё выразится.
3. Переносим папку на рабочий стол, открываем - видим внутри exe файл и папку include - в ней уже собрано множество инклудов, но если у вас есть ещё - закидывайте туда и запускаете программу - если инклудов мало, то у вас на секунду мелкнет cmd окно и в той же папке появится файл SMA.xml
4. Если путь установки Notepad++ стандартный, тоесть C:\Program Files\Notepad++ или C:\Program Files (x86)\Notepad++ , то можете пропустить данный шаг, а если нет, то берете данный xml файл и закидываете его в папку Ваш путь\Notepad++\plugins\APIs
5. Открываем Notepad++ , в навигационном меню сверху выбираем - Синтаксис и там выбираем - Задать свой синтаксис
6. Нажимаем на кнопку Создать и вводим имя - SMA
6.1 Там же в поле Расшр.: вводим sma
6.2 Выходим из этого окна, нажав на крестик, а так же закрываем сам Notepad++ нажав на крестик
7. Открываем Notepad++ и пробуем замутить какой-либо плагин. Вот, что примерно должно получится
p.s я ток перевел =)
Добавлено спустя 5 минут 22 секунды:
Поправка
Разработчик: Arkshine
Модификация сделана: claudiuhks
sa1me » 22 май 2014, 22:25
Safety1st » 23 май 2014, 20:54
Программа, запущенная с правами администратора, умеет сама кидать получившийся XML-файл в нужное место.
В наборе я рекомендую использовать только нужные инклуды, чтобы работало пошустрее и левой инфой не грузило. Закинул програмку прямо в папку amxmodx/scripting , в подпапке include снёс все dod*, ns*, tfc*, ts* и сгенерировал XML-файл.
У меня и автозавершение, и автоподсказки по синтаксису функций были выключены в настройках Notepad++ ( Опции -> Автозавершение ). И то, и то - автоматически, наверное, лишнее, а вызвать их по требованию можно комбинациями Ctrl+Пробел / Ctrl+Shift+Пробел соответственно или через меню Правка -> Автозавершение ввода -> .
Когда новый документ только создан, Notepad++ нужно дать понять, что вы собираетесь набирать код на pawn'е, явно выбрав SMA в меню 'Синтаксис' (в анлийской версии пункт называется интуитивно понятнее - Language , язык). Текущий язык указывается в левом нижнем углу, галочка в меню у активного пользовательского языка НЕ появляется, как в случае со встроенными. Когда открывается существующий документ - переключение на язык SMA происходит автоматически: детект по расширению файла.
Жаль, что из 'готового' только автозавершение и подсказки по синтаксису, но нет подсветки кода: всё чёрное-белое. Первое, конечно, время здорово когда-то экономит: быстрее увидеть здесь и сейчас, чем самому лезть в инклуд, но без второго работать нереально. Зато, по крайней мере, хотя бы 'переключаться' между 'синтаксисом' SMA и C++ легко. Боюсь, подсветку наподобие как у C++ не замутить: та - интегрированная, летает. Пробовал раньше какой-то вариант через UDL - не понравилось: всё тормозило и цвета непривычные. Найти простой способ заюзать подсветку C++ для Pawn'а у меня не получилось.
sa1me » 23 май 2014, 21:00
Safety1st » 23 май 2014, 21:03
sa1me » 23 май 2014, 22:44
Developer , Вы должны зарегистрироваться, чтобы видеть ссылки. вы наверное не выполнили некоторые действия из тутора)
Safety1st » 24 май 2014, 00:16
В том туторе единственное действие - добавить в список расширений sma , до этого я сам догадался и сразу сделал - не помогло, потому что 'вступило в конфликт' с пользовательским языком - SMA , на который назначено то же самое расширение. Его нужно убрать, чтобы по дефолту видеть подсветку C++. Но 'проблема' в другом: подсказки, о которых речь в топике, работают только в UDL. Соответственно, в языке C++ они не работают, а в SMA пропадает подсветка. Какую-то подсветку нужно делать ручками именно для UDL, чтобы и код pawn посвечивался, и подсказки были.
Plrip » 24 май 2014, 03:19
Всё намного проще
Если Вы настраивали по этой статье Вы должны зарегистрироваться, чтобы видеть ссылки. , желательно удалить нотепад + удалить его записи в реестре.
делаем как на картинке.
В этом же окне переходим в - Новый документ (если хотите, чтобы новый документ определялся, как исходный код С++)
Ставим - Синтаксис по умолч.: С++
Далее переходим в опции - определение стилей - в колонке язык выбираем С++
вводим Польз. расширение sma(можно добавить и другие)
жмём Ок.
Закрываем нотепад.
2.Переходим в каталог C:\Program Files (x86)\Notepad++\ (стандартный путь)
Открываем нотепадом файлик langs.model.хмл
В папке AMXX Natives' Parser for Notepad++ из архива
создаём наш файл sma как написано в статье.
Допустим у нас только инклуд core
Вырезаем середину с кнопками, вот так
Идём в каталог C:\Program Files (x86)\Notepad++\plugins\APIs (стандартный путь)
открываем файл срр.хмл
Тут два варианта:
1.Вам нужно с++ и pawn автозавершение ,тогда
Код: Выделить всё < Environment ignoreCase = "no" startFunc = "(" stopFunc = ")" paramSeparator = "," terminal = ";" additionalWordChar = "" />
The following items should be alphabetically ordered .
func = "yes" means the keyword should be treated as a fuction , and thus can be used in the parameter
calltip system . If this is the case , the retVal attribute specifies the return value / type . Any
following Param tag specifies a parameter , they must be in order . The name attributes specifies
the parameter name .
-->
После строк выше вставляем свой кусок кода заготовленный ранее, получается следующее:
2. Вам не нужен никакой с++, только pawn
В файле срр.хмл смело удаляем всё кроме
Код: Выделить всё
Environment specifies how the language should be interpreted. ignoreCase makes autocomplete
ignore any casing, start and stopFunc specify what chars a function starts and stops with.
param specifies parameter separator and terminal can be used to specify a character that stops
any function. Using the same character for different functions results in undefined behaviour.
05/11/2009
The basic word character are : A-Z a-z 0-9 and '_'
If your function name contains other characters,
add your characters in "additionalWordChar" attribute (without separator)
in order to make calltip hint work
-->
The following items should be alphabetically ordered.
func="yes" means the keyword should be treated as a fuction, and thus can be used in the parameter
calltip system. If this is the case, the retVal attribute specifies the return value/type. Any
following Param tag specifies a parameter, they must be in order. The name attributes specifies
the parameter name.
-->
здесь вставляем код из sma
на выходе имеем :
Код: Выделить всё
Environment specifies how the language should be interpreted. ignoreCase makes autocomplete
ignore any casing, start and stopFunc specify what chars a function starts and stops with.
param specifies parameter separator and terminal can be used to specify a character that stops
any function. Using the same character for different functions results in undefined behaviour.
05/11/2009
The basic word character are : A-Z a-z 0-9 and '_'
If your function name contains other characters,
add your characters in "additionalWordChar" attribute (without separator)
in order to make calltip hint work
-->
The following items should be alphabetically ordered.
func="yes" means the keyword should be treated as a fuction, and thus can be used in the parameter
calltip system. If this is the case, the retVal attribute specifies the return value/type. Any
following Param tag specifies a parameter, they must be in order. The name attributes specifies
the parameter name.
-->
NEYDA4NIK » 24 май 2014, 13:43
Plrip » 24 май 2014, 14:01
Кто сейчас на конференции
Базовая возможность notepad++. Настраивается в том числе и через интерфейс самого npp.
Вообще, возможность гибкой настройки определенного пользователем языка в npp существует очень давно, но не все знают, что данная возможность относительно недавно перешла на качественно новый уровень под названием UDL 2.0
Основные возможности: формирование списка ключевых слов, определение синтаксиса блоков, сворачивание этих блоков, определение числовых форматов и, разумеется, настройка стилей оформления для всего этого по отдельности.
Примечание:
Не пробуйте вручную редактировать настройки UDL при запущенном npp, он затрёт все изменения при выходе из программы.
Автодополнение
Умная обработка вывода компилятора
Когда я только начинал реализацию окружения для разработки скриптов FOnline, для синтаксической проверки скриптов я долгое время пользовался обычным вызовом батника с передачей ему пути к скрипту. Однако, потом один из участников нашего сообщества выложил инструкцию по настройке EditPlus для работы с FOnline. Оказалось, что в данном редакторе возможность парсинга вывода компиляторов есть изначально. На тот момент я был уверен, что такие возможности бывают только в IDE и никто не будет возиться с данным функционалом для текстового редактора. Однако, если такой функционал есть в EditPlus, я всё же решил ещё раз пройтись по плагинам N++. К моему удивлению, решение для notepad++ нашлось: плагин NppExec.
Настройки довольно гибкие, не буду описывать процесс, там все довольно просто, просто покажу результат:
Примечание
Плагин не позволяет добавить кнопку для запуска компилятора на тулбар, однако с этой задачей отлично справляется плагин Custom toolbar.
Функция «Go to definition» и отображение списка сущностей
- на основе определенных пользователем регулярных выражений формирует список различных групп сущностей: функции, классы, переменные, да и вообще всё, что угодно
- отображение всего этого в списке
- переход к определению слова по Ctrl+click
- Ctrl+click в пределах одного файла
- группы сущностей чисто формальные и вообще задаются пользователем, таким образом, по крайней мере для UDL , не получится увидеть древовидную структуру классов, переменных и т. п.
- стоит заметить, что ещё не сильно разбирался с SourceCookifier и не могу гарантировать, что вышеперечисленное верно на 100%. Если кто-то заметит ошибки, буду рад информации
- если вам нужна функция «go to definition» для какого-либо более или менее известного языка, стоит посмотреть плагин TagsJump, там уже есть быстрые переходы между файлами
Карта документа
С недавних пор данный модный функционал имеется в n++ прямо из коробки.
Работает.
Быстрый переход к предыдущему положению курсора
Плагин Location Navigate.
Работает в пределах одного файла.
Кроме того, подсвечивает сохраненные и несохраненные изменения файла, произошедшие с момента запуска n++.
Примечание:
Стоит заметить, что основная функция данного плагина реализована в описанном выше плагине SourceCookifier.
Скобки, кавычки.
Расстановка парных кавычек и закрывающих скобок осуществляется плагином XBrackets Lite. Решение далеко не идеальное, но хоть какое-то.
Примечание:
В настройках голого n++ так же можно включить автоматическую подстановку парных символов, но там эта функция реализована совсем топорно и скорее будет раздражать.
Послесловие
На текущий момент это практически всё, что мне удалось выжать из старого доброго Notepad++.
Конечно, можно много жаловаться на то, что Notepad++ существует только под Windows, на то, что sublime во многом превосходит Notepad++. Можно советовать переходить на EditPlus или полноценные IDE (для которых, естественно, придётся своими силами реализовывать большую часть необходимого функционала). Можно вспомнить про Geany с его немалыми возможностями по расширению функционала. Но, исходя из личного опыта, для описанных выше задач notepad++ подходит лучше всего. Возможно, я ошибаюсь, могу даже предположить, что описанное выше уже реализуемо в Sublime без слишком больших затрат. Но, как и в случае с notepad++, весь этот функционал чаще всего разбросан по куче плагинов и по различным документациям. И, если это так, я с удовольствием почитал бы о них подробнее.
Спасибо за внимание, будьте здоровы.
Диалог создания собственного синтаксиса позволяет добавить цветовую подсветку и сворачивание блоков любому языку, который отсутствует во встроенных языках.
Интернет страница на вики о Пользовательские языки содержит список всех известных языков и позволяет обмениваться новыми собственными файлами.
У Notepad++ есть всегда доступный "User Defined language". Вы можете использовать его для теста ваших введённых данных и позже создать новый язык, сохранив с новым именем. Установки "User Defined language" сбрасывается каждый раз при перезапуске Notepad++, его введённые изменения не будут сохранены. Пользовательские языки доступны в нижней части меню "Синтаксис".
Чтобы создать синтаксис, необходимо открыть диалог настройки пользовательского языка, который доступен в Синтаксис→Создать свой синтаксис. или нажать кнопку .
Диалог может быть отдельным окном или пристыкован к рабочей области окна Notepad++. Чтобы сделать это нажмите Стыковать или Undock (Отстыковать). Если диалог отстыкован (отдельное окно) вы можете задать его прозрачность: включить флажок прозрачности и задать степень регулятором. Прозрачность доступна только на Windows 2000 и более поздних версий.
Окно диалога имеет раскрывающийся список текущих пользовательских языков. Выберите один из языков, чтобы изменить его параметры. Если есть разрешение для записи файлов на диск, они будут автоматически сохранятся. Чтобы создать новый пользовательский язык на основе текущего состояния "User Defined language", нажмите кнопку Создать. , появится диалоговое окно с запросом имени, Чтобы создать новый пользовательский язык на основе выбранного языка, нажмите Сохран. как. и введите новое имя. Если вы выбрали пользовательский созданный язык, вы можете нажать на кнопку Переименовать чтобы ввести новое имя, если это необходимо, и кнопку Удалить для удаления языка.
Обратите внимание, что встроенные языки могут иметь различные особенности, которые не дают им возможности быть представленными как пользовательские языки, не говоря уже о возможности изменения их в этом диалоговом окне.
Если вы хотите, чтобы пользовательский язык не учитывал регистр букв в элементах разметки (ключевых словах, операторах и т.д.), поставьте флажок Без уч. регистра .
Для созданного пользовательского языка, можно задать расширение файла, чтобы связать с ним автоопределение языка. Укажите расширение в текстовом поле с указанием Расширен.: .
Большинство элементов разметки имеют определенный стиль текста, связанный с ним. Они работают так же, как "Определение стилей. " (подробно см. Определение стилей. ).
Другие аспекты языка задаются настройками, размещёнными на четырёх вкладках. Вы можете прочитать подробное описание на сайте разработчика (эти страницы переведены в этом разделе).
Стиль по умолчанию и Сворачиваемый блок (Вкладка: Сворачиваемый блок)
Эта вкладка задаёт стиль текста по умолчанию (текст, которому не задан собственный стиль) и теги, которые управляют сворачиванием, а также некоторые более расширенные опции сворачивания. Теги в поле Открывающие теги создают группу сворачивания, которая может быть развёрнута и свёрнута. Теги в поле Закрывающие теги обозначают конец группы сворачивания.
Ключевые слова (Вкладка: Ключевые слова)
Эта вкладка определяет ключевые слова заданные в языке. Вы можете определить до восьми групп ключевых слов, каждый со своим собственным стилем. Если вы отметите флажок Префикс режим для группы, это означает, что эти слова могут быть префиксами целых слов, и таким образом будут захвачены целиком, даже если ключевое слово заканчивается другим текстом. В этом случае весь захваченный текст будет иметь такой же стиль, как ключевое слово (как префикс). Поддерживается использование нескольких слов, воспринимаемых как одно ключевое слово, например "end if". Для этого нужно заключить их в кавычки
Комментарии и числа (Вкладка: Комментарии и числа)
Эта вкладка определяет поведение и отображение комментариев, и отображение чисел. Можно задать теги однострочного комментария. Эти комментарии работают от заданного символа до конца строки или до закрывающего тега на той же строке. Можно задать теги блочного комментария. Блочный комментарий работает от открывающего тега до тех пор пока не будет достигнут закрывающий тег.
Комментарии позволяют вложенные стили. Это позволяет не только (если хотите) вложенные комментарии, но и вводить ключевые слова или строки внутри комментариев.
Числа. Распознаются только числа включающие в себя цифры 0-9. Однако, цифрам могут опционально предшествовать специальные знаки (например "0x", "€" и т.д.). Для чисел с префиксом, дополнительные символы разрешены внутри числа (поле Дополн ). Это как если бы вы задали от 'A' до 'F' как шестнадцатеричные цифры и получить необходимую подсветку шестнадцатеричных чисел. Диапазон символов между числами также поддерживаются.
Операторы и разделители (Вкладка: Операторы и разделители)
Эта вкладка определяет операторы и разделители. Символ оператора является символом, разделяющим два слова. Они подобны пробелам, но может быть и иначе.
Некоторые языки могут использовать слова как операторы, например " and " а не " && ". Вторая группа операторов предназначена как раз для таких. Оба вида операторов являются одним и тем же.
Разделители это теги задающиеся парами. Любой текст между двумя разделителями (включая сами разделители) подсвечивается. Хорошим примером является строка, которая заключена в кавычки и подсвечивается другим цветом. Во многих языках, строка между разделителями может содержать сам разделитель со специальным экранирующим префиксом, чтобы воспринимать его не как разделитель, а литерально. Вы можете задать этот префикс, называемый экранирующим символом. Каждый из 8 разделителей позволяет внутри себя делать вложенные стили и комментарии.
- Импортировать язык из внешнего файла до тех пор пока его содержание соответствует формату. Изменения будут сохранены в ваш файл для всех языков.
- Экспортировать индивидуально выбранный язык в XML-файл.
Обратите внимание, что, если вы импортируете язык, который уже имеется, то вы получите двойные записи в раскрывающемся списке и в меню синтаксиса.
Меню Вид редактора кода Notepad++ позволяет настроить параметра отображения окна с документом, задать масштаб, также, тут можно задать отображение специальных символов, произвести операции с блоками кода и многое другое.
Меню Синтаксис
Данное меню редактора Notepad++ позволяет выбрать или создать собственный синтаксис кода. В самом меню уже есть несколько пунктов, который позволяют выбрать нужный синтаксис (например, указать, что мы программируем на php или perl). Хотя, в большинстве случает при сохранении документа под нужным расширением, текстовый редактор notepad++ автоматически выбирает нужный синтаксис, учитывая расширение файла.
Задать свой язык… - Данный пункт меню показывает диалоговое окно с множеством вкладок. Фактически, тут можно определить собственный язык программирования и его синтаксис. Однако, как на меня, это лишняя работа, так как большинство языков содержат похожий синтаксис.
Так, вы можете добавить собственное расширение файла к нужному стилю в меню "Опции/ Определение стилей".
Меню Опции
Настройки… - Данный пункт содержит практически все настройки редактора кода Notepad++. Сразу после выбора данного пункта появится диалоговое окно с несколькими вкладками.
Общие – Тут содержатся следующие настройки:
- Язык интерфейса – Содержит выпадающий список с языками.
- Панель инструментов – Тут можно скрыть или показать панель инструментов, а также выбрать размер значков.
- Панель меню – Позволяет показать или скрыть панель с меню ("Alt" или "F10" для выбора).
- Список документов – Включить или отключить боковое меню, в котором будет отображаться список открытых документов.
- Панель вкладок – Тут можно выбрать различные параметры отображения панели вкладок.
Правка – Данная вкладка особо важных функций не представляет. Тут можно задать оформление границ блока (блоком считаются программные конструкция типа процедура, цикл и так далее), включить или отключить нумерацию строк, задать параметры границ и так далее.
Новый документ – Тут можно задать базовые параметры для нового документа, например, кодировку. Можно задать количество документов, информация о которых будет храниться в истории, а также формат отображения (только имя или путь и имя файла).
Ассоциация файлов – Собственно, позволяет связать приложение с заданными типами файлов.
Синтаксис/Табуляция – Тут отображаются два блока, первый блок позволяет сформировать список с отключенными языками программирования. Второй блок позволяет задать размер табуляции для заданного языка программирования.
Резерв/Автозавершение – Тут можно задать параметры резервного копирования (тип, каталог для сохранения) и параметры автозавершения вводимых данных (можно включить или отключить для каждого ввода, включить или отключить отображение подсказок при вводе программных конструкций).
Определение стилей. – Данный пункт меню позволяет настроить стили для выбранного синтаксиса языка, например, цвет текста, размер и так далее. Также тут можно добавить расширение к выбранному синтаксису. Также можно выбрать стиль оформления из выпадающего списка вверху.
Меню Запуск
Запуск… - Клавиша "F5”. Данный пункт запускает диалоговое окно редактора кода Notepad++, в котором надо ввести путь к программе и возможные передаваемые параметры. Вы можете использовать кнопку Обзор (Она рядом со строкой ввода), чтобы найти нужную программу. Передаваемые параметры (если они нужны) заключаются в в $ ( . ), где . может быть:
- FULL_CURRENT_PATH – Путь к текущему каталогу
- CURRENT_DIRECTORY – Имя текущего каталога
- FILE_NAME – Имя файла
- NAME_PART – Имя файла без расширения
- EXT_PART – Расширение файла
- NPP_DIRECTORY – Имя каталога, в котором находится приложение Notepad++.
- CURRENT_WORD - Текущее выделение текста в документе.
- CURRENT_LINE - Текущий номер строки, которая выбрана в документе (нумерация идет с 0).
- CURRENT_COLUMN – Текущая колонка, в которой находится курсор (нумерация идет с 0).
"$(NPP_DIRECTORY)\notepad++.exe" -multiInst "$(FULL_CURRENT_PATH)"
В данном случае, произойдет открытие активного документа в новом экземпляре Notepad++.
Кнопка "Сохранить…" позволяет сохранить введенную команду и назначить ей им и комбинацию клавиш.
В меню Запуск также отображаются сохраненные команды, а последний пункт позволяет удалить сохраненные команды или изменить комбинации клавиш.
Меню Окна
Данное меню содержит все открытые файлы в текстовом редакторе Notepad++. Последний пункт "Окна…" показывает диалоговое окно, в котором находится список всех открытых файлов, путь по которому они сохранены (если файл сохранен), а также тип (все зависит от расширения сохраняемого файла). Тут же можно переключиться с одного файла на другой, Закрыть или сохранить открытый файл.
Спасибо за внимание. Автор блога Владимир Баталий
Кто сейчас на конференции
Базовая возможность notepad++. Настраивается в том числе и через интерфейс самого npp.
Вообще, возможность гибкой настройки определенного пользователем языка в npp существует очень давно, но не все знают, что данная возможность относительно недавно перешла на качественно новый уровень под названием UDL 2.0
Основные возможности: формирование списка ключевых слов, определение синтаксиса блоков, сворачивание этих блоков, определение числовых форматов и, разумеется, настройка стилей оформления для всего этого по отдельности.
Примечание:
Не пробуйте вручную редактировать настройки UDL при запущенном npp, он затрёт все изменения при выходе из программы.
Автодополнение
Умная обработка вывода компилятора
Когда я только начинал реализацию окружения для разработки скриптов FOnline, для синтаксической проверки скриптов я долгое время пользовался обычным вызовом батника с передачей ему пути к скрипту. Однако, потом один из участников нашего сообщества выложил инструкцию по настройке EditPlus для работы с FOnline. Оказалось, что в данном редакторе возможность парсинга вывода компиляторов есть изначально. На тот момент я был уверен, что такие возможности бывают только в IDE и никто не будет возиться с данным функционалом для текстового редактора. Однако, если такой функционал есть в EditPlus, я всё же решил ещё раз пройтись по плагинам N++. К моему удивлению, решение для notepad++ нашлось: плагин NppExec.
Настройки довольно гибкие, не буду описывать процесс, там все довольно просто, просто покажу результат:
Примечание
Плагин не позволяет добавить кнопку для запуска компилятора на тулбар, однако с этой задачей отлично справляется плагин Custom toolbar.
Функция «Go to definition» и отображение списка сущностей
- на основе определенных пользователем регулярных выражений формирует список различных групп сущностей: функции, классы, переменные, да и вообще всё, что угодно
- отображение всего этого в списке
- переход к определению слова по Ctrl+click
- Ctrl+click в пределах одного файла
- группы сущностей чисто формальные и вообще задаются пользователем, таким образом, по крайней мере для UDL , не получится увидеть древовидную структуру классов, переменных и т. п.
- стоит заметить, что ещё не сильно разбирался с SourceCookifier и не могу гарантировать, что вышеперечисленное верно на 100%. Если кто-то заметит ошибки, буду рад информации
- если вам нужна функция «go to definition» для какого-либо более или менее известного языка, стоит посмотреть плагин TagsJump, там уже есть быстрые переходы между файлами
Карта документа
С недавних пор данный модный функционал имеется в n++ прямо из коробки.
Работает.
Быстрый переход к предыдущему положению курсора
Плагин Location Navigate.
Работает в пределах одного файла.
Кроме того, подсвечивает сохраненные и несохраненные изменения файла, произошедшие с момента запуска n++.
Примечание:
Стоит заметить, что основная функция данного плагина реализована в описанном выше плагине SourceCookifier.
Скобки, кавычки.
Расстановка парных кавычек и закрывающих скобок осуществляется плагином XBrackets Lite. Решение далеко не идеальное, но хоть какое-то.
Примечание:
В настройках голого n++ так же можно включить автоматическую подстановку парных символов, но там эта функция реализована совсем топорно и скорее будет раздражать.
Послесловие
На текущий момент это практически всё, что мне удалось выжать из старого доброго Notepad++.
Конечно, можно много жаловаться на то, что Notepad++ существует только под Windows, на то, что sublime во многом превосходит Notepad++. Можно советовать переходить на EditPlus или полноценные IDE (для которых, естественно, придётся своими силами реализовывать большую часть необходимого функционала). Можно вспомнить про Geany с его немалыми возможностями по расширению функционала. Но, исходя из личного опыта, для описанных выше задач notepad++ подходит лучше всего. Возможно, я ошибаюсь, могу даже предположить, что описанное выше уже реализуемо в Sublime без слишком больших затрат. Но, как и в случае с notepad++, весь этот функционал чаще всего разбросан по куче плагинов и по различным документациям. И, если это так, я с удовольствием почитал бы о них подробнее.
Спасибо за внимание, будьте здоровы.
Диалог создания собственного синтаксиса позволяет добавить цветовую подсветку и сворачивание блоков любому языку, который отсутствует во встроенных языках.
Интернет страница на вики о Пользовательские языки содержит список всех известных языков и позволяет обмениваться новыми собственными файлами.
У Notepad++ есть всегда доступный "User Defined language". Вы можете использовать его для теста ваших введённых данных и позже создать новый язык, сохранив с новым именем. Установки "User Defined language" сбрасывается каждый раз при перезапуске Notepad++, его введённые изменения не будут сохранены. Пользовательские языки доступны в нижней части меню "Синтаксис".
Чтобы создать синтаксис, необходимо открыть диалог настройки пользовательского языка, который доступен в Синтаксис→Создать свой синтаксис. или нажать кнопку .
Диалог может быть отдельным окном или пристыкован к рабочей области окна Notepad++. Чтобы сделать это нажмите Стыковать или Undock (Отстыковать). Если диалог отстыкован (отдельное окно) вы можете задать его прозрачность: включить флажок прозрачности и задать степень регулятором. Прозрачность доступна только на Windows 2000 и более поздних версий.
Окно диалога имеет раскрывающийся список текущих пользовательских языков. Выберите один из языков, чтобы изменить его параметры. Если есть разрешение для записи файлов на диск, они будут автоматически сохранятся. Чтобы создать новый пользовательский язык на основе текущего состояния "User Defined language", нажмите кнопку Создать. , появится диалоговое окно с запросом имени, Чтобы создать новый пользовательский язык на основе выбранного языка, нажмите Сохран. как. и введите новое имя. Если вы выбрали пользовательский созданный язык, вы можете нажать на кнопку Переименовать чтобы ввести новое имя, если это необходимо, и кнопку Удалить для удаления языка.
Обратите внимание, что встроенные языки могут иметь различные особенности, которые не дают им возможности быть представленными как пользовательские языки, не говоря уже о возможности изменения их в этом диалоговом окне.
Если вы хотите, чтобы пользовательский язык не учитывал регистр букв в элементах разметки (ключевых словах, операторах и т.д.), поставьте флажок Без уч. регистра .
Для созданного пользовательского языка, можно задать расширение файла, чтобы связать с ним автоопределение языка. Укажите расширение в текстовом поле с указанием Расширен.: .
Большинство элементов разметки имеют определенный стиль текста, связанный с ним. Они работают так же, как "Определение стилей. " (подробно см. Определение стилей. ).
Другие аспекты языка задаются настройками, размещёнными на четырёх вкладках. Вы можете прочитать подробное описание на сайте разработчика (эти страницы переведены в этом разделе).
Стиль по умолчанию и Сворачиваемый блок (Вкладка: Сворачиваемый блок)
Эта вкладка задаёт стиль текста по умолчанию (текст, которому не задан собственный стиль) и теги, которые управляют сворачиванием, а также некоторые более расширенные опции сворачивания. Теги в поле Открывающие теги создают группу сворачивания, которая может быть развёрнута и свёрнута. Теги в поле Закрывающие теги обозначают конец группы сворачивания.
Ключевые слова (Вкладка: Ключевые слова)
Эта вкладка определяет ключевые слова заданные в языке. Вы можете определить до восьми групп ключевых слов, каждый со своим собственным стилем. Если вы отметите флажок Префикс режим для группы, это означает, что эти слова могут быть префиксами целых слов, и таким образом будут захвачены целиком, даже если ключевое слово заканчивается другим текстом. В этом случае весь захваченный текст будет иметь такой же стиль, как ключевое слово (как префикс). Поддерживается использование нескольких слов, воспринимаемых как одно ключевое слово, например "end if". Для этого нужно заключить их в кавычки
Комментарии и числа (Вкладка: Комментарии и числа)
Эта вкладка определяет поведение и отображение комментариев, и отображение чисел. Можно задать теги однострочного комментария. Эти комментарии работают от заданного символа до конца строки или до закрывающего тега на той же строке. Можно задать теги блочного комментария. Блочный комментарий работает от открывающего тега до тех пор пока не будет достигнут закрывающий тег.
Комментарии позволяют вложенные стили. Это позволяет не только (если хотите) вложенные комментарии, но и вводить ключевые слова или строки внутри комментариев.
Числа. Распознаются только числа включающие в себя цифры 0-9. Однако, цифрам могут опционально предшествовать специальные знаки (например "0x", "€" и т.д.). Для чисел с префиксом, дополнительные символы разрешены внутри числа (поле Дополн ). Это как если бы вы задали от 'A' до 'F' как шестнадцатеричные цифры и получить необходимую подсветку шестнадцатеричных чисел. Диапазон символов между числами также поддерживаются.
Операторы и разделители (Вкладка: Операторы и разделители)
Эта вкладка определяет операторы и разделители. Символ оператора является символом, разделяющим два слова. Они подобны пробелам, но может быть и иначе.
Некоторые языки могут использовать слова как операторы, например " and " а не " && ". Вторая группа операторов предназначена как раз для таких. Оба вида операторов являются одним и тем же.
Разделители это теги задающиеся парами. Любой текст между двумя разделителями (включая сами разделители) подсвечивается. Хорошим примером является строка, которая заключена в кавычки и подсвечивается другим цветом. Во многих языках, строка между разделителями может содержать сам разделитель со специальным экранирующим префиксом, чтобы воспринимать его не как разделитель, а литерально. Вы можете задать этот префикс, называемый экранирующим символом. Каждый из 8 разделителей позволяет внутри себя делать вложенные стили и комментарии.
- Импортировать язык из внешнего файла до тех пор пока его содержание соответствует формату. Изменения будут сохранены в ваш файл для всех языков.
- Экспортировать индивидуально выбранный язык в XML-файл.
Обратите внимание, что, если вы импортируете язык, который уже имеется, то вы получите двойные записи в раскрывающемся списке и в меню синтаксиса.
Меню Вид редактора кода Notepad++ позволяет настроить параметра отображения окна с документом, задать масштаб, также, тут можно задать отображение специальных символов, произвести операции с блоками кода и многое другое.
Меню Макросы
Старт записи – Позволяет запустить запись макроса
Стоп записи – Позволяет остановить запись макроса. Вся запись будет храниться во временном буфере, содержимое которого будет автоматически перезаписано при записи нового макроса.
Прокрутить запись – Позволяет запустить записанный макрос, тот макрос, который был записан последним. Комбинация "Ctrl + Shift + P".
Сохранить запись макроса… - Данный пункт запускает диалоговое окно редактора Notepad++, в котором нужно указать имя макроса и назначить ему комбинацию клавиш, по которой он будет запускаться.
Запустить многократно… - Данный пункт запускает диалоговое окно, в котором можно выбрать нужный макрос (из буфера обмена или сохраненный макрос). Также, тут можно указать количество запусков или выбрать, что бы макрос воспроизводился до конца файла.
Изменить горячие клавиши/ Удалить макрос – Собственно, данный пункт говорит сам за себя. Тут можно задать или изменить комбинации клавиш для базовых команд редактора и макросов, а также удалить сохраненный макрос.
Меню Вид – Текстовый редактор Notepad++
Поверх всех окон – Включает или отключает режим, в котором окно редактора Notepad++ будет всегда отображаться поверх остальных окон.
Текст во весь экран – Во весь экран отображается содержимое документа и вкладки. Клавиша "F11".
Только текст (во все окно) – Во весь экран отображается только содержимое документа, без вкладок. Клавиша "F12".
Отображение символов - Данный пункт позволяет включить или отключить отображение специальных символов или разметку в редакторе кода Notepad++.
- Отображать пробелы и Табуляцию – Будет отображаться или нет разметка для пробелов (точка) или табуляции (стрелка).
- Отображать символ Конец строки – Включить или отключить отображение символа конца строки, например, CRLF, CR, LF, в зависимости от выбора, заданного в меню "Правка/Формат" конца строки.
- Отображать все символы
- Отображать отступы – Включить или отключить разметку, которая показывает отступы.
- Отображать символ Перенос строки
Масштаб – Позволяет увеличить или уменьшить масштаб окна в редакторе Notepad++.
- Крупнее – Комбинации "Ctrl + Колесико мыши вверх " или "Ctrl + Num + "
- Мельче – Комбинации "Ctrl + Колесико мыши вниз " или "Ctrl + Num - "
- Восстановить масштаб… - Комбинация "Ctrl + Num / "
Операции с документами – Пункт позволяет задавать режим одновременного просмотра документов в двух окнах.
- Переместить в другое окно – Создает еще одно окно, в котором будет отображаться активный документ.
- Дублировать в другое окно – Создает еще одно окно в текстовом редакторе Notepad++, в котором будет отображаться копия активного документа. Фактически, один и тот же документ будет отображаться в двух окнах одновременно.
- Переключиться на другое окно – Позволяет переключать фокус между окнами, клавиша "F8"
Спрятать выбранные строки – Позволяет скрыть выбранные строки кода в итоге, слева появятся два треугольника, нажав на которые, можно будет снова показать спрятанные строки. Комбинация "Alt + H".
Свернуть все блоки – Сворачивает все блочные конструкции кода (например, Sub…End Sub). В итоге, слева появится плюсик, нажав на который можно снова развернуть блок. Комбинация "Alt + 0".
- Развернуть все блоки – Показывает свернутые блочные конструкции, комбинация "Alt + Shift + 0".
Свернуть текущий блок – Сворачивает блок кода, в котором находится курсор, комбинация "Ctrl + Alt + F".
Развернуть текущий блок – Показывает свернутый блок, тот блок, возле которого находится курсор, комбинация "Ctrl + Alt + Shift + F".
Свернуть уровень – Данный пункт позволяет свернуть заданный уровень блока кода. Это актуально, если у нас несколько вложенных конструкций (например, вложенные циклы, вложенные процедуры и так далее). Подпункты определяют уровень вложенности, всего их 8. Комбинации клавиш "Alt + 1", "Alt + 2", …., и так до 8 уровня.
Развернуть уровень – Данный пункт позволяет показать заданный уровень блока кода, если он был свернут. Комбинации клавиш "Alt + Shift + 1", "Alt + Shift + 2", …., и так до 8 уровня.
Информация о файле… - Позволяет просмотреть данные о текущем документе: количество слов и строк, путь к файлу и так далее.
- Текст справа налево – Задает направление текста справа налево, комбинация "Ctrl + Alt + R"
- Текст слева направо – Задает направление текста слева направо, комбинация "Ctrl + Alt + R"
Спасибо за внимание. Автор блога Владимир Баталий
В этой статье я решил рассмотреть несколько меню редактора кода Notepad++, а именно – меню Синтаксис, Опции, Макросы, Запуск и Окна. По сути, тут нет ничего сложно, и больший интерес предоставляет меню Макросы, которое позволяет создавать или сохранять макросы (действия, сделанные в редакторе кода) и меню Опции, так как тут хранятся практически все настройки редактора.
Читайте также: