infostart-hub / snegopat

Snegopat для 1С 8.Х (32x)- Snegopat for 1C:Enterprise
https://snegopat.ru
70 stars 21 forks source link

mdNavigator / При быстром вводе символов часть из них попадает в редактор модуля, а не в поле ввода Навигатора #146

Open kuntashov opened 3 years ago

kuntashov commented 3 years ago

Описание ошибки

При быстром наборе текста в поле ввода быстрого поиска окна "Навигатора по метаданным" некоторые символы (не все) начинают вместо поля ввода навигатора попадать в модуль в позицию курсора, в свою очередь иногда это вызывает быстрое появление списка автодополнения Снегопата, который мелькает и пропадает левее окна Навигатора, и после себя оставляет артефакт в виде застывшего текстового курсора, причем этот текстовый курсор появляется в произвольном месте поверх окна конфигуратора:

2021-02-11_01-15

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

Контекст:
    Открыто окно модуля
    В модуле любой код, например
    """
    Процедура Тест()
        Сообщить("Привет мир!");
    КонецПроцедуры
    """
    И текстовый курсор находится после имени метода `Сообщить` (сразу после мягкого знака).

Сценарий:

    Когда я вызываю окно Навигатора метаданных*)
    И начинаю сразу вводить текст "контрагент"
    И я набираю на клавиатуре символы "контр"

    Тогда я вижу в поле ввода навигатора метаданных символы "ктр"
    И я вижу в модуле в позиции курсора добавились символы "он" **)

*) Макрос Навигатор по метаданным::Открыть объект метаданных, mdNavigator. **) Было Сообщить|(, а стало Сообщитьон|(, где | означает позицию курсора).

Ожидаемое поведение, если бы ошибки не было

Ожидаю, что

Скринкаст, на котором все наглядно видно, в том числе мелькания и застывший курсор:

https://user-images.githubusercontent.com/1042299/107576450-962df880-6c0a-11eb-8828-d59ae684ea70.mp4

Окружение:

kuntashov commented 3 years ago

См. также упоминания похожих случаев: