Как дебажить ваш Roslyn анализатор кода не выходя из JetBrains Rider IDE

 Платформа компилятора .NET становится все больше, и в то же время вокруг нее растет набор инструментов. Таким образом, её становится легче использовать.

Хотя написание Source Geneartor - кода, который разбирает и анализирует ваш код, — непростая задача, он может быть полезен по-разному. Один из способов, которому я недавно научился благодаря моим коллегам, — это рефакторинг.  

Обычно код вашего анализатора исходного кода и/или генератора будет не самым простым для чтения и поддержки. Но идея в том, что это не всегда нужно! Идея состоит в том, что вы должны использовать генератор исходного кода как временное решение, которое упрощает рефакторинг для вас и вашей команды. Ведь после некоторого рефакторинга вы можете просто выбросить этот код как устаревший. Пожалуй, рефакторинг - это самое правильное применение идеи .NET Compiler Platform.

Я думаю, что на ютубе и в интернете есть много примеров, так что мне не нужно делиться еще одним «примером». 

Вместо этого я поделюсь практическим советом

Совет дня 

Для отладки генератора исходного кода C# на основе платформы компилятора Roslyn .NET в Rider IDE вам необходимо установить Rider 2023 EAP (да, ранняя предварительная версия), а затем следовать инструкциям на странице https://github.com/JoanComasFdz/dotnet-how-to-debug-source-generator-vs2022

https://res.cloudinary.com/practicaldev/image/fetch/s--lTVAw_gC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gyilfzab4phv0d76ikn9.png

Если вы по какой-то причине не использовали Rider IDE, попробуйте. Он намного эффективнее Visual Studio. Но, разработчикам JetBrains всё таки приходится следовать ЗА Microsoft, а не наоборот. Поэтому, до недавнего времени отладка генераторов исходников была невозможна. Однако теперь это не так! Ура!

Комментарии

Популярные

Кастомизируем ASP.NET Identity 2.0

Делаем себе бесплатный VPN на Amazon EC2

Выбираем все плюсы из трех парадигм Entity Framework