Far manager как установить плагин

Обновлено: 03.07.2024

Итак, вы его скачали. Что не понравилось? Всё хорошо? Тогда читаем дальше.

Для кого же всё-таки предназначена эта статья? Скорее, для тех, кто уже давно пользуется FAR, но не подозревает, насколько широки его возможности. Тем не менее, не будет лишней она и для тех, кто еще не выбрал себе файл-менеджер по вкусу. Признаюсь, что и я изначально не представлял, насколько мощная вещь FAR, пока не обнаружил в интернете сайт с плагинами 🙂


А теперь самое интересное

Так как плагинов огромное количество (на день написания этой строки их было 288), то я попробую описать наиболее полезные (на мой взгляд). Причём буду пользоваться, в основном, авторскими комментариями и своим субъективным мнением.

Кроме этих плагинов, существует еще масса других. Например, для управления WinAmp из FAR, для поддержки различных языков и кодировок, для всяческой массовой обработки файлов. На самом деле каждый желающий может написать нужный плагин под свою конкретную задачу, чем и удобна модульная архитектура.

А теперь рассмотрим плагины стандартной поставки.


Где их брать и как устанавливать?

Все плагины FAR хранятся в отдельных папках, размещенных в папке "Plugins" (которая, в свою очередь, размещена там же, где и Far.exe). Обнаружив новый модуль, FAR сохраняет информацию о нем и впоследствии загружает только при необходимости, так что неактивные модули не требуют дополнительной памяти. Тем не менее, если вы уверены, что какие-то модули вам не нужны, можете удалить их, чтобы сохранить место на диске. Кроме того, обязательно прочитайте все текстовые файлы типа readme.txt, whatsnew.txt, file_id. diz. Там могут быть описаны специфические особенности для установки данного плагина. Также заглядывайте иногда на домашние страницы авторов плагинов, которые должны быть указаны в этих файлах.

Что такое Far Manager

Far Manager — это бесплатный консольный файловый менеджер на русском и английском языке (имеет многоязычный интерфейс). По функционалу похож на любой другой файловый менеджер, например, Total Commander. Имеет встроенный редактор текстовых файлов наподобие блокнота, но с подсветкой синтаксиса. Есть возможность изменять кодировку файлов, а также множество других полезных функций.
Интерфейс простой колоночный, как у файлового менеджера Norton Commander из MS-DOS, праотца Windows.

Где скачать Far Manager

Установка и настройка Far Manager

В особых настройках и сборках не нуждается. Вы просто качаете инсталлятор и устанавливаете Far Manager как обычную программу. Впрочем, всегда можно внести свои коррективы. Например, по умолчанию, в интерфейсе довольно мелкий шрифт.

Far manager как установить плагин

Интерфейс Far Manager по умолчанию

Список аббревиатур и их расшифровка:

  • ПКМ — правая кнопка мыши;
  • ЛКМ — левая кнопка мыши.

Чтобы его увеличить, надо зайти в свойства ярлыка на рабочем столе, найти и увеличить шрифт ( ПКМ(правой кнопкой мыши) по ярлыку — Свойства — Шрифт )

Far manager как установить плагин

Изменить шрифт и размер Far Manager

  1. Выбираем шрифт Lucida Console
  2. Появится новая шкала размеров шрифта. Размер выбрать по вкусу, например, 20

В результате, интерфейс станет удобнее

Far manager как установить плагин

Far Manager с изменённым шрифтом

Теперь можно изменить язык интерфейса на русский. Для этого надо открыть Far Manager и там нажать F9 — Options — Languages . В появившемся окошке выбрать русский язык

Far manager как установить плагин

Как изменить язык на русский в Far Manager

В общем, на этом этапе первичная настройка завершена. Далее научимся пользоваться этой программой, точнее, читать и воспринимать интерфейс.

Как пользоваться Far Manager

