Расширить Notepad ++
Как я использую Notepad ++ ежедневно на работе, я хочу расширить его, чтобы быть более продуктивным.
Что я хочу сделать, это выбрать несколько строк, содержащих слова, щелкнуть правой кнопкой мыши и выбрать пункт меню, например "Запятая отдельно", а затем получить все слова в отдельной разделительной запятой.
Я знаю, что Notepad ++ поддерживает макросы и плагины. Какой был бы лучший способ сделать это?
У меня ограниченные навыки С++.
Update:
Чтобы уточнить, это не более 5 или 6 строк слов, которые мне нужно переформатировать. Проблема в том, что я делаю это как 50 раз в день, поэтому способ ускорить это было бы здорово. Есть ли другое приложение, которое может сделать это для меня?
Update2
Спасибо за ваши ответы. Я попытаюсь создать плагин Notepad ++.
Update3
Кто-нибудь знает об .NET-оболочке для создания плагина Notepad ++? Возможно, это должен быть новый вопрос.
Ответы
Ответ 1
Я часто использую макрокоманду Notepad ++ для таких вещей.
Eg. Скажите, что у вас есть это:
apple
pear
banana
grape
orange
Для запятой отдельных строк вы можете перейти к первой строке, затем нажмите ctrl + r (начать запись), затем завершите, удалите, запятую, затем ctrl + r, чтобы остановить запись.
Затем нажмите кнопку управления + p (воспроизведите запись) несколько раз, пока не получите то, что вы хотите. Если я обрабатываю большой файл, я просто удержу его, а затем ctrl + z, если я зашел слишком далеко.
Вы не можете сохранить свой макрос позже, но что-то простое легко сделать снова.
Изменить: На самом деле, оказывается, вы можете сохранить свой макрос позже и даже назначить ему горячую клавишу. Просто запишите макрос, затем перейдите Macro -> Save current recorded macro
.
Ответ 2
Теперь вы можете сделать это легко с помощью плагина Python Scripting для Notepad ++.
Просто добавьте script с чем-то вроде
text = editor.getSelText()
text = text.replace(' ', ',')
editor.replaceSel(text)
Назначьте script ярлык или кнопку на панели инструментов, и вы уйдете. Я не совсем понимаю, что вы хотите заменить, но, очевидно, изменение логики script должно быть довольно простым.
Ответ 3
Когда он просит .NET-подход в своем последнем редакторе, здесь мы идем:
Блокнот Notepad ++.NET для Visual Studio и SharpDevelop
Ответ 4
На самом деле в Notepad ++ вы должны использовать эту строку для соответствия одному слову в строке, возможно с завершающими пробелами:
^\<(.*)\> *$
а затем вы заменяете слова \1,
Я попытался сделать это сам, все сработало, но после этого вам нужно переключиться с режима поиска регулярных выражений на расширенные и удалить все \r\n
или \n
в зависимости от окончаний вашей строки.
Ответ 5
На основании ответа PhiLho:
- Закрыть Notepad ++
- Изменить% AppData%\Notepad ++\shortcuts.xml в любом текстовом редакторе, отличном от N ++
-
Найдите тег <Macros> и вставьте внутри кода ниже:
<Macro name="Lines to comma separated text" Ctrl="no" Alt="yes" Shift="yes" Key="82">
<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="\r\n" />
<Action type="3" message="1625" wParam="0" lParam="1" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="," />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
</Macro>
- Сохранить, закрыть и открыть Notepad ++ - вы увидите новый макрос в меню "Макро" с ключевым ярлыком, установленным на Alt + Shift + R (легко настроить внутри shortcuts.xml)
Ответ 6
Посмотрим.
У меня 5 строк слова. Я их выбираю. Ctrl + H. Проверьте расширенный и в выборе. Найдите "\ r\n", замените на ",", нажмите "Заменить все".
Я получил в основном результат, который вы хотите (с дополнительной запятой в конце).
Это то, что вы хотите? Возможно, вы можете сделать макрос из него, я мало знаю об этой возможности (в основном я использую SciTE).