Плагины для notepad python

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Python Script plugin for Notepad++

License

bruderstein/PythonScript

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

* Change input box get focus after run command Currently, after running a command, the focus goes to the output window with the cursor blinking in it. One needs press `Tab` twice to return to the input combobox to enter a subsequent command. It seems to be stemming from a `SetFocus()` command to the handle of `m_hInput` which is defined: PythonScript/PythonScript/src/ConsoleDialog.cpp: «` 126: m_hInput = FindWindowEx(m_hCombo, NULL, L»Edit», NULL); «` Though I’m not sure what that returns since I don’t see an Edit box in the PythonScript dockable dialog. There is however a combobox which is set to `m_hCombo` and that is where the commands are entered. This changes the `giveInputFocus()` method in ConsoleDialog class to give focus to the combobox. The only «issue» is that when gaining focus, the text in the combobox is not cleared, it is highlighted. One can simply start typing and it will overwrite. I think a vast improvement. Fix #184 * Change input box get focus after run command Currently, after running a command, the focus goes to the output window with the cursor blinking in it. One needs press `Tab` twice to return to the input combobox to enter a subsequent command. It seems to be stemming from a `SetFocus()` command to the handle of `m_hInput` which is defined: PythonScript/PythonScript/src/ConsoleDialog.cpp: «` 126: m_hInput = FindWindowEx(m_hCombo, NULL, L»Edit», NULL); «` Though I’m not sure what that returns since I don’t see an Edit box in the PythonScript dockable dialog. There is however a combobox which is set to `m_hCombo` and that is where the commands are entered. This changes the `giveInputFocus()` method in ConsoleDialog class to give focus to the combobox. The only «issue» is that when gaining focus, the text in the combobox is not cleared, it is highlighted. One can simply start typing and it will overwrite. I think a vast improvement. Fix #184 ——— Co-authored-by: VinsWorldcom

Источник

Python Script for Notepad++

Python’s a great choice for a scripting language — it’s very easy to learn, very easy to read and write, and can be object oriented (in fact, it has an excellent model), but doesn’t need to be. A script that looks like

is just as valid as a full blown object oriented magic system that turns Notepad++ into a coffee-making spreadsheet application.

Donations

So, I do this for fun — Notepad++ is a great editor, but I missed not being able to script things properly, so I put this together.
I’m not after donations towards my coffee, but, my sister’s a doctor, and is trying to build a hospital in Ghana. She’s already raised enough to send a load of equipment over to an existing hospital, which makes a terrific difference in a place where equipment is scarce. She needs 100,000GBP to build the hospital and fill it with decent equipment. It sounds like a lot, but it isn’t really. If one in fifty of the people that downloaded my last plugin (Plugin Manager) gave 1 pound each, that would be enough.
It’s not compulsory by any means (and specifically, for UK tax reasons, is not by way of payment for goods, you get the plugins for free), but, it would bring some meaning to the months of work I put into this, and you know that you’ve made a difference — and it’s got to be a better cause than handing over hard earned cash to profit some software firm.

Visit the charity, or go straight to the online donation page (whatever amount you can, every penny counts).

Источник

Скрипт для Notepad++ на Python

Думаю, многим известен — удобная бесплатная утилита, выступающая в качестве «продвинутой» замены стандартному Блокноту Windows. Как и при работе в любом текстовом редакторе, в Notepad++ время от времени возникает необходимость автоматизировать какие-либо повторяющиеся действия, которые в силу сложности логики невозможно записать как макрос. К счастью, для решения этой задачи нет необходимости переключаться из в, например, Word, дабы воспользоваться встроенным в него VB.

Среди плагинов для существуют расширения, реализующие возможность написания скриптов для на разных языках, таких как JavaScript, Lua, PHP или Python. Именно на последнем я и решил остановиться для решения своей задачи.

Постановка задачи

Предположим, перед нами стоит следующая задача (взята из жизни).

  • пронумеровать символы ‘@’, находящиеся в начале строки, заменив ‘@’ на ‘@1’, ‘@2’ и т.д.;
  • удалить пустые (включая пробелы и табуляцию) строки, идущие подряд по две и более.

3. Если в выделенном фрагменте текста (или во всём документе — в случае если нет выделения) отсутствует символ ‘@’, должно выводиться соответствующее сообщение об ошибке.

  • по нажатию соответствующей кнопки на панели инструментов;
  • с помощью клавиатурного сочетания;
  • через контекстное меню правой кнопки мыши.

Решение

Для начала нам потребуется установить плагин для под названием Python Script. С его помощью можно производить любые операции с редактируемым текстом, открывать/закрывать файлы, переключать вкладки, выполнять команды меню и т.д. — одним словом, практически всё, что вообще можно сделать в .

Далее, выбрав в меню Plugins->Python Script->New Script, создаём скрипт:

# -*- coding: utf-8 -*- #Скрипт для Notepad++, удаляющий пустые строки и нумерующий символы "@", находящиеся в начале строки # Получаем выделенный текст text = editor.getSelText() isSelection = True # Если текст не выделен, то работаем со всем документом if not text: isSelection = False text = editor.getText() #Находим количество вхождений символа "@", находящегося в начале строки import re occurrencesCount = len(re.findall('^@', text, flags=re.MULTILINE)) # Если в тексте нет ни одного символа "@" в начале строки, выводим сообщение об ошибке if occurrencesCount == 0: notepad.messageBox('В тексте должен присутствовать как минимум 1 символ "@" в начале строки', 'Неверный формат входных данных', MESSAGEBOXFLAGS.ICONEXCLAMATION) # Если символ "@" присутствует, то else: countStartFrom = '' # Выдаём запрос до тех пор, пока не будет введено число while not countStartFrom.isdigit(): countStartFrom = notepad.prompt('Введите число, с которого должна начинаться нумерация вхождений в тексте символа "@":', 'Нумерация вхождений символа "@"', '1') if countStartFrom == None: break if countStartFrom != None: # Удаление пустых строк text = re.sub('\r\n\\s*\r\n', '\r\n', text) # Удаление пустой строки в конце и в начале файла/выделения text = re.sub('\r\n\s*$|^\s*\r\n', '', text, flags=re.MULTILINE) # Переводим countStartFrom из строки в целочисленный тип countStartFrom = int(countStartFrom) # Функция, возвращающая символ "@" с добавленным к нему и увеличенным номером def addNumber(matchobj): global countStartFrom countStartFrom += 1 return '@'+str(countStartFrom-1) #Добавляем нумерацию ко всем символам "@", находящимся в начале строки text = re.sub('^@', addNumber, text, flags=re.MULTILINE) #Заменяем обработанной строкой выделение или весь документ if isSelection: editor.replaceSel(text) else: editor.setText(text)

Если мы назвали скрипт «Empty Lines And Count», то запустить его можно из меню Plugins->Python Script->Scripts->Empty Lines And Count. Чтобы добавить его кнопку на панель инструментов и сделать возможным запуск по клавиатурному сочетанию, в настройках плагина (Plugins->Python Script->Configuration) выбираем созданный нами скрипт и добавляем его в меню и на панель инструментов. Теперь после перезапуска соответствующая кнопка появится на панели инструментов.

Назначить скрипту сочетание клавиш можно в меню Settings->Shortcut mapper в разделе Plugin commands.

Чтобы добавить скрипт в контекстное меню , нужно в xml-файл настроек (Settings->Edit Popup ContextMenu) добавить в нужном вам месте (например, перед первым элементом) следующие строчки:

Вот и всё. Теперь даже рутинные действия со сложной логикой можно выполнять одним кликом.

Источник

Notepad ++ устанавливает плагин Python Script с помощью диспетчера подключаемых модулей

Чтобы иметь возможность запускать много интересных скриптов (см. «Блокнот» ++ randomize, сортировать строки случайным образом), написанный на языке Python в Notepad ++, вам необходимо установить Python Scriptplugin.

Notepad ++ устанавливает плагин Python Script с помощью диспетчера подключаемых модулей : Выберите плагин Python Script

Notepad ++ Python установка плагина

Чтобы иметь возможность запускать много интересных скриптов (см. «Блокнот» ++ randomize, сортировать строки случайным образом), написанный на языке Python в Notepad ++, вам необходимо установить Python Scriptplugin.

Вы можете либо загрузить и установить его вручную, либо установить его автоматически с помощью Plugin Manager, который вы можете найти в меню Plugins => Plugin Manager => Show Plugin Manager

Notepad ++ устанавливает плагин Python Script с помощью диспетчера подключаемых модулей : Открыть диспетчер подключений

Менеджер плагинов Notepad ++

Откройте диспетчер подключаемых модулей, найдите в списке скрипт Python и выберите «Установить».

Notepad ++ устанавливает плагин Python Script с помощью диспетчера подключаемых модулей : Выберите плагин Python Script

Возможно, вам будет предложено обновить Notepad ++ или Plugin Manager, пожалуйста, сделайте это, прежде чем продолжить.

Notepad ++ устанавливает плагин Python Script с помощью диспетчера подключаемых модулей : Принять установку обновления Plugin Manager

Notepad ++ устанавливает плагин Python Script с помощью диспетчера подключаемых модулей : Подождите, пока установка обновления Plugin Manager

После обновления диспетчера подключаемых модулей и после перезапуска Notepad ++ попробуйте еще раз установить плагин.

Notepad ++ устанавливает плагин Python Script с помощью диспетчера подключаемых модулей : Дождитесь установки плагина Python Script

Python плагин для Notepad ++

Теперь вы можете получить доступ к меню Plugins => Python Script.

Notepad ++ устанавливает плагин Python Script с помощью диспетчера подключаемых модулей : Найти новый плагин Python Script в меню Plugins

Доступные скрипты будут ограничены сначала — вам необходимо установить необходимые скрипты в папку (скорее всего, в разделе «Программы Files => Notepad ++ => plugins => PythonScript =>)

Notepad ++ устанавливает плагин Python Script с помощью диспетчера подключаемых модулей : Добавить скрипты Python в папку сценариев

Как запустить Python в Notepad ++

Чтобы иметь возможность запускать скрипты Python в текстовом редакторе Notepad ++, необходимо установить дополнительный плагин, который позволит это.

Плагин доступен непосредственно в менеджере плагинов, без необходимости загружать дополнительные файлы в Интернете, так как менеджер плагинов загружает все необходимые файлы самостоятельно.

Не удается увидеть менеджер плагинов в блокноте ++

Начиная с Notepad ++ 7.5, менеджер плагинов больше не доступен в Notepad ++. Отдельный плагин должен быть установлен для управления плагинами, установленными в Notepad ++ и для отображения менеджера плагинов. Это было сделано, чтобы избежать показа рекламы в интерфейсе.

Если у вас в диспетчере плагинов Notepad ++ отсутствуют Windows 10, просто установите плагин NPPpluginmanager, загрузив пакет и распаковав его в папку установочных плагинов NotePad ++.

Источник

Читайте также:  Javascript add objects to object array
Оцените статью