Для начала, про устройство интерфейса этой программы.
Интерфейс представляет собой колонки в центральной области, панель управления снизу и информационную сверху. Колонки в центре — это два глобальных отсека. Каждый отсек может иметь по одной или несколько колонок, по умолчаю по две.
Отсек — это файловая уровневая система определённого диска. Чтобы переместиться выше по уровню, нужно перевести курсор стрелочками на клавиатуре либо мышью на самую верхнюю позицию на символ .. и нажать Enter . Чтобы перейти в подкаталог текущего каталога, перевести курсор на него и нажать Enter . Также, можно использовать мышь, двойной клик по каталогу перенесёт вас в него. Чтобы сменить диск, нужно использовать горячие клавиши Alt + F1 или Alt + F2 . Теперь подробнее по интерфейсу и с иллюстрациями:

Far manager как установить плагин

Интерфейс Far Manager

  1. Информация о текущем местоположении, аналог адресной строки проводника Windows
  2. Отсек со списком файлов и подкаталогов в текущем каталоге, расположение которого указано в п.1.
  3. Информация о файле или каталоге, на который наведён курсор. Ниже представлена информация о текущем каталоге
  4. Консоль, аналог Пуск — Выполнить — cmd в Windows. Также, сюда вписываются консольные команды при подключении к серверам по SSH (SFTP), FTP, WebDav
  5. Панель управления

Про панель управления — там указаны цифры. Каждая цифра означает индекс панели с F1-F12 на клавиатуре

  1. F1 — помощь — справочник по Far Manager. Хотя бы бегло изучите справочник, много вопросов отпадут сами собой
  2. F2 — пользовательское меню. На первых порах ненужная опция
  3. F3 — просмотр содержимого файлов. На каталогах показывает их размер
  4. F4 — редактировать файлы. На каталогах вызывает меню изменения атрибутов
  5. F5 — скопировать выделенные файлы и папки (каталоги). Выделение производится с помощью кнопки Insert , Ins или ПКМ (правой кнопкой мыши). Также, вы можете копировать файлы перетаскиванием мышью
  6. F6 — перенести выделенные файлы и папки (каталоги). Выделение производится с помощью кнопки Insert , Ins или ПКМ . Также, можно зажать Shift и переносить файлы ЛКМ (левой кнопкой мыши)
  7. F7 — создать каталог (папку) в текущем каталоге (папке)
  8. F8 — удаление папки или файла. Можно удалить одновременно несколько файлов и папок, предварительно выделив их Insert или ПКМ
  9. F9 — упоминал про эту команду. Вызывает наверху меню опций. Изучите его, многое может пригодиться
  10. F10 — закрыть Far Manager
  11. F11 — вызывает список плагинов Far Manager с возможностью дальнейшей настройки (например, изменить кодировку содержимого файла), а также некоторые другие дополнительные функции.
  12. F12 — встроенные экраны. Far Manager позволяет использовать несколько копий программы просмотра и редактирования файлов. Эта кнопка позволяет быстро переключаться между ними, выводя полный список открытых экранов. Используйте F1 , чтобы подробнее ознакомиться с этой возможностью. Эта опция для продвинутых пользователей

Кстати, стоит заметить, что Far Manager имеет возможность управления мышью. Так, вся панель управления внизу легко управляется ЛКМ. Лично я возможностью этой не пользуюсь, ибо нахожу более удобным и быстрым использовать комбинации горячих клавиш, но допускаю, что кому-то управление мышью будет удобнее.

Также, если зажать Alt или Shift , появятся дополнительные кнопки в панели управления. Таким образом, собираются горячие клавиши, дополнительные команды в Far Manager.

Команды Far Manager

