Как написать плагин для notepad++?
Как написать плагин для Notepad++
Добрый день! Заранее извиняюсь, если создаю тему не в том разделе. Меня интересует как написать.
Плагин Notepad
Здравствуйте. Имеется плагин, который добавляет кнопку запуска блокнота, подскажите, как.
Плагин под Notepad++
Доброго времени суток. Давно искал плагин под N++ для отображения узлов XML в TreeView и.
Плагин Notepad++ FTP на русском
Есть ли плагин для Notepad++ FTP именно на русском языке?
Может кто натыкался на хоть какую-то информацию по написанию плагинов?
Спасибо сходу не заметил этого .
Добавлено через 3 часа 42 минуты
Круто . шаблон плагина скомпился ( В VC++) без всяких проблем и даже работает.
Интересует такой момент, каким образом лучше открыть новую вкладу и в нее поместить свое окно.
А лучше запустить свою программу и поместить ее окно на этой вкладке.
Да оно коню понятно, вопрос к какому окно его лепить и как его получить из нотепад.
Также непонятно как отловить сообщение перехода между закладками ( файлами ) в нотепад.
Да там есть какое-то безымянно окно но как его получить непонятно, если на него нацепить- только на одной вкладке, но перерисовка страдает.
Добавлено через 11 минут
В общем на данный момент я уже нашел с выход- «причаливаемое» окно.
Добавлено через 1 минуту
Основная проблема :
Нужно ловить уведомление NPPN_BUFFERACTIVATED от нотепада, где SCNotification::nmhdr.idFrom будет ID активного буфера (омг, не смог лучше перевести с доков) , далее шлем npp сообщение NPPM_GETPOSFROMBUFFERID и получаем индекс активной вкладки.
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Плагин на NotePad++ под юнити С#
Всем привет, хотел бы нузнать, существует ли плагин на NotePad++ под Unity С#? Если да, скиньте.
Хранение паролей в Notepad++ Плагин NppFTP
Пароль хранится в таком виде прим:00C93B70R2643EGALL74 как его раскодировать ? в чем он вообще.
Написать хук для NotePad, чтобы работал в фоновом режиме
Собственно вопрос в теме. Нужно написать хук для NotePad, чтобы работал в фоновом режиме.
Написать плагин для opera
Подскажите с чего лучше начать лучше.Что нужно прочитать? Добавлено через 7 минут Какие модули.
Написать плагин для Adium (MAC OS)
Добрый день Хотел бы заказать (купить) написание плагина под программку болталку ADIUM. Может.
Источник статьи: http://www.cyberforum.ru/cpp/thread184060.html
Плагин для работы с Gist в Notepad++
Однажды мне потребовалось создать gist, а еще я активно пользуюсь Notepad++. После того, как найти плагин для работы с gist в Notepad++ мне не удалось (есть только под Sublime), я решил написать свой. Ну и к тому же это было хорошим опытом в написании плагинов и работе с github api.
Сразу выкладываю ссылку на исходники:
NppGist sources и сам плагин: NppGist (для его подключения просто перенесите файл в папку plugins в папке Notepad++).
Под Notepad++ плагины можно писать на нескольких языках: C++, Ada, Delphi, .NET, но я остановился на последнем из-за скорости разработки и из-за того, что я лучше его знаю.
Для разработки было использовано следующее:
- NppPlugin.NET — шаблон Notepad++ плагина для .NET платформы.
- ServiceStack.Text — сериализация и десериализация JSON (высокая производительность и небольшой размер).
- hurl.it — удобный онлайн-инструмент для составления и тестирования GET, POST, DELETE и других запросов.
- NUnit — юнит-тестирование.
Тем, кому интересно знать, как писать плагины под Notepad++, добро пожаловать под кат.
Инициализация плагина
Взаимодействие с Notepad++ происходит посредством Win32 сообщений. Но, к счастью, под .NET уже написан готовый шаблон плагина со всеми сообщениями, классами и структурами (NppPlugin.NET.v0.5). Стоит отметить, что Platform taget нужно установить в x86, вместо Any CPU по умолчанию, а также использовать .NET 4.0, а то плагин работать не будет.
Инициализация плагина происходит в методах CommandMenuInit и SetToolBarIcon. В первом добавляются пункты, которые будут видны в меню плагина следующим образом:
Там же можно и назначить комбинации клавиш для определенных команд (в разработанном плагине они не используются).
Метод же OpenGistCommand уже описывается разработчиком, и в нем можно делать уже все, что угодно. Для данной команды — открытие окна.
В методе SetToolBarIcon можно добавить иконки с командами плагина в панель инструментов Notepad++.
Сохранение и загрузка настроек
Для сохранения и загрузки параметров плагина, используются следующие методы. Строки также можно сохранять.
Выполнение команд в Notepad++
На самом деле Notepad++ использует компонент Scintilla, который используется и в других редакторах текста. Таким образом, сообщения для взаимодействия делятся на Notepad++ и Scintilla. Все возможные коды для сообщений перечислены в файле NppPluginNETHelper.cs. Notepad++ сообщения имеют префикс NPPM и служат для команд, связанные с работой с файлами, меню, табами, языками и т.д. Scintilla сообщения, в свою очередь, связаны непосредственно с редактором текста (вставка, удаление, выделение, визуальные стили, фолдинг, скроллинг и т.д.).
Перехват событий Notepad++
Для перехвата сообщениях о событиях в Notepad++, используется метод beNotified в файле UnmanagedExports.cs. Данные сообщения имеют префикс NPPN для Notepad++ событий (открытие, закрытие файла, переключение вкладок) и SCN для Scintilla событий (изменение текста). Правда в данном плагине это не используется.
Полный список и подробное описание команд по Notepad++ находится здесь: Messages And Notifications. А по Scintilla здесь: ScintillaDoc.
Корректное получение UTF8 текста из Notepad++
В .NET оболочке плагина почему-то нельзя получить текст в UTF8 формате, хотя эта кодировка является самой распространенной. Поэтому было дописано следующее свойство, которое позволило корректно считывать в том числе и русский текст, который используется при сохранении гиста.
Встраивание сборок
Notepad++ загружает плагины из всех .dll файлов, находящихся в папке plugins. Причем, если плагин из dll загрузить не удалось, выводится сообщение с таким содержанием: The plugin is not compatible with current version of Notepad++. Таким образом, если в эту папку вместе с сами плагином копировать его зависимости (в данном случае JSON), то это будет не очень правильно. Можно было конечно использовать для них папку, но я воспользовался более изящным решением, а именно, объединение всех зависимостей с самой сборкой плагина. Да и к тому же один файл удобней распространять и копировать.
Итак, чтобы плагин занимал только одну dll, сторонние сборки помечались как Embedded Resource, а потом динамически подключались следующим образом:
Подробнее о том, как это делается, можно почитать в статье на CodeProject: Load DLL From Embedded Resource.
Можно было, конечно, воспользоваться сторонней программой для объединения сборок в одну, ILmerge например, но ее нужно было бы применять после каждого билда.
Стоит отметить, что, так как ServiceStack.Text является NuGet сборкой и подгружается во время первого билда после клонирования репозитория, то для ее копирования в корневую папку проекта NppGist, использовалось Prebuild событие.
GitHub Api
В реализации взаимодействия с GitHub Api ничего интересного нет, разве что стоит упомянуть, что для авторизации используется AccessToken, который можно получить на сайте, который потом передается во все запросах в виде параметра access_token. Анонимные гисты в разработанном плагине не поддерживаются. Полный список используемых API методов перечислен здесь: github gists api.
Заключение
Выглядит окно сохранения гиста так (окно открытия аналогичное):
Но в начале нужно ввести ваш access token.
Надеюсь, что после моей статьи, всем желающим станет проще писать плагины под Notepad++. При желании присоединяйтесь к разработке и используйте плагин.
Источник статьи: http://habr.com/ru/post/215769/
20 самых полезных расширений для Notepad++
Перевод статьи Junpei Shimotsu “20 Best Notepad++ plugins for Developers”.
Explorer
Может возникнуть ситуация, когда вам нужно записать в Notepad++ путь к определенной папке. Если вы используете плагин Explorer, то в левой части редактора можно открыть окно, в котором легко искать и открывать любые файлы.
Также этот плагин дает нам информацию о местонахождении файла, который открыт в данный момент.
Code Alignment
При определении переменной мы используем знак равенства. Но если нужно объявить множество переменных, проставление этого знака может раздражать.
Плагин Code Alignment выравнивает код и дает нам возможность выбрать для выравнивания любой знак.
Иногда нам нужно выполнить какие-то маленькие задачи, но приходится делать это вручную, поскольку шорткатов для них нет.
К счастью, этот плагин позволяет нам определять собственные шорткаты, так что можно экономить время и силы при выполнении подобных задач.
Autosave
Этот плагин — настоящий спасательный круг, поскольку он автоматически сохраняет ваш код.
Плагин предоставляет разные варианты автосохранения. Например, вы можете выбрать, через какие временные промежутки оно будет осуществляться (каждые 10, 15 минут и т.д.). Таким образом, даже если вы забыли сохранить код и вышли из редактора, плагин все равно сохранит его и вам не придется беспокоиться из-за пропажи последних изменений.
NPPExport
Если вы пишете код в Markdown и хотите поделиться с кем-нибудь своими наработками, вам придется конвертировать их в HTML перед отправкой, поскольку у получателя может не оказаться программы, читающей файлы в Markdown.
Поможет вам в этом плагин NPPExport, который конвертирует Markdown-файлы в HTML или rtf (Rich Text Format).
Multi-clipboard
Если мы хотим скопировать откуда-нибудь выделенный фрагмент кода и вставить его в наш собственный код, это может оказаться довольно сложной задачей, сопряженной со множеством трудностей. Но не с этим плагином. Когда он включен, у вас открывается окно в левой части Notepad++, где содержится вся история вашего скопированного кода. Вы можете с легкостью выбрать код, который хотите, и вставить его.
Compare
Этот файл позволяет вам открывать два файла точно один возле другого, чтобы вы могли их сравнить и увидеть, чем они отличаются или что у них общего (в зависимости от ваших нужд).
SpellChecker
Этот плагин проверяет ошибки правописания в документе. Благодаря ему вы будете уверены, что написанное вами в Notepad++ не содержит грамматических шибок, и сможете безбоязненно делиться этими документами с другими людьми.
JSToolNpp
Название как бы намекает, что этот плагин имеет отношение к JavaScript, и таки да! Он очень полезен при работе с этим языком.
У плагина есть много важных свойств:
- JSON: Этот просмотрщик будет отображать выбранный JSON-текст в отдельном окне в форме дерева.
- JMIN: Это уменьшает размер файла JavaScript путем удаления пробелов и комментариев.
- JS Fomat: используется для чистки кода путем удаления пробелов.
Finger Text
Этот плагин сэкономит вам кучу времени, поскольку позволяет использовать один и тот же блок кода множество раз.
Customize Toolbar
Этот плагин позволяет вам настроить панель инструментов путем добавление, удаления и перемещения кнопок.
По умолчанию в Notepad++ нет возможности настройки панели инструментов, так что этот плагин идеально подойдет для такой цели.
Preview Html
Чтобы увидеть эффект изменений, сделанных в коде в Notepad++, вам нужно перейти в браузер и обновить страницу.
С этим плагином вы можете просто нажать Ctrl + Shift + H, чтобы вызвать предпросмотр. Это экономит много времени и сил.
NppFTP
Этот плагин предоставляет окно FTP, с помощью которого можно управлять файлами и папками, доступными на FTP-сервере (хостинге).
Auto Indent
Этот плагин просто находка для программистов, у которых есть проблемы с отступами в их коде.
Плагин поддерживает языки C/C++ и php.
Отступы имеют большое значение, поскольку помогают улучить читаемость кода.
CharM
Этот плагин предоставляет вам множество символов, из которых вы можете выбирать. Среди них есть специальные символы и акценты, доступные напрямую с клавиатуры.
SnippetExecutor
С помощью этого плагина вы можете скомпилировать отрывки кода и выполнить их. Также плагин выдает output после выполнения.
TextFX Plugin
Этот плагин помогает закрывать тэги. Он экономит ваше время при работе с HTML и XML благодаря автоматическому закрытию тэгов. Это повышает в некоторой степени эффективность веб-разработки.
Function list
Если вы пишете код с большим количеством функций и методов и вам приходится проверять их снова и снова, или если вы хотите видеть, какие функции вы уже сделали, то этот плагин для вас.
Он дает вам подробную информацию обо всех функциях в вашем проекте.
NppSalt
В настоящее время этот плагин предоставляет следующие функции:
- Экран Notepad++ мигает, когда обнаруживает, что какие-нибудь из открытых файлов были изменены другими людьми;
- Предотвращает перезапись изменений, внесенных в конкурирующих сессиях Notepad++.
NodepadSharp
- Правильная новая строка в CommentDoc/DocBlock для C, C++, Javascript, PHP.
- Правильная новая строка для # комментария в Ruby.
- Отступ после открывающей фигурной скобки в С-подобных языках, CSS и правильный отступ для закрывающей фигурной скобки.
- Удаление текущей строки с сохранением столбца.
- Отмена закрытия вкладки.
- Переключение между вкладками с помощью ALT + LEFT/RIGHT
- Обрамление выделения открывающими и закрывающими тэгами
Список свойств можно продолжать…
HTML Tag
Этот плагин добавляет набор действительно удобных сочетаний клавиш для редактирования HTML/JavaScript. Отлично подходит для поиска нестандартных HTML-тэгов.
Источник статьи: http://techrocks.ru/2018/06/19/20-most-useful-extensions-for-notepad/