Microsoft заявляет, что создает новую модель расширяемости для Visual Studio IDE. Цель состоит в том, чтобы сделать расширения более надежными, более простыми в написании и поддерживаемыми локально и в облаке.
Visual Studio в последние годы отошла на второй план, поскольку Microsoft, похоже, больше интересуется Visual Studio Code, бесплатным онлайн-редактором исходного кода Microsoft. Для Visual Studio Code доступно гораздо больше расширений, чем для «полной» Visual Studio, а самые популярные были загружены для VS Code гораздо чаще.
В статье о новой модели Лесли Ричардсон, менеджер программ для отладки и диагностики Visual Studio, сказал, что, поскольку внутрипроцессные расширения имеют минимальные ограничения на то, как они могут влиять на IDE и другие расширения, они могут повредить Visual Studio, если расширение испытывает ошибка или сбой.
Чтобы избежать этого, одно из основных изменений в модели расширений Visual Studio заключается в том, что расширения теперь будут внепроцессными. Это поможет обеспечить повышенную изоляцию между внутренними и внешними API-интерфейсами расширений, когда некорректное расширение может дать сбой, не вызывая сбоя, зависания или замедления других расширений или всей IDE вместе с ним.
Наряду с этим изменением API-интерфейсы расширений Visual Studio были полностью переработаны, чтобы упростить их обнаружение и использование, с общей целью — более единообразными, легко обнаруживаемыми API-интерфейсами и постоянно обновляемой документацией.
Последнее изменение заключается в том, что основные расширения будут доступны как локально, так и удаленно. Ричардсон сказал, что частью привлекательности GitHub Codespaces является возможность иметь настраиваемую среду разработки, доступную через облако на разных машинах, и что многие разработчики считают, что настраиваемая среда неполна без расширений.
«Неограниченный доступ текущей модели к среде IDE и отсутствие асинхронных API-интерфейсов не делают ее идеальной для беспроблемного, бесперебойного и отзывчивого взаимодействия клиент / сервер для пространств кода. Чтобы довести до конца цели нашей новой модели расширяемости, мы сделаем так, чтобы вы необходимые расширения доступны как локально, так и удаленно «.
Изменения в модели расширений описываются как «все еще в концептуальной фазе», и заинтересованных разработчиков попросили заполнить опрос, чтобы высказать свое мнение.