Closed tormozit closed 2 years ago
Нашел воспроизведение.
Выполняем
enableSuggestActivationEvent(Истина, Ложь);
Нажимаем CTRL+Space.
После открытия списка автодополнения нужно переключить его в режим отображения детальной информации по строке и навести указать на какую нибудь строку списка.
Посмотрю, что можно с этим сделать
При
enableSuggestActivationEvent(Истина, Истина);
проблема не наблюдается
Проблема не наблюдается
После первого с тех пор моего обновления из твоей ветки пришлось перейти на новый API и описанная здесь проблема снова вернулась. Вот модификация кода для нового API, с которой наблюдается эта проблема
//РедакторHTML.enableSuggestActivationEvent(Истина, Истина); // Второй параметр включает отображение типов для всех слов списка автодополнения https://github.com/salexdv/bsl_console/issues/119
РедакторHTML.setOption("generateSuggestActivationEvent", Истина);
РедакторHTML.setOption("alwaysDisplaySuggestDetails", Истина);
Попробовал
РедакторHTML.setOption("alwaysDisplaySuggestDetails", **Ложь**);
Тоже не помогло
Но теперь проблема немного изменилась. При первом в жизни редактора открытии списка она всегда не проявляется. А вот начиная со второго открытия наблюдается всегда независимо от отображения окна детальной информации по текущему элементу списка.
Вернул обратно свой прошлогодний фикс в виде отключения обработчика onSuggestListMouseOver. Теперь не виснет.
Ищу способ стабильного воспроизведения. Но уже наблюдал это 6 раз. Включаю замер производительности в отладчике. Открываю список автодополнения в консоли кода путем нажатия CTRL+Space. В списке при этом из кода передаю 1000 слов. Список показывается в редакторе и через 3 секунды останавливаю замер в отладчике. Вижу в замере что строка обработки события EVENT_ON_ACTIVATE_SUGGEST_ROW выполнена 1000 раз. Похоже эти вызовы начинают идти асинхронно уже после открытия списка.