Данный скрипт позволяет манипулировать переменными окружения: создавать, удалять, редактировать, сохранять в файл, читать из него.
Скрипт содержит один макрос.
Клавиша вызова: 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 - Добавлена возможность загружать переменные из файла с командной строки без диалога выбора переменных. Добавлена возможность удалять переменные при загрузке из файла. Мелкие правки.
Менеджер переменных окружения
Posted: Thu 17 Dec, 2015 11:02
by Shmuel
Latest post of the previous page:
Мелкая ошибка: нажимаем Ins, в диалоге вводим какое-то имя, значение оставляем пустым, жмём Enter.
EnvManager.lua:127: bad argument #2 to 'format' (string expected, got nil)
Менеджер переменных окружения
Posted: Thu 17 Dec, 2015 11:21
by Smitis
IgorZ wrote:Кое-что ещё в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
Но там имена немного не те, придётся соответствия раскручивать.
По моему, это уже из разряда самодеятельности. Тогда уж пути получать через SHGetSpecialFolderLocation. Но зачем?
Менеджер переменных окружения
Posted: Fri 18 Dec, 2015 09:40
by IgorZ
Shmuel wrote:Мелкая ошибка: нажимаем Ins, в диалоге вводим какое-то имя, значение оставляем пустым, жмём Enter.
EnvManager.lua:127: bad argument #2 to 'format' (string expected, got nil)
IgorZ wrote:Кое-что ещё в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
Но там имена немного не те, придётся соответствия раскручивать.
По моему, это уже из разряда самодеятельности. Тогда уж пути получать через SHGetSpecialFolderLocation. Но зачем?
А все скрипты к FAR-у - самодеятельность . Вообще, всё зависит от соотношения затраченного труда и полученного результата. Если сделать просмотр и редактирование переменных из реестра, то добавить обработку ещё и этих будет, скорее всего, сравнительно дёшево.Так что посмотрим, что вообще из этой идеи получится.
Менеджер переменных окружения
Posted: Fri 18 Dec, 2015 12:05
by Smitis
Просто это уже будет не редактор переменных, а твикер винды.
П.С.
Может свою версию довести до ума и выложить? Наверное, так и сделаю. Будет конкурент Вот только с переменными процесса разберусь, их у меня не было.
Менеджер переменных окружения
Posted: Sat 19 Dec, 2015 23:36
by HaRT
IgorZ wrote: Версия 1.0.1 - Значение переменной окружения можно редактировать во встроенном редакторе Far-а. При этом составные значения, наподобие Path, разбиваются на строки.
Скрипт не пробовал, но интересно, правильно ли будут разбиваться пути, некоторые из которых закавычены из-за наличия в них точки с запятой.
Менеджер переменных окружения
Posted: Tue 22 Dec, 2015 11:48
by IgorZ
Версия 1.0.5 - Более корректный разбор композитного значения переменной.
HaRT wrote:
IgorZ wrote: Версия 1.0.1 - Значение переменной окружения можно редактировать во встроенном редакторе Far-а. При этом составные значения, наподобие Path, разбиваются на строки.
Скрипт не пробовал, но интересно, правильно ли будут разбиваться пути, некоторые из которых закавычены из-за наличия в них точки с запятой.
Правильно, правильно, бе-бе-бе!
Менеджер переменных окружения
Posted: Thu 24 Dec, 2015 10:00
by IgorZ
Версия 1.1.0 - Добавлена обработка переменных окружения в реестре. Мелкие правки. Внимание!!! В связи с тем, что запись в реестр была исправлена недавно (стабильная версия 4455 делает это некорректно), в скрипте встроена проверка версии LuaMacro. Если версия недостаточно свежая, редактирование и удаление переменных из реестра будет недоступно, режим "смотри, но не трогай".
2useven10, Shmuel - этого хотели?
Менеджер переменных окружения
Posted: Thu 24 Dec, 2015 10:34
by 2useven10
Не совсем.
При редактировании переменных 'в реестре' хочется сразу видеть как изменятся зависимые переменные.
Реальная запись при этом лучше по отдельной кнопке {принять изменения}, после того как все последствия изменений видны и устраивают.
Менеджер переменных окружения
Posted: Thu 24 Dec, 2015 11:20
by Shmuel
IgorZ, мне хотелось видеть отдельный режим для редактирования переменных окружения текущего процесса Фара и отдельный - для редактирования системных переменных окружения (как в контрольной панели). Насколько я вижу, отдельного режима нет, всё вместе. Попробовал изменить одну переменную окружения, перезапустил Фар - наблюдаю прежнее значение.
Менеджер переменных окружения
Posted: Thu 24 Dec, 2015 12:26
by IgorZ
2useven10 wrote:Не совсем.
При редактировании переменных 'в реестре' хочется сразу видеть как изменятся зависимые переменные.
Реальная запись при этом лучше по отдельной кнопке {принять изменения}, после того как все последствия изменений видны и устраивают.
То есть, жмём "редактировать", изменяем, "ОК", выходит окно, что-то вроде:
┌─────────────────────────────────────┐
│ Переменная A сменит значение. │
│ Старое: BBB │
│ Новое : CCC │
├─────────────────────────────────────┤
│ [Принять изменения] [Отказаться] │
└─────────────────────────────────────┘
Так?
Shmuel wrote:IgorZ, мне хотелось видеть отдельный режим для редактирования переменных окружения текущего процесса Фара и отдельный - для редактирования системных переменных окружения (как в контрольной панели). Насколько я вижу, отдельного режима нет, всё вместе.
Дизайн - штука разнообразная, ограниченная только воображением, а оно у всех работает по-разному. Здесь мы, видимо, не совпали. Не нравится то, что редактирование в реестре только из отдельного окна просмотра? Или непременно нужно вызывать отдельный список, в котором только реестровые переменные? Второй вариант мне кажется неудобным: лучше видеть значение этой переменной в памяти.
Shmuel wrote:Попробовал изменить одну переменную окружения, перезапустил Фар - наблюдаю прежнее значение.
Ага, обновлять надо те, что в памяти. Ладно, посмотрю, как это делать.
Менеджер переменных окружения
Posted: Thu 24 Dec, 2015 12:42
by Shmuel
На основном окне внизу в перечислении клавиш нет F3, вот я это и упустил.
Но переход к редактированию системных переменных через окно, вызываемое по F3, - это действительно своеобразный дизайн.
Менеджер переменных окружения
Posted: Mon 28 Dec, 2015 12:19
by IgorZ
Версия 1.2.0 - Переделка интерфейса. Рефакторинг.
Значения теперь обновляются сразу, при изменении переменных реестра выводится сообщение о том, как это повлияет на переменные в памяти, для редактирования переменных реестра не надо входить в режим просмотра (да и нельзя, потому что его больше нет). Предыдущая версия пока оставлена, чтобы желающие могли сравнить интерфейс той и другой версии.
Менеджер переменных окружения
Posted: Thu 07 Apr, 2016 13:30
by Alexander84
Не хватает поиска а-ля LuaHistory. Скажем, вызываем скрипт, набираем path (вместо вглядывания в бесконечный перечень переменных и их многократного перелистывания по PageDown), получаем короткий перечень и там уже быстро переходим к правке.
Менеджер переменных окружения
Posted: Thu 07 Apr, 2016 13:32
by HaRT
Alexander84 wrote: поиска а-ля LuaHistory
Имеется в виду инкрементная фильтрация?
А не стандартное ли фаровское меню там используется? Если оно, то фильтр там есть — читайте Справку по использованию меню.
Менеджер переменных окружения
Posted: Thu 07 Apr, 2016 13:45
by Alexander84
HaRT, может быть, см. на скриншоте из LuaHistory, что за поиск имею в виду, а то инкрементная фильтрация звучит сложно.