infostart-hub / toolkit

Infostart Toolkit
https://infostart.ru/marketplace/toolkit/
74 stars 7 forks source link

Новые сеансы не подключаются к отладке #937

Closed Serg2000Mr closed 8 months ago

Serg2000Mr commented 8 months ago

Существует проблема В инструменте Пользователи можно запустить новый сеанс под другим пользователем. При этом он часто нужен в отладчике, а возможности подключения у нового сеанса нет.

Хотелось бы иметь следующую функциональность Запускать новый сеанс с ключом запуска /Debug -tcp -attach или /Debug -http -attach

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

image

То же самое и после обновления расширения Infostart Toolkit предлагается перезапустить сеанс, но приходится его закрывать и открывать заново, чтобы подключить к отладке.

Serg2000Mr commented 8 months ago

Нашел информацию о протоколе отладки в файле c:\Users\%UserName%\AppData\Roaming\1C\1cv8\%DatabaseID%\1cv8.pfl

Evg-lylyk commented 8 months ago

Думаю добавить возможность задавать произвольные ключи

Serg2000Mr commented 8 months ago

В упрощенном варианте клиентская функция получения протокола:

РабочийКаталог = РабочийКаталогДанныхПользователя(); РазделительКаталогов = "\"; //единичный обратный слэш в Windows Путь = ""; Массив = СтрРазделить(РабочийКаталог, РазделительКаталогов, Ложь); Для Сч = 0 По Массив.ВГраница() Цикл Путь = Путь + РазделительКаталогов + Массив[Сч]; Если СтроковыеФункцииКлиентСервер.ЭтоУникальныйИдентификатор(Массив[Сч]) Тогда Прервать; КонецЕсли; КонецЦикла;

ИмяФайлаНастроек = Путь + РазделительКаталогов + "1cv8.pfl"; ТекстДок = Новый ТекстовыйДокумент(); ТекстДок.Прочитать(ИмяФайлаНастроек); Настройки = ТекстДок.ПолучитьТекст();

СтрокаПоиска = "{""debuggerType"", |{""S"",""http""}"; Если СтрНайти(Настройки, СтрокаПоиска) > 0 Тогда Протокол = "http"; Иначе Протокол = "tcp"; КонецЕсли;

Evg-lylyk commented 8 months ago

Реализовано в 2024.2