Место, где разработчики плагинов могут поделиться своим опытом.
DrKnS
Posts: 5788 Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 10 times
Been thanked: 332 times
Post
by DrKnS » Wed 30 Dec, 2015 17:52
Не прошло и трёх лет , как у меня дошли руки набросать
демо для Python.
Умеет добавлять пункт в меню плагинов и показывать сакральную фразу под панелями.
DrKnS
techie
Posts: 782 Joined: Mon 03 Oct, 2005 22:42
Has thanked: 33 times
Been thanked: 4 times
Post
by techie » Wed 30 Dec, 2015 21:18
DrKnS wrote: В аттаче пример для Python. Умеет добавлять пункт в меню плагинов и показывать сакральную фразу под панелями.
Я понимаю, шо новый год, но это ж прям праздник какой-то. =) Только бы вот если бы он ещё не крэшился.
Code: Select all
Problem signature:
Problem Event Name: APPCRASH
Application Name: Far.exe
Application Version: 3.0.4455.0
Application Timestamp: 5647d9d1
Fault Module Name: ntdll.dll
Fault Module Version: 6.0.6002.23824
Fault Module Timestamp: 561e75b5
Exception Code: 80000003
Exception Offset: 0004862e
OS Version: 6.0.6002.2.2.0.768.2
Locale ID: 1033
Additional Information 1: 0d5e
Additional Information 2: 5100d02fe2e5e215e54284527f5592c4
Additional Information 3: 2c30
Additional Information 4: e5baded6bd4dd0fdfa00b513e764d29b
Last edited by
techie on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: [spoiler]
techie
DrKnS
Posts: 5788 Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 10 times
Been thanked: 332 times
Post
by DrKnS » Wed 30 Dec, 2015 21:55
techie wrote: Только бы вот если бы он ещё не крэшился.
Питон не нашло? Фар, старее, чем сегодняшний 4498, будет падать, если не нашло.
Надо версия 3.5 и чтобы в %PATH% путь прописан был, см. readme.
DrKnS
tstr
Posts: 536 Joined: Thu 16 Apr, 2009 16:15
Has thanked: 13 times
Been thanked: 9 times
Post
by tstr » Wed 30 Dec, 2015 22:33
эх, если бы в _macroinit.lua эти пути выставлять...
tstr
techie
Posts: 782 Joined: Mon 03 Oct, 2005 22:42
Has thanked: 33 times
Been thanked: 4 times
Post
by techie » Thu 31 Dec, 2015 06:14
DrKnS wrote: Питон не нашло? Фар, старее, чем сегодняшний 4498, будет падать, если не нашло.
4498 уже не падает.
DrKnS wrote: Надо версия 3.5 и чтобы в %PATH% путь прописан был, см. readme.
Класс. Работает. =)
А нельзя выбрать с какой версией дружить? Или выбрать её автоматом в расчёте на то, что питоновский код совместим между версиями.
Когда ошибка в скрипте, непонятно как дебажить. Всё что есть это
Code: Select all
Error loading plugin
C:\Users\user\AppData\Local\Far Manager\Plugins\helloworld.py\__init__.py
The operation completed successfully.
.
Не перегружается плагин, если отредактировать его. Неудобно.
Last edited by
techie on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: [code], [spoiler]
techie
DrKnS
Posts: 5788 Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 10 times
Been thanked: 332 times
Post
by DrKnS » Thu 31 Dec, 2015 09:53
techie wrote: А нельзя выбрать с какой версией дружить? Или выбрать её автоматом в расчёте на то, что питоновский код совместим между версиями.
Нельзя, увы. Линкуется с pythonNN.dll статически, другого способа я не знаю.
techie wrote: Когда ошибка в скрипте, непонятно как дебажить. Всё что есть это вот.
Ошибка выводится в stdout. Если запусить с погашенными панелями, будет видно.
DrKnS
HaRT
Moderator
Posts: 9657 Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 119 times
Been thanked: 245 times
Post
by HaRT » Thu 31 Dec, 2015 14:19
DrKnS wrote: другого способа я не знаю
Интересно, как
PTVS дружит с несколькими экземплярами установленного питона на выбор…
HaRT
gotar
Posts: 327 Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times
Been thanked: 1 time
Post
by gotar » Fri 01 Jan, 2016 21:24
Создаю каталог helloworld. В него записываю __init__.py из архива. Делаю load:helloworld. В меню по f11 ничего не появляется. Что я делаю не так? Если каталог helloworld переписать в %FARHOME%\Plugins и перезапустить far, то все работает.
gotar
gotar
Posts: 327 Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times
Been thanked: 1 time
Post
by gotar » Sat 02 Jan, 2016 12:45
Можно ли таким образом загрузить другой плагин на питоне и чем он должен отличаться от первого?
gotar
DrKnS
Posts: 5788 Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 10 times
Been thanked: 332 times
Post
by DrKnS » Sat 02 Jan, 2016 14:28
С этой версией будет можно.
Отличаться должен гуидом.
Точек в именах папок быть не должно.
DrKnS
gotar
Posts: 327 Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times
Been thanked: 1 time
Post
by gotar » Sun 03 Jan, 2016 15:16
У меня не получается изменить текст, печатываемый плагином, без перезагрузки Фара.
Нельзя ли сделать так, чтобы в load: можно было указывать имя каталога, содержащего __init.py__ , чтобы было видно какой plugin грузится?
gotar
DrKnS
Posts: 5788 Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 10 times
Been thanked: 332 times
Post
by DrKnS » Sun 03 Jan, 2016 18:23
gotar wrote: У меня не получается изменить текст, печатываемый плагином, без перезагрузки Фара.
Питон
не особо умеет выгрузку вообще . Но перегрузить вроде бы можно. Версия в шапке обновлена.
gotar wrote: Нельзя ли сделать так, чтобы в load: можно было указывать имя каталога, содержащего __init.py__ , чтобы было видно какой plugin грузится?
Можно запускать
load:имя_папки\__init__.py
из папки уровнем выше, например.
DrKnS