Изменение контекстного меню в Notepad++ (Настраиваем редактор «под себя»)

Для того чтобы изменить контекстное меню, настроить как говорится «под себя», нужно сделать ряд совсем нехитрых действий.

Итак, преступим:

1. Открываем файл редактирования меню Меню - Опции - Редакт. контекстного меню.

Редактирование контекстного меню

Изображение 1 Редактирование контекстного меню

Открывается файл contextMenu.xml смотрим на его пункты и видим некоторый набор строк, это и есть команды нашего контекстного меню.


<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
<ScintillaContextMenu>
<Item MenuEntryName="Edit" MenuItemName="Cut"/>
<Item MenuEntryName="Edit" MenuItemName="Copy"/>
<Item MenuEntryName="Edit" MenuItemName="Paste"/>
<Item MenuEntryName="Edit" MenuItemName="Delete"/>
<Item MenuEntryName="Edit" MenuItemName="Select all"/>
<!-- и так далее ... -->

Например, строка <Item MenuEntryName="Edit" MenuItemName="Cut"/>, это команда Вырезать, и так далее по списку. Какие команды, что означают, не трудно догадаться, нажимая правую кнопку мыши и сравнивая строчки, все они идут по порядку.

2. Предполагается, что вы уже определились, что нужно оставить, уже предполагаем, чтобы хотели добавить в набор команд, а чего не нужно совсем. То есть те действия которые не выполняете или выполняете крайне редко, а может даже, и не понимаем, зачем они нужны. Как, например, в моем случае я не знаю, что означают команды «Style token» и «Remove style» и, не мудрствуя лукаво, просто их удалил.

3. Приступаем к изменению меню. Для того чтобы, узнать какие строки следует добавить, чтобы появились нужные нам команды открываем файл nativeLang.xml. Находится он в корневом каталоге установленного Notepad++ либо в ..\AppData\Roaming\Notepad++\nativeLang.xml взависимости от того каким образом вы устанавливали редактор. В этом файле можно можно подглядеть и скопировать перечень команд.

Редактирование контекстного меню

Изображение 2 файл nativeLang.xml

Ищем в нем нужные команды, копируем строки и вставляем в файл меню. То есть это конечно же не волшебный файл в котором можно найти любую команду которую хотим, а лишь те что есть в меню редактора. Но какие-то мы используем чаще, и вполне нормально, что они у нас будут «под рукой» «под пальцем» скорее ;)

Например, хотим добавить команду «Удалить пустые строки», можно просто найти ее в списке, можно через поиск, она имеет вид <Item id="42055" name="Удалить Пустые Строки"/> всю строку копируем и вставляем в файл меню, туда где, по вашему мнению, ей самое место. У меня, например, после редактирования контекстное меню выглядит вот так:

Редактирование контекстного меню

Изображение 3 Измененное контекстное меню

Поэкспериментировав немного, вы сможете добиться не только нужного перечня команд, но и их расположения в соответствии с вашими пожеланиями.

Хотя вот вам код, моего файла contextMenu.xml чтобы было проще понять, как группировать команды.


<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
<ScintillaContextMenu>
<Item MenuEntryName="Edit" MenuItemName="Cut"/>
<Item MenuEntryName="Edit" MenuItemName="Copy"/>
<Item MenuEntryName="Edit" MenuItemName="Paste"/>
<Item MenuEntryName="Edit" MenuItemName="Delete"/>
<Item MenuEntryName="Edit" MenuItemName="Select all"/>
<!-- id="0" is the separator -->
<Item id="0"/>
<Item FolderName="Строки и Пробелы" id="42055" name="Удалить Пустые Строки"/>
<Item FolderName="Строки и Пробелы" id="42056" name="Удалить Пустые Строки (Содер. символы Пробел)"/>
<Item FolderName="Строки и Пробелы" id="42043" name="Убрать Начальные и Замыкающие Пробелы"/>
<Item FolderName="Строки и Пробелы" id="42045" name="Убрать лишние Пробелы а Концы Строк в Пробел"/>
<Item FolderName="Строки и Пробелы" MenuEntryName="View" MenuItemName="Hide lines"/>
<Item id="0"/>
<Item FolderName="Блоки" id="44030" name="Свернуть текущий блок"/>
<Item FolderName="Блоки" id="44031" name="Развернуть текущий блок"/>
<Item FolderName="Блоки" id="44010" name="Свернуть все блоки"/>
<Item FolderName="Блоки" id="44029" name="Развернуть все блоки"/>
<Item id="0"/>
<Item FolderName="Преобразовать регистр" MenuEntryName="Edit" MenuItemName="UPPERCASE"/>
<Item FolderName="Преобразовать регистр" MenuEntryName="Edit" MenuItemName="lowercase"/>
<Item id="0"/>
<Item FolderName="Комментарии" MenuEntryName="Edit" MenuItemName="Block Comment"/>
<Item FolderName="Комментарии" MenuEntryName="Edit" MenuItemName="Block Uncomment"/>
<Item FolderName="Комментарии" MenuEntryName="Edit" MenuItemName="Toggle Single Line Comment"/>
<Item id="0"/>
<Item FolderName="Поиск и Замена"  id="43001" name="Найти..."/>
<Item FolderName="Поиск и Замена" id="43003" name="Замена..."/>
<Item FolderName="Поиск и Замена" id="43013" name="Найти в файлах"/>
<Item id="0"/>
<Item FolderName="Путь к фалу" id="42029" name="Путь и Имя файла в буфер"/>
<Item FolderName="Путь к фалу" id="42030" name="Имя файла в буфер"/>
<Item FolderName="Путь к фалу" id="42031" name="Путь к файлу в буфер"/>
<Item id="0"/>
<Item FolderName="Проект" id="44081" name="Панель 1"/>
<Item FolderName="Проект" id="44082" name="Панель проекта 2"/>
<Item FolderName="Проект" id="44083" name="Панель проекта 3"/>
</ScintillaContextMenu>
</NotepadPlus>

Ну и для тех кому лучше один раз увидеть, чем сто раз прочесть ... Хотя я не разделяю этой поговорки, если дело касается учебы чему нибудь.