Или, как правильнее будет сказать, горячие клавиши на клавиатуре, которыми чаще всего приходится пользоваться:

  • Ctrl + O — показать или скрыть панель и содержимое консоли
  • Tab , Shift + Tab перемещение между левым и правым отсеками
  • Shift + 2 — изменить число колонок в глобальном отсеке. вместо 2 можно использовать любую кнопку от 1 до 9. По умолчанию 2
  • Alt + F9 — перейти из оконного режима в полноэкранный и наоборот
  • Home — переместиться в начало списка файлов и подкаталогов текущего каталога
  • End — переместиться в конец списка файлов и подкаталогов текущего каталога
  • PageUp — перемещаться в верх списка файлов и подкаталогов текущего каталога
  • PageDown — переместиться в низ списка файлов и подкаталогов текущего каталога
  • Ctrl + PageUp — переместиться в каталог на 1 уровень выше
  • Ctrl + F1 , Ctrl + F2 — переместиться в каталог на 1 уровень выше в левом ( Ctrl + F1 ) и правом ( Ctrl + F2 ) отсеках
  • Ctrl + A — показывает свойства файла или папки (каталога, директории). Можно тут же изменить и сохранить изменения. Так, например, можно изменить дату создания файла

Far manager как установить плагин

Можно изменить увидеть и изменить свойства файла

Far manager как установить плагин

Создание архива в Far Manager

Far manager как установить плагин

Как выглядит Tar в Far Manager

Far manager как установить плагин

Как изменить диск

Открывается диалоговое окно с предложениями выбора диска, а также иных вариантов, как правило, список составляется плагинами (NetBox, WinSCP, редактор реестра, папка для временных файлов, доступ в сеть, список процессов)
Alt + F7 — поиск среди файлов в текущем каталоге

Far manager как установить плагин

Поиск в Far Manager

Маску файла лучше оставить свободной *.* , тогда поиск будет проходить во всех файлах. Если вам нужно искать, например, только среди php-файлов, то есть имеющих расширение .php (например, index.php и db.php), используйте маску *.php .
Вы можете менять её по своему усмотрению.
Также, можно выделить кнопкой на клавиатуре Insert нужные файлы и папки (каталоги), затем поставить курсор на один из них, чтобы произвести поиск только внутри них.

Alt + Insert — пригодится, если вы хотите скопировать текст из консоли

Far manager как установить плагин

Alt+Insert для копирования текста из консоли

Во время нахождения в консоли, Вы просто жмёте горячие клавиши Alt + Insert (курсор изменит свою форму), затем мышью или с помощью стрелочек и, зажав Shift , выделяете нужный фрагмент текста и копируете его с помощью Enter

Плагины для Far Manager

Плагины могут довольно основательно расширить функционал Far Manager, превратив его из файлового менеджера в многофункциональный комбайн.
Полный список плагинов вы можете найти в Far Manager PlugRing
Первым делом, нам понадобится NetBox. Этот плагин позволяет подключаться к серверам на ОС Linux: Ubuntu, Debian, Freebsd, Centos по протоколам SCP (устаревший), SSH (SFTP), FTP, WebDav.

NetBox — плагин подключения к удалённому серверу по SSH, FTP, WebDav

NetBox — это плагин для Far Manager, продолжатель традиций WinSCP, который реализует клиентскую часть протоколов SCP (Secure Copy Protocol, устаревший), SFTP (SSH File Transfer Protocol), FTP (Files Transfer Protocol) и WebDav. Предназначается для подключения к удалённому серверу на ОС Linux: Ubuntu, Debian, Freebsd, Centos — по SSH, FTP или WebDav и управления им: создания, редактирования, копирования, удаления файлов по вышеуказанным протоколам, их переноса между вашим компьютером и серверами, поддерживающими эти протоколы, в нашем случае, сервера хостинга сайтов. С его помощью мы будем взаимодействовать с файловой системой хостинга, где располагаются ваши сайты: закачивать и скачивать файлы, изменять их права доступа, владельцев.

Как установить NetBox

Подключение к удалённому серверу по SSH, FTP, WebDav с помощью NetBox, WinSCP

Жмём комбинацию клавиш Alt + F1 или Alt + F2 , в открывшемся меню выбираем NetBox , он под цифрой 2 .

Теперь нужно создать подключение к нашему серверу. Допустим, есть данные для подключения по SSH:
Логин: root , пароль: pass , IP сервера: 127.0.0.1 , порт 22
Как и предложено для создания новой сессии, жмём Shift + F4 и вводим данные:

