Интерактивная 2-сторонняя презентационная/виртуальная подстановка
#ide_plugin aka IDE-level virtual code inlining, Inline definition editing, виртуальный инлайнинг кода
Небольшие определения функций и значения помеченных констант показываются в ide как значения (а не номинально, т.е. под своим именем). Но в коде ничего не меняется.
Чтобы не путать виртуальные инлайны с остальным кодом применяется особый визуальный язык (обводка, фон, виртуальные комментарии).
Такой код можно редактировать.
В виртуальном комментарии есть ссылки на место определения, места использования и количество.
Виртуальный инлайнинг каждого имени может вызываться автоматически в ide в зависимости от настроек, по требованию читателя кода и через управляющие комментарии писателем кода как на уровне отдельного использования, так и на уровне определения для всех использований.
Обобщения очень полезны но усложняют логистику читателя кода. Небольшие функции и константы из-за этого часто не создаются.
На примере плагина для кода в IDE.
Например, мы встречаем в коде константу. Вместо goto-definition или Cmd-hover для просмотра значения, мы сразу видем значение в виртуальном комментарии (такие есть в 1) ChromeDevTools, там пишутся значения переменных в точке останова рантайма, 2) в VS Code есть виртуальные комментарии, через которые плагины могут выводить например git-blame 3) light-table IDE пытались реализовать подобную концепцию 4) Брет виктор высказывал подобные идеи).
В VS Code есть UI-концепция peek floating panel. Иначе лупа из JetBrains Idea. Т.е. плавающая область с другим участком кода без перемещения из текущего файла и позиции в нём. Такими штуками почему-то не удобно пользоватьсяю
Здесь предлагается опционально подстановочный код не выводить в отдельные UI-слоты, а показывать как тот код, что есть в файле, только лишь выделять цветом/обводкой и в виртуальных комментариях отображать ссылки для дополнительных действий.