EnvMan: Environment Manager — диспетчер переменных среды

Здесь можно обсудить ваш любимый плагин.
User avatar
CyberShadow
Posts: 194
Joined: Sun 15 Apr, 2007 17:12
Been thanked: 1 time
Contact:

Re: EnvMan: Environment Manager — управл-е переменными окруж

Post by CyberShadow »

Latest post of the previous page:

А что если в ком-строке набрать, например: set PATHEXT=%PATHEXT%

(команду set FAR обрабатывает сам)
tstr
Posts: 557
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 20 times
Been thanked: 9 times

Re: EnvMan: Environment Manager — управл-е переменными окруж

Post by tstr »

может быть тогда добавить в настройку элементов поля для автоисполняемых макросов, например onCheck/onUncheck ?
или каким-то образом помечать/выставлять переменную в элементе для передачи в ФАР на исполнение в качестве макроса (как в User Menu)...
User avatar
CyberShadow
Posts: 194
Joined: Sun 15 Apr, 2007 17:12
Been thanked: 1 time
Contact:

Re: EnvMan: Environment Manager — управл-е переменными окруж

Post by CyberShadow »

tstr wrote:или каким-то образом помечать/выставлять переменную в элементе для передачи в ФАР на исполнение в качестве макроса (как в User Menu)...
Не понял. Разве макросы не "видят" изменения в среде настроенные EnvMan?
tstr wrote:может быть тогда добавить в настройку элементов поля для автоисполняемых макросов, например onCheck/onUncheck ?
Проще можно сделать настройку - макрос который будет выполнятся после изменения среды. В среде уже можно указывать что должен делать макрос.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Re: EnvMan: Environment Manager — диспетчер переменной среды

Post by sToLp »

reaperman wrote:
sToLp wrote:Судя по Вашему вопросу, подозреваю, что в этот плагин Вы не очень то вникали.
Судя по Вашему ответу, подозреваю, что Вы автор этого плагина :)
Да, признаюсь, я не очень вникал. Когда я его выкачивал "на посмотреть" у меня что-то там не срослось с изменением PATH, подробностей не помню уже, дальше копать не стал. Сейчас снова выкачал, поставил - всё в порядке, действительно корректно работает с путями. В общем, я в тот первый раз что-то где-то протупил, так же, как и с far.RecursiveSearch. Так что присоединяюсь к рекомендации - если речь идет только об изменении environment по ситуации - лучше использовать плагин, это проще и быстрее вытачивания самопальных решений.
Воистину: "Нам не дано предугадать как слово наше отзовётся..."
Автор плагина вовсе не я, а, как это чётко обозначено на страницах, к коим ведут приведённые мною ссылки, — CyberShadow.
За что ему постоянная благодарность — плагин очень помогает мобильно обращаться в Фаре со средой.
vlotarev
Posts: 2
Joined: Thu 12 Mar, 2015 09:54

EnvMan: Environment Manager — диспетчер переменной среды

Post by vlotarev »

А можно каким-то образом импортировать текущее окружение Windows (создав, скажем, профиль по-умолчанию)?
User avatar
CyberShadow
Posts: 194
Joined: Sun 15 Apr, 2007 17:12
Been thanked: 1 time
Contact:

EnvMan: Environment Manager — диспетчер переменной среды

Post by CyberShadow »

Можно, см. в документации
reaperman
Posts: 30
Joined: Wed 17 May, 2006 08:48
Has thanked: 3 times
Been thanked: 1 time

EnvMan: Environment Manager — диспетчер переменной среды

Post by reaperman »

sToLp wrote: Когда я его выкачивал "на посмотреть" у меня что-то там не срослось с изменением PATH, подробностей не помню уже, дальше копать не стал.
Вот вспомнил, что именно тогда "не срослось" - он просто не работает с PATH корректно :) Сейчас опять то же самое повторяется - если профиль добавляет что-то в PATH, то при его деактивации Environment Manager не удаляет добавленное, что приводит к загаживанию путей. Причем на моем ноутбуке он почему-то работает как ожидается, а на офисной машине - фиг. Версии фара/плугина одинаковые (3.0 build 4444 x64 и 1.6.0 (build 0) соответственно), в чем может быть разница - я не в курсе, а также плагин молча наглухо роняет фар при попытке вызова своих настроек на обеих машинах (F11->select Env Man->Shift-F9).
User avatar
CyberShadow
Posts: 194
Joined: Sun 15 Apr, 2007 17:12
Been thanked: 1 time
Contact:

EnvMan: Environment Manager — диспетчер переменной среды

Post by CyberShadow »

reaperman wrote: то при его деактивации Environment Manager не удаляет добавленное
Плагин с нуля переписывает все окружение. Возможно у вас конфликт с каким-либо другим софтом.

Первая настройка по порядку не должна обращаться к себе. Попробуйте вставить новый профиль как первый элемент списка, напр. PATH=C:\Windows\System32;C:\Windows
reaperman wrote: Версии фара/плугина одинаковые (3.0 build 4444 x64 и 1.6.0 (build 0) соответственно), в чем может быть разница - я не в курсе, а также плагин молча наглухо роняет фар при попытке вызова своих настроек на обеих машинах (F11->select Env Man->Shift-F9).
На моем стареньком build 4155 работает ОК. Я не в курсе, опять API ломали что ли?
reaperman
Posts: 30
Joined: Wed 17 May, 2006 08:48
Has thanked: 3 times
Been thanked: 1 time

EnvMan: Environment Manager — диспетчер переменной среды

Post by reaperman »

CyberShadow wrote: Первая настройка по порядку не должна обращаться к себе. Попробуйте вставить новый профиль как первый элемент списка, напр. PATH=C:\Windows\System32;C:\Windows
Хмм, не совсем понял что имеется в виду. У меня сейчас всё выглядит вот так:
Три профиля (в порядке отображения в списке): test, python27, python35, потроха их выглядят вот так:
1) test:
DODO=dead
2) python27:
PYVER=2.7
PATH=%PATH%;C:\Lang\Python\Python27
3) python35:
PYVER=3.5
PATH=%PATH%;C:\Lang\Python\Python35

Первый профиль работает как ожидается (переменная DODO появляется/исчезает при переключении), а вот пайтоновские профили добавляют в PATH соответствующий путь, и он остаётся там навсегда, т.е. деактивация профиля не "откатывает" PATH обратно.
User avatar
CyberShadow
Posts: 194
Joined: Sun 15 Apr, 2007 17:12
Been thanked: 1 time
Contact:

EnvMan: Environment Manager — диспетчер переменной среды

Post by CyberShadow »

Добавьте перед первым профилем новый профиль, в котором устанавливается изначальное значение переменной PATH, напр.:

PATH=C:\Windows\System32;C:\Windows

Этот профиль должен оставаться всегда включенным.
User avatar
korsak
Posts: 63
Joined: Fri 28 Nov, 2008 22:21
Has thanked: 4 times
Been thanked: 1 time

EnvMan: Environment Manager — диспетчер переменной среды

Post by korsak »

А как быть в этом случае с путями, которые уже есть в системной %PATH%?
Ведь так нельзя указать в изначальном значении?
PATH=%PATH%
User avatar
CyberShadow
Posts: 194
Joined: Sun 15 Apr, 2007 17:12
Been thanked: 1 time
Contact:

EnvMan: Environment Manager — диспетчер переменной среды

Post by CyberShadow »

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

Вообще мне кажется что по плану плагин не должен был так себя вести насчет изначальных настроек, но я не помню если это баг или было так задумано. Слишком давно было.
reaperman
Posts: 30
Joined: Wed 17 May, 2006 08:48
Has thanked: 3 times
Been thanked: 1 time

EnvMan: Environment Manager — диспетчер переменных среды

Post by reaperman »

CyberShadow wrote: Ну, скопируйте их, а лучше разбейте на профили. Многие программы суют туда пути которые часто ненужны и часто конфликтуют, навести в этом порядок есть смысл плагина.
Как по мне, это не самый удачный вариант решения. На моих системах в путях нет ничего лишнего/конфликтующего, я за этим слежу, так как часто использую всякие скрипты вне фара для разнообразных задач, так что в PATH и так порядочек. К тому же, не знаю как у других, но мой внутренний Оккам начинает угрожающе размахивать бритвой, как только слышит о необходимости копировать и поддерживать одно и то же в совершенно разных местах. Хотелось бы таки иметь "единую точку входа".

К тому же я разобрался в чём суть собака зарыта :)
Плагин по умолчанию имеет такую настройку (нашёл в реестре, так как свойства через диалог недоступны):

IgnoredVariables=FARENV_EXPORT_HWND,Path

Если выкинуть оттуда Path, всё заводится и едет как надо. Это также объясняет тот факт, что при миграции никакие настройки плагина не переехали.

Еще немного неконструктивного бурчания - все остальные плагины вроде как хранят теперь свои настройки в профиле фара в %appdata% в sqlite'ных базах. Сей же плагин is still living in the past - настройки были обнаружены в реестре по адресу HKCU/Software/Far2/Plugins/EnvMan. Far2, Карл!
User avatar
CyberShadow
Posts: 194
Joined: Sun 15 Apr, 2007 17:12
Been thanked: 1 time
Contact:

EnvMan: Environment Manager — диспетчер переменных среды

Post by CyberShadow »

reaperman wrote: Если выкинуть оттуда Path, всё заводится и едет как надо.
ОК, значит не совсем сошел с ума. Вроде помнил что как-то так должно было работать :)
reaperman wrote: Сей же плагин is still living in the past
Да, знаю... главная проблема с миграции настроек из реестра в бд...
tstr
Posts: 557
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 20 times
Been thanked: 9 times

EnvMan: Environment Manager — диспетчер переменных среды

Post by tstr »

кроме миграции сильно не хватает какого-нибудь препроцесс/постпроцесс внешних процессов с импортом переменных по их окончанию. было бы идеально привязать к lua макросу.
ну и с PATH там всё не так просто и однозначно - перестаёт время от времени восстанавливать переменную при деактивации окружения.
User avatar
CyberShadow
Posts: 194
Joined: Sun 15 Apr, 2007 17:12
Been thanked: 1 time
Contact:

EnvMan: Environment Manager — диспетчер переменных среды

Post by CyberShadow »

tstr wrote: кроме миграции сильно не хватает какого-нибудь препроцесс/постпроцесс внешних процессов с импортом переменных по их окончанию. было бы идеально привязать к lua макросу.
В помощи плагина есть инструкции как это можно сделать. Не полностью автоматом но довольно просто.
Post Reply

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