Far manager как установить плагин

Настройка подключения по SSH в NetBox и WinSCP

Подключаемся к серверу. Теперь мы сможем копировать файлы с компьютера на сервер и обратно (с помощью F5 , подробнее описано выше), изменять их ( F4 ), а также, если у вас свой сервер, пользоваться консолью для управления им.

Если вам нужно подключиться по FTP или WebDav протоколу, просто выбираете нужный из выпадающего списка в поле Протокол

Ошибка expected key exchange group packet from server

Far manager как установить плагин

Если при подключении по SSH вылезает ошибка expected key exchange group packet from server, то в настройках подключения F4 нужно поменять метод обмена ключей шифрования на diffie-hellman-group14 :

воскресенье, 10 марта 2019 г.

Плагин для Far Manager своими руками

Far manager как установить плагин

Эти функции представляют собой часть Plugins API и описаны в документации разработчика Far. Здесь приведем лишь их краткое описание:

ФункцияОписание
ExitFARWперед выходом из Far Manager
GetGlobalInfoWосновная информация о плагине
GetPluginInfoWдополнительная информация о плагине
OpenWвызывает плагин
SetStartupInfoWFar Manager передает плагину необходимую информацию

Наш плагин очень простой и перед закрытием Far нам не нужно что-либо делать, поэтому функция ExitFARW нам не понадобится.

Наконец, перейдем непосредственно к программированию. Запускаем Visual Studio, выбираем пункт меню Файл -> Создать -> Проект, после чего, в открывшемся меню создания проекта, выбираем шаблон "Библиотека динамической компоновки (Dll)":

Far manager как установить плагин

Far manager как установить плагин

Far manager как установить плагин

Раздел "C/C++/Язык", пункт "Стандарт языка C++", выбираем "Стандарт ISO C++17":

Far manager как установить плагин

Раздел "Свойства конфигурации/Общие", пункт "Набор символов". Выбираем значение "Использовать набор символов Юникода", если не выбрано:

Far manager как установить плагин

Раздел "Компоновщик/Ввод", пункт "Файл определения модуля". Вводим HelloWorld.def:

Far manager как установить плагин

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

Far manager как установить плагин

Итого, содержимое файла HelloWorld_ru.hlf имеет вид:

а содержимое файла HelloWorld_en.hlf:
Если вызвать справку нашего плагина на русском языке, то она должна иметь вот такой вид:

Far manager как установить плагин

Все строки в lng-файлах записываются в двойных кавычках. Все остальные строки, не начинающиеся с двойных кавычек игнорируются.

Для нашего плагина мы напишем такой файл HelloWorld_en.lng:

и файл HelloWorld_ru.lng:

Теперь вместо вызова
можно написать
что, согласитесь, выглядит понятнее.

Far manager как установить плагин

Установка плагина в Far проста и прямолинейна: нужно лишь создать папку %FAR%/Plugins/HelloWorld и скопировать туда dll, файлы помощи и языковые файлы.

Far manager как установить плагин

Теперь для загрузки нашего плагина достаточно перезапустить Far.

Перезапустив Far, нажмем кнопку F11. Должно отобразиться меню команд, один из пунктов которого принадлежит нашему плагину:

Far manager как установить плагин

Теперь, если нажать Shift+F1 (вызвать справку плагина HelloWorld), мы увидим ожидаемое окно справки с текстом, который мы писали в файле HelloWorld_ru.hlf:

Far manager как установить плагин

Закрыв окно справки нажатием кнопки Escape, запустим плагин, нажав Enter. Тогда мы увидим:

Far manager как установить плагин

Использование программы FAR Manager

Среди множества других файловых менеджеров нельзя не выделить программу FAR Manager, разработанную на основе культовой программы Norton Commander и некоторое время выступающую достойным конкурентом Total Commander. Несмотря на довольно простой консольный интерфейс, функционал ФАР Менеджер довольно велик, что благоприятствует популярности этого приложения в определенном кругу пользователей. В то же время, некоторые из них, несмотря на интуитивно понятный интерфейс этого файлового менеджера, не знают некоторые нюансы работы с ним. В этой статье мы дадим максимально подробный ответ на вопрос о том, как работать в рассматриваемой программе.

