salexdv / bsl_console

Консоль кода для 1С 8.3 (Управляемые и обычные формы)
MIT License
293 stars 55 forks source link

Некорректная работа контекстной подсказки в некоторых ситуациях (ТаблицаЗначений, ДеревоЗначений) #305

Open ChernyakAI opened 1 year ago

ChernyakAI commented 1 year ago

Описание ошибки Некорректная работа контекстной подсказки в некоторых ситуациях.

Сценарий воспроизведения

Открыть консоль кода (0.3.3 или веб). Ввести текст:

ТЗ = Новый ТаблицаЗначений();
ТЗ.Колонки.Добавить("Имя");
ТЗ.

После установки последнего символа (точки) выходит контекстная подсказка, соответствующая колонке табличного поля: image

Если ввести ещё одну переменную другого типа, то контекстная подсказка для неё продолжает показывать свойства колонки таблицы значений: image

Подобное поведение наблюдается при работе со свойствами "Индексы" и "Колонки" класса "ТаблицаЗначений", а также "Колонки" класса "ДеревоЗначений", и методами (при наличии): Добавить(), Вставить(), Найти(). Например:

ТЗ = Новый ТаблицаЗначений();
ТЗ.Колонки.Вставить(1, "Имя");
ТЗ.
ТЗ = Новый ТаблицаЗначений();
НайденнаяКолонка = ТЗ.Колонки.Найти("Имя");
ТЗ.
ТЗ = Новый ТаблицаЗначений();
КолонкаТЗ = ТЗ.Колонки.Получить(0);
ТЗ.

Способы обхода

  1. Не печатать вручную первые две строки с инициализацией и добавлением колонки, а вставить из буфера обмена. Далее при наборе "ТЗ." контекстная подсказка начинает работать нормально.
  2. Добавить пустую строку, произвольный код или комментарий перед всем текстом: image image