Notepad python script plugin

Plugin Installation and Usage¶

Installation is very simple, either through Plugin Manager, or manually. The zip or 7zip archive contains the the files in the correct layout — just copy to your Notepad++ directory (e.g. c:Program FilesNotepad++ )

The file layout is as follows:

Notepad++ (your main Notepad++ directory, probably under "C:\Program Files") + |-- python26.dll (this is important. This needs to go in the main program directory of Notepad++, next to notepad++.exe) | (unless you have a Python installation already, in which case it's probably in C:\windows already) +-- plugins \ |-- PythonScript.dll | |-- PythonScript | \ | |-- lib | | \ | | |-- (*.py) lots of *.py files and subdirectories | | | |-- scripts | \ | |-- (machine-level scripts) | | |-- doc | \ | |-- PythonScript | \ | |-- PythonScript.chm (optional, if it's not there context-sensitive help will use the web) | | | | | |-- Config (this config directory can also be in %APPDATA%\Notepad++\plugins\config\) | \-- PythonScript \ |-- scripts \ |-- (user level scripts go here)

Usage¶

To use Python Script, you’ll first need to create a script. Click New Script from the Python Script menu in the Plugins menu. This creates a new user script (in your config directory). When you’ve typed your script out, you can run it from the Scripts submenu.

The `Scripts` submenu is automatically updated whenever you save a script, so if you copy a file into the scripts directory manually, you’ll need to make a change (a dummy new line or comment etc) and save a script (any will do) in Notepad++ for it to update.

To edit the script, just hold Ctrl down and click the script in the Scripts menu.

Читайте также:  Какие расширения php wordpress

If you click Configuration , you can assign the script either to a toolbar icon, or to the Python Script menu itself. If you assign a script to the menu, then it will appear immediately, but you will not be able to assign a shortcut to it until next time Notepad++ starts.

If you assign it to a toolbar icon, then it will only appear on the next start of Notepad++.

Context-Sensitive help is available — if your cursor is on and notepad, editor or console function, the Context-Help menu will take you straight to the documentation for that function. If the CHM file is not in the relevant location, it will open the documentation from the web.

Startup¶

The script called startup.py (in either the “machine” directory or “user” directory — see Installation) is run when Python Script starts up. Normally, that is the first time a script is called. The default startup.py script does some small things like directing the error output to the console, and importing some commonly used modules.

If you want to register an callback (see Handling Notifications) to run from when Notepad++ starts up, you need to change the startup type to ATSTARTUP, instead of LAZY. You can do this in the Configuration dialog.

Источник

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++ install Python Script plugin with Plugin Manager

In order to be able to run a lot of interesting scripts (see Notepad++ randomize, sort lines random), written in Python language in Notepad++, you need to install the Python script plugin.

Notepad++ install Python Script plugin with Plugin Manager : Select Python Script plugin

Notepad++ Python plugin install

In order to be able to run a lot of interesting scripts (see Notepad++ randomize, sort lines random), written in Python language in Notepad++, you need to install the Python script plugin.

You can either download and install it manually, or install it automatically with the Plugin Manager, that you can find in menu Plugins > Plugin Manager > Show Plugin Manager.

Notepad++ install Python Script plugin with Plugin Manager : Open Plugin Manager

Notepad++ plugin manager

Open the Plugin Manager, look for the entry Python Script in the list, and select Install.

Notepad++ install Python Script plugin with Plugin Manager : Select Python Script plugin

You might be prompted to update your Notepad++ or the Plugin Manager, please do so before proceeding.

Notepad++ install Python Script plugin with Plugin Manager : Accept Plugin Manager update installation

Notepad++ install Python Script plugin with Plugin Manager : Wait for Plugin Manager update installation

Once the Plugin Manager is updated, and after having restarted your Notepad++, try again installing the plugin.

Notepad++ install Python Script plugin with Plugin Manager : Wait for Python Script plugin installation

Python plugin for Notepad++

You can now access in the Plugins > Python Script menu.

Notepad++ install Python Script plugin with Plugin Manager : Find new plugin Python Script under Plugins menu

The scripts accessible will be limited at first — you need to install required scripts in the folder (most likely under Program Files > Notepad++ > plugins > PythonScript > scripts).

Notepad++ install Python Script plugin with Plugin Manager : Add new Python scripts in the scripts folder

How to run Python in Notepad++

Have you read?

To be able to run Python scripts in Notepad++ text editor, it is necessary to install an additional plugin that will allow this.

The plugin is accessible directly in the plugin manager, without having to download extra files on Internet, as the Plugin Manager will download all necessary files by itself.

Cannot see plugin manager in notepad++

Since Notepad++ 7.5, the Plugin Manager is no longer available in Notepad++. A separate plugin has to be installed to manage the plugins installed in Notepad++ and to show the plugin manager. This has been done to avoid displaying ads in the interface.

If you experience Notepad++ Plugin Manager missing windows 10, simply install the plugin NPPpluginmanager, by downloading the package and extracting it in the NotePad++ installation plugin folder.

Источник

Оцените статью