Базовые действия с FAR Manager

Установка русскоязычного интерфейса

Перед тем как приступить к работе в программе FAR Manager, для отечественного пользователя рационально будет установить русский язык интерфейса.

    После запуска приложения для перехода в его настройки кликаем на кнопку «ConfMn» («Вызов меню») в нижней панели FAR Manager или просто жмем на клавиатуре клавишу F9.

Открыть настройки FAR Manager для включения русского языка интерфейса

Параметры локализации FAR Manager для включения русского языка интерфейса

Включение русского языка интерфейса в FAR Manager

Локализация на русский интерфейса помощи в FAR Manager

Навигация по файловой системе

  1. Навигация по файловой системе в приложении Фар Менеджер принципиально ничем не отличается от привычной для многих пользователей навигации в программе Total Commander, ведь FAR Manager имеет такой же двухпанельный интерфейс. Для смены активной панели достаточно нажать клавишу Tab на клавиатуре. Чтобы перейти на уровень вверх, нужно кликнуть по значку в верхней части списка фалов и папок в виде двоеточия.

Переход на предыдущий уровень файловой системы в навигации в FAR Manager

Сменить жесткий диск для навигации в FAR Manager

Названия папок имеют белый цвет, скрытых папок – тускло-белый, а файлы могут помечаться различными цветами, в зависимости от расширения.

Действия над файлами и папками

Различные действия с файлами можно производить с помощью кнопок на нижней панели программы. Но опытным пользователям намного удобнее при этом использовать сочетания клавиш на клавиатуре.

    Для копирования файлов из одной директории в другую нужно, чтобы на одной из панелей была открыта папка с документом, который следует скопировать, а на другой – каталог, куда копирование будет производиться. После того как отметили нужный файл, жмем на кнопку «Копир.» на нижней панели. Это же действие можно запустить простым нажатием клавиши F5.

Выбрать действие копирования каталога в FAR Manager

Подтвердить действие копирования каталога в FAR Manager

  • F3 – «Просм» – Просмотр;
  • F4 – «Редакт» – Редактирование;
  • F5 – «Копир» – Копирование;
  • F6 – «Перен» – Переименование или перемещение;
  • F7 – «Папка» – Создание новой директории;
  • F8 – «Удален» – Удаление.

Клавиши быстрого доступа для действий с файлами в FAR Manager

Управление интерфейсом программы

Существуют также дополнительные возможности по управлению интерфейсом программы FAR Manager.

    Для показа информативной панели достаточно нажать сочетание клавиш Ctrl+L.

Открыть свойства каталога для управления интерфейсом в FAR Manager

Быстрой просмотр данных о файле для управления интерфейсом в FAR Manager

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

Работа с текстом

Программа FAR Manager поддерживает просмотр текстовых файлов с помощью встроенного просмотрщика.

    Для того чтобы открыть текстовый файл, достаточно выделить его и нажать на кнопку «Просм» в нижней панели или функциональную клавишу F3 на клавиатуре.

Открыть текстовый файл для просмотра в FAR Manager

Просмотр текстового файла в FAR Manager

Плагины

    Для того чтобы открыть список установленных плагинов и запустить нужный, следует нажать кнопку «Плагин» в нижней панели программы или же клавишу F11 на клавиатуре.

Открыть диспетчер плагинов в FAR Manager

Предустановленные расширения в диспетчере плагинов в FAR Manager

Архиватор-плагин acrlite в диспетчере плагинов в FAR Manager

Преобразователь регистра в диспетчере плагинов в FAR Manager

Аддон работы с сетью в диспетчере плагинов в FAR Manager

Список процессов в диспетчере плагинов в FAR Manager

Плагин NetBox в диспетчере плагинов в FAR Manager

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

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

