Версия
1.0.2
Описание ошибки диагностики
Исправления в последнем релизе сильно улучшили ситуацию.
Ховер больше не роняет сервер.
Подсказки держатся даже на достаточно нереалистичных чейнах:

Очень замечательно.
Работает даже так:
Процедура ЧтоТоПроДеревья()
Корень = КрасноЧернаяНода();
КонецПроцедуры
// Возвращаемое значение:
// Структура:
// * Красное - Булево -
// * Значение - Число -
// * Левое - см. КрасноЧернаяНода
// * Правое - см. КрасноЧернаяНода
Функция КрасноЧернаяНода()
//
КонецФункции
Однако с ховером есть пара моментов:
-
Даже на таком простом примере описание в ховере становится сложным. Не помогает ситуации то, что один и тот же тип вложенного значения неоднозначный: сначала структура с содержимым, а на втором цикле - уже именованный по конструктору тип. С другой стороны, если бы тип вложенного значения сразу свернулся бы в имя конструктора, то потерялась бы информация о его базовом типе, что тоже плохо. Это можно обсудить.
-
Более однозначное: в месте завершения рекурсии, там где вложенный тип сворачивается в конструктор, тип определяется неверно:
Пример кода
Процедура Пример()
Контекст = Контейнер();
КонецПроцедуры
// Возвращаемое значение:
// Структура:
// * Содержимое - см. Коробка - Должна быть коробка
// * НомерКонтейнера - Строка
Функция Контейнер()
Возврат Неопределено; // Плейсхолдер
КонецФункции
// Параметры:
// Родитель - см. Контейнер - Родительский контейнер
//
// Возвращаемое значение:
// Структура:
// * Описание - Строка - Описание содержимого
// * Родитель - см. Контейнер - Контейнер-родитель
Функция Коробка(Родитель)
Возврат Неопределено; // Плейсхолдер
КонецФункции
Версия
1.0.2
Описание ошибки диагностики

Исправления в последнем релизе сильно улучшили ситуацию.
Ховер больше не роняет сервер.
Подсказки держатся даже на достаточно нереалистичных чейнах:
Очень замечательно.
Работает даже так:
Однако с ховером есть пара моментов:
Даже на таком простом примере описание в ховере становится сложным. Не помогает ситуации то, что один и тот же тип вложенного значения неоднозначный: сначала структура с содержимым, а на втором цикле - уже именованный по конструктору тип. С другой стороны, если бы тип вложенного значения сразу свернулся бы в имя конструктора, то потерялась бы информация о его базовом типе, что тоже плохо. Это можно обсудить.
Более однозначное: в месте завершения рекурсии, там где вложенный тип сворачивается в конструктор, тип определяется неверно:
Пример кода