Page 2 of 4

Менеджер переменных окружения

Posted: Tue 15 Dec, 2015 07:10
by IgorZ
Данный скрипт позволяет манипулировать переменными окружения: создавать, удалять, редактировать, сохранять в файл, читать из него.
Скрипт содержит один макрос.
Клавиша вызова: AltShiftE.

Требуемая версия Far 3.0.4000+.


Менеджер переменных окружения

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)
Версия 1.0.4.

Менеджер переменных окружения

Posted: Fri 18 Dec, 2015 09:45
by IgorZ
Smitis wrote:
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:Не совсем.
При редактировании переменных 'в реестре' хочется сразу видеть как изменятся зависимые переменные.
Реальная запись при этом лучше по отдельной кнопке {принять изменения}, после того как все последствия изменений видны и устраивают.
То есть, жмём "редактировать", изменяем, "ОК", выходит окно, что-то вроде:

Code: Select all

┌─────────────────────────────────────┐
│  Переменная 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, что за поиск имею в виду, а то инкрементная фильтрация звучит сложно.

Image

Менеджер переменных окружения

Posted: Thu 07 Apr, 2016 13:48
by HaRT
Alexander84 wrote: инкрементная фильтрация звучит сложно
Может кому и сложно, но это общепринятый термин для данной функциональности, который к тому же хорошо выражает суть происходящего. И да, на вашем скриншоте ровно оно. Как включить, ищите в Справке по клавиатурным командам для меню.