Еще статьи по данной теме:

Как осуществляется выделение файлов в Far Manager

Различные действия с файлами можно производить с помощью кнопок на нижней панели программы. Но опытным пользователям намного удобнее при этом использовать сочетания клавиш на клавиатуре.
Для копирования файлов из одной директории в другую нужно, чтобы на одной из панелей была открыта папка с документом, который следует скопировать, а на другой – каталог, куда копирование будет производиться. После того как отметили нужный файл, жмем на кнопку «Копир.» на нижней панели. Это же действие можно запустить простым нажатием клавиши F5.
По такому же алгоритму выполняются и все остальные действия над элементами файловой системы. Прежде всего следует выделить нужный нам элемент, а затем нажать соответствующую кнопку на нижней панели либо функциональную клавишу клавиатуры. Ниже приведен список наименований клавиш на клавиатуре, кнопок нижней панели FAR Manager и суть выполняемых действий при их нажатии:
F3 – «Просм» – Просмотр;
F4 – «Редакт» – Редактирование;
F5 – «Копир» – Копирование;
F6 – «Перен» – Переименование или перемещение;
F7 – «Папка» – Создание новой директории;
F8 – «Удален» – Удаление.
Собственно, номер функциональной клавиши для каждого действия соответствует номеру, указанному около кнопки на нижней панели программы.


Эти функции представляют собой часть Plugins API и описаны в документации разработчика Far. Здесь приведем лишь их краткое описание:

ФункцияОписание
ExitFARW перед выходом из Far Manager
GetGlobalInfoW основная информация о плагине
GetPluginInfoW дополнительная информация о плагине
OpenW вызывает плагин
SetStartupInfoW Far Manager передает плагину необходимую информацию

Наш плагин очень простой и перед закрытием Far нам не нужно что-либо делать, поэтому функция ExitFARW нам не понадобится.

Наконец, перейдем непосредственно к программированию. Запускаем Visual Studio, выбираем пункт меню Файл -> Создать -> Проект, после чего, в открывшемся меню создания проекта, выбираем шаблон "Библиотека динамической компоновки (Dll)":


Битность скачанного вами Far Manager-а и битность плагина должны совпадать, поэтому, если Far 64-битный - нужно собрать 64-битную dll-ку. Для этого сразу в выпадающем списке "Платформы решения" выбираем нужную битность. У меня скачан 32-битный Far, поэтому у меня выбран пункт x86.


Раздел "Свойства конфигурации/Каталоги VC++", пункт "Включаемые каталоги", добавляем туда папку %SOURCE%/Far, где %SOURCE% - путь до папки, куда вы выкачали исходники Far. На моем компьютере это выглядит так:


Это необходимо, чтобы мы могли в своем проекте использовать заголовочные файлы Far.

Раздел "C/C++/Язык", пункт "Стандарт языка C++", выбираем "Стандарт ISO C++17":



В исходном коде Far есть много особенностей именно C++17 (например string_view), поэтому если не переключить проект на использование этого стандарта, он просто не скомпилируется.

Раздел "Свойства конфигурации/Общие", пункт "Набор символов". Выбираем значение "Использовать набор символов Юникода", если не выбрано:


Раздел "Компоновщик/Ввод", пункт "Файл определения модуля". Вводим HelloWorld.def:



Этот файл, который мы создадим позднее, содержит список экспортируемых функций Plugins API. Сохраняем все изменения, нажав OK, и закрываем окно свойств проекта.

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

В этом файле мы перечислим функции, которые будем экспортировать. Если этого не сделать, Far Manager при загрузке плагина их не увидит и, соответственно, сам плагин не будет загружен. Этот заголовочный файл содержит макросы с информацией о плагине и его авторе: Этот заголовочный файл присваивает GUID плагину и его элементам интерфейса: Для локализации Far использует файлы двух форматов: HLF и LNG.

