Комментарии 13
Очень хороший подход! Учитывая, что статья — это своего рода дебют автора на хабре, это просто прекрасно!
А почему GitHab то? Вроде и не опечатка, раз в 3 разных местах повторяется
/zanuda off
/zanuda off
НЛО прилетело и опубликовало эту надпись здесь
Есть надежда, что этот шаг — это лишь начало пути.
Сегодня вышли версии Rider и ReSharper 2020.3 с полной поддержкой C#9 и .net5, на них уже работают генераторы исходного кода, в тексте поправил этот момент. Примеры обязательно посмотрю, спасибо.
Для отладки CompletionProvider проще всего использовать шаблон в VS «Analyzer with code Fix». Создать проекты по шаблону, после чего запускать проект Vsix. Он буде загружать новую студию с подключенным CompletionProvider как расширение, в котором можно нормально отлаживать.
Как по мне это очень долгий способ дебага. Чтобы подкрыть 99% ситуаций будет достаточно написать тесты, которые прогонят ваш анализатор на нужных кусках кода и проверят что получилось в итоге.
Может быть, будет уместным отметить, что для решения описанной задачи генерации IObservable из событий есть инструмент Pharmacist, который работает через ICSharpCode.Decompiler, и его версия в виде ObservableEventsSourceGenerator, которую всё никак не опубликуем.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Заменяем события C# на Reactive Extensions с помощью кодогенерации