FarNet — плагин для написания плагинов на .NET языках

Здесь можно обсудить ваш любимый плагин.
User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman » Tue 25 Mar, 2014 11:47

Latest post of the previous page:

D:\>nuget.exe install FarNet
Вы этой командой просите скачать и распаковать пакет на D:\. Все. Если это не так получается, пишите в nuget.exe. К Фару эта команда отношения не имеет. А вот распакованная папка "D:\FarNet.<version>" - имеет, смотрите ее.

Plus168
Posts: 18
Joined: Thu 05 Nov, 2009 13:12

Re: FarNet — плагин для написания плагинов на .NET языках

Post by Plus168 » Tue 25 Mar, 2014 12:00

Пока не понял о какой распакованной папке речь, в которой нужно искать About-FarNet.htm.
Если о том, куда должен, но не встает плагин, то для меня это проблема, т.к. именно это у меня и не получается.

Что именно я хочу от nuget.exe сказать сложно, т.к. я пока не понимаю что вообще должно быть. Есть только цель - установленный плагин FarNet, а вот как этого достичь я понять не смог, потому и пробую все подряд.
Нигде же не написано что именно нужно. Возможно оно есть в том самом About-FarNet.htm, но у меня его нет.
Есть только информация об установке пакета NuGet. Отсюда законный вовод, что с установлкой пакета NuGet плагин должен появитсья. Ну, или по крайней мере в это хочется верить.
Что же все-таки должно быть после установки nuget.exe install FarNet и появления клагина в FarHome\Plugins?
Наверно это определяющее, понять что должно произойти с плагином, как он должен добраться до папки назначения, а то пока с моей стороны только какое-то шаманство без малейшего понимания.

Есть возможность выложить About-FarNet.htm и дать на него ссылку в шапке?

FarNet.5.0.47 действительно появилась. Каюсь, не заметил сразу, т.к. в корне D у меня временная свалка, при перезагрузке компьютера SQL-скрипты куда-то надо было сохранить срочно.

Какие теперь будут инструкции по раскладываюнию FarHome и FarHome.x86 по местам?

Plus168
Posts: 18
Joined: Thu 05 Nov, 2009 13:12

Re: FarNet — плагин для написания плагинов на .NET языках

Post by Plus168 » Tue 25 Mar, 2014 12:11

Ура!
Вроде получилось!
Спасибо!
Буду разбираться теперь уже как и что с плагином можно делать.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman » Tue 25 Mar, 2014 12:19

Хорошо. Желаю приятного пользования. Кое-что из жалоб постараюсь учесть. Но совсем все просто, вероятно, не будет. This is Far!

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman » Wed 26 Mar, 2014 08:54

Plus168, если Вы еще тут :), я постарался учесть замечания. Если бы сейчас пришлось устанавливать, было бы проще с новыми инструкциями? Представьте, что, как вчера, ничего не знаете.

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

Что в новом варианте еще можно упростить/улучшить?

Plus168
Posts: 18
Joined: Thu 05 Nov, 2009 13:12

Re: FarNet — плагин для написания плагинов на .NET языках

Post by Plus168 » Wed 26 Mar, 2014 09:17

Да, так существенно проще.
Хотя я могу и ошибать, поскольку теперь знаю куда смотреть ;-)
С этой инструкцией сразу все легло на место.
Вот мои замечания:
1) запустить powershell не достаточно, его надо запустить с правами Администратора (в заголовке консоли должно быть "Администратор: Windows PowerShell", иначе ошибка
Update-FarPackage : Исключение при вызове "CreateDirectory" с "1" аргументами: "Отказано в доступе по пути "C:\Program
Files (x86)\Far Manager\FarNet.PowerShellFar.5.0.70".
2) В инструкции установка FarNet.PowerShellFar, я бы начал с самого FarNet, или по крайней мере написал как ставить его, т.к. без него ничего вообще не будет работать, а значит его надо ставить первым и в этом случае команды инструкции перед "употреблением" надо будет слегка поменять, что просто неудобно (copy&paste он всегда copy&paste).
А в остальном - просто супер!
Я бы вчера сэкономил пару часиков :-)

Спасибо!

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman » Wed 26 Mar, 2014 09:22

1) Верно, это стоит упомянуть
2) А вроде так и сделано? В инструкции сначала все про Фарнет, а потом уже про модули. Или прямо указать дополнительную команду для установки Фарнет перед командой установки модуля? Это можно.

Plus168
Posts: 18
Joined: Thu 05 Nov, 2009 13:12

Re: FarNet — плагин для написания плагинов на .NET языках

Post by Plus168 » Wed 26 Mar, 2014 09:30

2) Да уж, интересно куда я смотрел. Наверно глаз перскочил - одинакового текста много.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman » Wed 26 Mar, 2014 09:36

Сделано, обновлено.
1) добавлено (as Administrator)
2) добавлено "если Фарнет еще не установлен, выполните ...". Хуже не будет.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman » Sat 29 Mar, 2014 20:40

Дошли руки, создал FarNet-Wiki. Точнее, перенес кое-что с гуглекода, где мне вики совсем не нравилась, на гитхаб. Ну и дописал немного. Все на английском, увы, другого не планируется.

Вики там удобно сделана, могу и еще чего дописать, когда время будет. Предлагайте, если что. Это относится не только к Фарнет, конечно, но и к модулям, которые от меня.

User avatar
HaRT
Moderator
Posts: 8637
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 78 times
Been thanked: 142 times

Re: FarNet — плагин для написания плагинов на .NET языках

Post by HaRT » Sun 30 Mar, 2014 15:42

NightRoman wrote:Дошли руки, создал FarNet-Wiki [...] и дописал немного.
Спасибо!
При вхождении будет гораздо удобнее для освоения, особенно если будет поддерживаться в актуальном состоянии.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by NightRoman » Fri 20 Mar, 2015 07:09

4319 - в FarNet.PowerShellFar сломались несколько тестов, в 4316 все еще нормально

Одна группа тестов использует диалоги со списками с динамической фильтрацией по
мере нажатия клавиш. В нормальном режиме работы Фара все по-прежнему нормально.
Но в специальном режиме запуска фильтрация вроде не происходит, "проглатываются
/ не посылаются плагину" клавиши?

Вот один пример.

Скрипт "Out-FarList..ps1"

Code: Select all

{{
	$r = 1..9 | Out-FarList
}}
'Keys"7"'
Запускать в специальном режиме командой PowerShellFar
ps: Invoke-FarStepper .\Out-FarList..ps1

Скрипт создает диалог со списком из 9 элементов 1, 2, ..., 9. Затем посылает
туда клавишу 7. Должна произойти авто-фильтрация, в списке один элемент 7.
Однако, в 4319 в списке 9 элементов.

Если то же самое сделать в "ручном" режиме, то все работает нормально.
А именно, запустить команду
ps: 1..9 | Out-FarList

Появится список из 9 строк. Нажать 7. Происходит фильтрация, остается одна строка 7.

С другой группой тестов еще разбираюсь. По симптомам пока трудно сказать, та же проблема или нет.

User avatar
John Doe
Бюрократ
Posts: 12192
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 31 times
Been thanked: 159 times

Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe » Fri 20 Mar, 2015 08:25

Возможно дело в том, что макроклавиши теперь приходят с EventType == FARMACRO_KEY_EVENT.

Кстати, FarInputRecordToName не работает сейчас с такими сообщениями, может стоит это изменить?

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by NightRoman » Fri 20 Mar, 2015 08:43

Да, дело в этом. Это так и задумано? А в редакторе, панелях и проч. тоже так будет? (пока вроде нет, во всяком случае, Фарнет не проверяет этот тип события больше нигде и все там работает по KEY_EVENT)

User avatar
John Doe
Бюрократ
Posts: 12192
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 31 times
Been thanked: 159 times

Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe » Fri 20 Mar, 2015 08:46

NightRoman wrote: А в редакторе, панелях и проч. тоже так будет (пока вроде нет)?
Не знаю что там в панелях, но для ProcessEditorInput и ProcessConsoleInput так было и раньше.
Собственно целью последнего изменения очевидно и есть унификация.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by NightRoman » Fri 20 Mar, 2015 08:49

Хм. Я дописал в своем ответе - Фарнет не проверяет этот тип события больше нигде и все там работает по KEY_EVENT, а не по FARMACRO_KEY_EVENT. Непонятно пока, буду смотреть, что и как.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by NightRoman » Fri 20 Mar, 2015 08:52

Может, в редакторе и проч. оба события происходят и KEY_EVENT, и FARMACRO_KEY_EVENT? Иначе непонятно, как Фарнет работал (и работает, и ибо проверка FARMACRO_KEY_EVENT пока только что добавлена только в диалог).

Другое предположение: при вызове макроса через АПИ в редактор и проч. приходит все-таки KEY_EVENT, а не FARMACRO_KEY_EVENT?

Все это я выясню подробнее, но позже, может, не сегодня.

Post Reply

Return to “Обсуждение плагинов”