.NET-плагины для ФАРа вер.2

English version
Похожая программа
Др. для ФАРа


Поддержка плагинов для файлового менеджера ФАР, созданных с использованием средств Microsoft .Net Framework.

АРХИТЕКТУРА

Диспетчер .NET-плагинов (COM-объект "Far.Plugins.NET") запускается плагином SHPCE.
После запуска диспетчер загружает из сборок и текстовых файлов в папке bin\Plugins классы, являющиеся наследниками базового класса Far.Net.FarNetPlugin.
Плагины, в которых установлено соответствующее поле, помещаются в меню плагинов (F11), остальные выводятся в меню после выбора в меню плагинов пункта ".NET Plugins".
Плагины могут регистрировать обрабатываемые ими префиксы командной строки.
Плагины можно добавлять и подгружать без перезагрузки ФАРа.

УСТАНОВКА:

  • Компоненты функционируют на компьютерах с Windows 98/2000/XP/2003
  • Необходимо установить последнюю версию Microsoft .NET Framework (не ниже 1.1)
  • Необходимо установить последнюю версию плагина SHPCE(не ниже b1).
  • Извлеките из архива и запустите установщик Far.Net.2.Setup.msi (команда "Установить" в контекстном меню плагина EMenu или аналогичного).
  • В файл plugins.cfg в каталоге Far\Plugins\SHPCE\cfg добавьте строчку "Far.Plugins.NET", запускающую диспетчер .Net-плагинов.
  • Перезапустите ФАР.

Плагины в поставке

  1. Hello.dll  - говорит "Привет" в разных видах.
    Также может служить заготовкой для новых плагинов.
    • HelloSrc.vb - то же, без компиляции.
    • HelloFromJsSrc.js - то же, на языке jscript.net

    Написан на языке VB.NET.
     

  2. CsHello.dll
    Говорит "Привет" в меню плагинов по F11 (строка "Hello from C#, user").
    Написан на языке C#.
  3. HelloSrc.vb
    Говорит "Привет" в меню плагинов по F11 (строка "Hello from VB.NET Source, user"). Написан на языке VB.NET.
  4. js7.dll  - исполняет программы на jscript.net
    По префиксу js7: выполняется программа, находящаяся в командной строке или в файле.
    Например:
    js7:Far.Msg("Hello!") или
    js7:js.hello (js.hello - файл с текстом программы)
     
  5. guid.dll  - вставляет в буфер обмена значение GUID
    По префиксу guid:[empty] или при выборе соответствующего пункта меню плагинов в
    буфер обмена помещается значение guid.
     
  6. md5.dll - выполняет операции с md5-дайджестами
    По префиксу md5n:<имя файла> выполняются действия с "md5-checksum":
    • Если имя файла в команде имеет расширение .md5dig, ищется файл с именем без этого расширения, считается для него дайджест и сравнивается с содержимым файла-параметра
    • Если имя файла в команде имеет любое другое расширение, для него вычисляется дайджест и записывается в файл <имя файла>.md5dig и в Clipboard
    • Если имя файла не указано (или плагин вызван из меню плагинов), указанные действия выполняются для всех выделенных файлов.
       
  7. SplitFile.dll - выполняет деление файла на заданные части
    По префиксу sm:<имя файла> <размер части> формируются части файла и вспомогательные "сборочные" файлы.
    • Размер части указывается в байтах (напр., 120000), килобайтах (напр., 120к) или мегабайтах (напр., 12м).
    • При вызове из меню плагинов разрезается текущий файл на части с размером по умолчанию (можно изменить в файле конфигурации).
    • Вместо имени файла можно использовать "." в качестве имени текущего выделенного файла.
       

Программирование плагинов

Папка src\plugins содержит исходные тексты поставляемых плагинов и заготовку в файле Template.txt. Руководствуясь файлом документации Far.Net.chm, комментариями в файлах исходных текстов, документацией к плагину SHPCE и др., опишите класс, производный от Far.Net.FarNetPlugin, реализующий необходимые Вам алгоритмы.
Скомпилируйте Ваш плагин с использованием команды make.cmd YourPlugin.vb
Результат компиляции поместите в папку bin\plugins, перезагрузите плагины через пункт меню
.NET Plugins == Reload ==.

Замечание.
В ту же папку поместите сборки (библиотеки), используемые Вашим плагином.
Замечание 2.
При наличии в папке bin\plugins файла debug.flg выводится сообщение о количестве загруженных .net-плагинов.
Замечание 3.
Простые плагины на VB.NET/JS.NET можно поместить в папку bin\plugins в виде исходных текстов, без компиляции.

Папки Source\C# и Source\vb содержат проекты MS VS 2003 для программирования плагинов на C# и VB.NET соответственно. К проектам необходимо подключить сборки Far.Net.Plugin.dll и SHPCE.NET.dll и пространства имён Far.Net и SHPCE.Net

 

 % Загрузка архива с программой: site-1.