Меню Рубрики

Как написать плагин для notepad

Как написать плагин для 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, но я остановился на последнем из-за скорости разработки и из-за того, что я лучше его знаю.

Для разработки было использовано следующее:

  1. NppPlugin.NET — шаблон Notepad++ плагина для .NET платформы.
  2. ServiceStack.Text — сериализация и десериализация JSON (высокая производительность и небольшой размер).
  3. hurl.it — удобный онлайн-инструмент для составления и тестирования GET, POST, DELETE и других запросов.
  4. 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, и таки да! Он очень полезен при работе с этим языком.

У плагина есть много важных свойств:

  1. JSON: Этот просмотрщик будет отображать выбранный JSON-текст в отдельном окне в форме дерева.
  2. JMIN: Это уменьшает размер файла JavaScript путем удаления пробелов и комментариев.
  3. 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

В настоящее время этот плагин предоставляет следующие функции:

  1. Экран Notepad++ мигает, когда обнаруживает, что какие-нибудь из открытых файлов были изменены другими людьми;
  2. Предотвращает перезапись изменений, внесенных в конкурирующих сессиях Notepad++.

NodepadSharp

  1. Правильная новая строка в CommentDoc/DocBlock для C, C++, Javascript, PHP.
  2. Правильная новая строка для # комментария в Ruby.
  3. Отступ после открывающей фигурной скобки в С-подобных языках, CSS и правильный отступ для закрывающей фигурной скобки.
  4. Удаление текущей строки с сохранением столбца.
  5. Отмена закрытия вкладки.
  6. Переключение между вкладками с помощью ALT + LEFT/RIGHT
  7. Обрамление выделения открывающими и закрывающими тэгами

Список свойств можно продолжать…

HTML Tag

Этот плагин добавляет набор действительно удобных сочетаний клавиш для редактирования HTML/JavaScript. Отлично подходит для поиска нестандартных HTML-тэгов.

Источник статьи: http://techrocks.ru/2018/06/19/20-most-useful-extensions-for-notepad/


0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии