Данный скрипт позволяет манипулировать переменными окружения: создавать, удалять, редактировать, сохранять в файл, читать из него.
Скрипт содержит один макрос.
Клавиша вызова: AltShiftE.
Требуемая версия Far 3.0.4000+.
Версия 1.0 - Первый релиз.
Версия 1.0.1 - Значение переменной окружения можно редактировать во встроенном редакторе Far-а. При этом составные значения, наподобие Path, разбиваются на строки. Мелкие правки.
Версия 1.0.2 - Добавлен guid для диалога редактирования.
Версия 1.0.3 - Рефакторинг. Небольшие правки.
Версия 1.0.4 - Мелкая правка.
Версия 1.0.5 - Более корректный разбор композитного значения переменной.
Версия 1.1.0 - Добавлена обработка переменных окружения в реестре. Мелкие правки.
Версия 1.2.0 - Переделка интерфейса. Рефакторинг.
Версия 1.2.1 - AltF4 сразу открывает переменную в редакторе Far. Белый и чёрный списки переменных. Разные правки.
Версия 1.3.0 - Добавлена возможность сохранять переменные в файл и считывать их оттуда. Nfo. Убран \0, попадавший в конец значения переменной из памяти. Исправлена область действия в MenuItem. Мелкие правки.
Версия 1.3.1 - Функции, добавленные в предыдущей версии не были описаны в подсказке и справке главного окна.
Версия 1.3.2 - Исправлена ошибка с сохранением переменных окружения при непустом белом списке. Мелкие правки.
Версия 1.3.3 - Исправлена ошибка с удалением всех переменных из чёрного списка, внесённая в версии 1.3.2.
Версия 1.4.0 - Добавлена возможность временно отключать переменные. Добавлена возможность загружать переменные из файла с командной строки. Переделана справка. Рефакторинг.
Версия 1.4.1 - Добавлена возможность загружать переменные из файла с командной строки без диалога выбора переменных. Добавлена возможность удалять переменные при загрузке из файла. Мелкие правки.
После 15-ти минут расследования оказалось что скрипту не нравится мой конфиг LuaMacro в %FARPROFILE%\PluginsData, если его убрать и перезапустить FAR падения нет.
Вот этот конфиг:
Кажется, разобрался. Попробуйте заменить строку 209 с
IgorZ wrote: ↑Tue 20 Jun, 2017 05:49
и проверьте с проблемной базой. Сообщите результат.
Спасибо, теперь все работает. Т.е. проблема была в скрипте, а не в базе ?
Да.
Менеджер переменных окружения
Posted: Wed 21 Jun, 2017 07:06
by IgorZ
Версия 1.3.2 - Исправлена ошибка с сохранением переменных окружения при непустом белом списке. Мелкие правки. В частности, редактирование значения переменной в редакторе из диалога редактирования можно вызвать не только по F4, но и по AltF4: F4 может перебивать макрос для DialogTools.
Менеджер переменных окружения
Posted: Fri 04 Aug, 2017 15:04
by DV
Макрос последней версии, внёс одну переменную в Black List, а убрать оттуда не могу
Если внести в Black List хотя бы две переменные, то сочетанием CtrlB Del Enter можно убрать одну из них, а оставшуюся (последнюю) не удаётся убрать никак.
Менеджер переменных окружения
Posted: Fri 04 Aug, 2017 15:14
by DV
И предложение на рассмотрение: добавить возможность временно "отключать" выбранные переменные (аналог "set var=" с помощью меню).
Менеджер переменных окружения
Posted: Tue 08 Aug, 2017 06:53
by IgorZ
Версия 1.3.3 - Исправлена ошибка с удалением всех переменных из чёрного списка, внесённая в версии 1.3.2. Оптимизация...
DV wrote: ↑Fri 04 Aug, 2017 15:14
И предложение на рассмотрение: добавить возможность временно "отключать" выбранные переменные (аналог "set var=" с помощью меню).
Не уверен. Может, используете имеющийся механизм сохранения/чтения переменных в/из файл?
Менеджер переменных окружения
Posted: Tue 08 Aug, 2017 20:16
by DV
Спасибо за обновление!
Сохранение/чтение в файл для "отключения" переменных долговато использовать. Я скорее представлял себе что-то наподобие "чёрного списка": к примеру, по Alt+D перемещаем переменную в список "отключенных", а по Ctrl+D убираем из этого списка. При этом "отключение" обычной переменной окружения предполагало бы запоминание её имени и текущего значения (например, туда же, куда сохраняются имена из "чёрного списка") и затем установку пустого значения для этой переменной. А "восстановление" - установку сохранённого значения. Переменные же из реестра можно было бы временно "скрыть" путём установки пустого значения переменной окружения с тем же именем - а восстановить, наверное, вновь прочитав её значение из реестра.
Менеджер переменных окружения
Posted: Wed 09 Aug, 2017 05:00
by IgorZ
DV wrote: ↑Tue 08 Aug, 2017 20:16
Спасибо за обновление!
Сохранение/чтение в файл для "отключения" переменных долговато использовать. Я скорее представлял себе что-то наподобие "чёрного списка": к примеру, по Alt+D перемещаем переменную в список "отключенных", а по Ctrl+D убираем из этого списка. При этом "отключение" обычной переменной окружения предполагало бы запоминание её имени и текущего значения (например, туда же, куда сохраняются имена из "чёрного списка") и затем установку пустого значения для этой переменной. А "восстановление" - установку сохранённого значения. Переменные же из реестра можно было бы временно "скрыть" путём установки пустого значения переменной окружения с тем же именем - а восстановить, наверное, вновь прочитав её значение из реестра.
Вообще-то, для отключения переменную надо полностью (в том числе, из реестра) удалять, а не менять её значение, иначе результат будет непредсказуем, но однозначно отличен от ожидаемого. То есть, отключение должно быть равнозначно сохранению переменной в файл с последующим удалением, а включение - чтению переменной из файла.
В ближайшее время я иду в отпуск, так что сейчас зачищаю перед ним хвосты, а потом, скорее всего, будет не до того. Так что ждать чего-то в ближайший месяц не советую. Потом - кто знает...
Менеджер переменных окружения
Posted: Wed 20 Sep, 2017 11:18
by IgorZ
Версия 1.4.0 - Добавлена возможность временно отключать переменные. Добавлена возможность загружать переменные из файла с командной строки. Переделана справка. Рефакторинг.
DV wrote: ↑Fri 04 Aug, 2017 15:14
И предложение на рассмотрение: добавить возможность временно "отключать" выбранные переменные (аналог "set var=" с помощью меню).
Проверяйте.
P. S. Уже выложив, задумался. Сейчас при загрузке переменных из файла с префикса выводится диалоговое окно выбора, какие переменные загружать. Может, имеет смысл при работе с командной строки не выводить диалог, а безусловно грузить все содержащиеся в нём переменные?
Менеджер переменных окружения
Posted: Wed 20 Sep, 2017 11:45
by John Doe
Как будет лучше по умолчанию судить не берусь, но полагаю, что не помешает ключ, управляющий этим поведением.
Менеджер переменных окружения
Posted: Thu 21 Sep, 2017 06:44
by IgorZ
Версия 1.4.1 - Добавлена возможность загружать переменные из файла с командной строки без диалога выбора переменных. Просто сделал ещё один префикс. Добавлена возможность удалять переменные при загрузке из файла, заодно и совместимость улучшилась. Если раньше конструкция set name= устанавливала значение переменной name в пустую строку, то теперь, как и стандартная команда ОС, удаляет такую переменную. Мелкие правки.