Интерактивная 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-слоты, а показывать как тот код, что есть в файле, только лишь выделять цветом/обводкой и в виртуальных комментариях отображать ссылки для дополнительных действий.