Файлы с расширением hlf - это текстовые файлы в кодировке UTF-8, которые содержат текст справки плагина. Для вызова справки плагина в Far нужно нажать F11, отобразится список плагинов, выбрать интересующий вас плагин и нажать Shift+F1. Отобразится справка по плагину, например:


Файлы справки должны лежать в той же папке, где лежит dll плагина. Для нашего плагина HelloWorld мы создадим справку на русском и английском языке, поэтому нам нужно создать два файла: HelloWorld_ru.hlf и HelloWorld_en.hlf.

Итого, содержимое файла HelloWorld_ru.hlf имеет вид:

а содержимое файла HelloWorld_en.hlf:
Если вызвать справку нашего плагина на русском языке, то она должна иметь вот такой вид:


Языковые файлы должны лежать в той же папке, что и dll-файл плагина. Имя языкового файла имеет формат [Имя_плагина]_[код_языка].lng. В нашем плагине будут два языковых файла: HelloWorld_en.lng и HelloWorld_ru.lng.

Все строки в lng-файлах записываются в двойных кавычках. Все остальные строки, не начинающиеся с двойных кавычек игнорируются.

Для нашего плагина мы напишем такой файл HelloWorld_en.lng:

и файл HelloWorld_ru.lng:

Для того, чтобы получить строку из файла используется функция
где MsgIndex - это номер строки в языковом файле (нумерация идет с 0).

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

часто разработчики используют тот факт, что перечисления в C++ - это, по сути, целочисленный тип. Создадим заголовочный файл HelloWorldLang.hpp, в котором объявим перечисление:

Теперь вместо вызова
можно написать
что, согласитесь, выглядит понятнее.

Остался последний файл, который содержит непосредственно реализацию экспортируемых функций. Наша длительная подготовительная работа наконец закончена.
Но если мы запустим компиляцию прямо сейчас, то получим ошибки компиляции кода в plugin.hpp:
Если честно, мне было лень разбираться в чем там дело, но так как я нигде не использовал макрос FAR_USE_INTERNALS, я просто закомментировал проблемную строчку=)


Установка плагина в Far проста и прямолинейна: нужно лишь создать папку %FAR%/Plugins/HelloWorld и скопировать туда dll, файлы помощи и языковые файлы.


Теперь для загрузки нашего плагина достаточно перезапустить Far.

Перезапустив Far, нажмем кнопку F11. Должно отобразиться меню команд, один из пунктов которого принадлежит нашему плагину:


Теперь, если нажать Shift+F1 (вызвать справку плагина HelloWorld), мы увидим ожидаемое окно справки с текстом, который мы писали в файле HelloWorld_ru.hlf:


Закрыв окно справки нажатием кнопки Escape, запустим плагин, нажав Enter. Тогда мы увидим:



Эти функции представляют собой часть Plugins API и описаны в документации разработчика Far. Здесь приведем лишь их краткое описание:

ФункцияОписание
ExitFARW перед выходом из Far Manager
GetGlobalInfoW основная информация о плагине
GetPluginInfoW дополнительная информация о плагине
OpenW вызывает плагин
SetStartupInfoW Far Manager передает плагину необходимую информацию

Наш плагин очень простой и перед закрытием Far нам не нужно что-либо делать, поэтому функция ExitFARW нам не понадобится.

Наконец, перейдем непосредственно к программированию. Запускаем Visual Studio, выбираем пункт меню Файл -> Создать -> Проект, после чего, в открывшемся меню создания проекта, выбираем шаблон "Библиотека динамической компоновки (Dll)":


Битность скачанного вами Far Manager-а и битность плагина должны совпадать, поэтому, если Far 64-битный - нужно собрать 64-битную dll-ку. Для этого сразу в выпадающем списке "Платформы решения" выбираем нужную битность. У меня скачан 32-битный Far, поэтому у меня выбран пункт x86.


Раздел "Свойства конфигурации/Каталоги VC++", пункт "Включаемые каталоги", добавляем туда папку %SOURCE%/Far, где %SOURCE% - путь до папки, куда вы выкачали исходники Far. На моем компьютере это выглядит так:


Это необходимо, чтобы мы могли в своем проекте использовать заголовочные файлы Far.

Раздел "C/C++/Язык", пункт "Стандарт языка C++", выбираем "Стандарт ISO C++17":



В исходном коде Far есть много особенностей именно C++17 (например string_view), поэтому если не переключить проект на использование этого стандарта, он просто не скомпилируется.

Раздел "Свойства конфигурации/Общие", пункт "Набор символов". Выбираем значение "Использовать набор символов Юникода", если не выбрано:


Раздел "Компоновщик/Ввод", пункт "Файл определения модуля". Вводим HelloWorld.def:



Этот файл, который мы создадим позднее, содержит список экспортируемых функций Plugins API. Сохраняем все изменения, нажав OK, и закрываем окно свойств проекта.

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

В этом файле мы перечислим функции, которые будем экспортировать. Если этого не сделать, Far Manager при загрузке плагина их не увидит и, соответственно, сам плагин не будет загружен. Этот заголовочный файл содержит макросы с информацией о плагине и его авторе: Этот заголовочный файл присваивает GUID плагину и его элементам интерфейса: Для локализации Far использует файлы двух форматов: HLF и LNG.

Файлы с расширением hlf - это текстовые файлы в кодировке UTF-8, которые содержат текст справки плагина. Для вызова справки плагина в Far нужно нажать F11, отобразится список плагинов, выбрать интересующий вас плагин и нажать Shift+F1. Отобразится справка по плагину, например:


Файлы справки должны лежать в той же папке, где лежит dll плагина. Для нашего плагина HelloWorld мы создадим справку на русском и английском языке, поэтому нам нужно создать два файла: HelloWorld_ru.hlf и HelloWorld_en.hlf.

Итого, содержимое файла HelloWorld_ru.hlf имеет вид:

а содержимое файла HelloWorld_en.hlf:
Если вызвать справку нашего плагина на русском языке, то она должна иметь вот такой вид:


Языковые файлы должны лежать в той же папке, что и dll-файл плагина. Имя языкового файла имеет формат [Имя_плагина]_[код_языка].lng. В нашем плагине будут два языковых файла: HelloWorld_en.lng и HelloWorld_ru.lng.

Все строки в lng-файлах записываются в двойных кавычках. Все остальные строки, не начинающиеся с двойных кавычек игнорируются.

Для нашего плагина мы напишем такой файл HelloWorld_en.lng:

и файл HelloWorld_ru.lng:

Для того, чтобы получить строку из файла используется функция
где MsgIndex - это номер строки в языковом файле (нумерация идет с 0).

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

часто разработчики используют тот факт, что перечисления в C++ - это, по сути, целочисленный тип. Создадим заголовочный файл HelloWorldLang.hpp, в котором объявим перечисление:

Теперь вместо вызова
можно написать
что, согласитесь, выглядит понятнее.

Остался последний файл, который содержит непосредственно реализацию экспортируемых функций. Наша длительная подготовительная работа наконец закончена.
Но если мы запустим компиляцию прямо сейчас, то получим ошибки компиляции кода в plugin.hpp:
Если честно, мне было лень разбираться в чем там дело, но так как я нигде не использовал макрос FAR_USE_INTERNALS, я просто закомментировал проблемную строчку=)


Установка плагина в Far проста и прямолинейна: нужно лишь создать папку %FAR%/Plugins/HelloWorld и скопировать туда dll, файлы помощи и языковые файлы.


Теперь для загрузки нашего плагина достаточно перезапустить Far.

Перезапустив Far, нажмем кнопку F11. Должно отобразиться меню команд, один из пунктов которого принадлежит нашему плагину:


Теперь, если нажать Shift+F1 (вызвать справку плагина HelloWorld), мы увидим ожидаемое окно справки с текстом, который мы писали в файле HelloWorld_ru.hlf:


Закрыв окно справки нажатием кнопки Escape, запустим плагин, нажав Enter. Тогда мы увидим:


Читайте также: