Пишем расширения c Roslyn к 2015 студии (часть 2)
|
|
Вторник, 27 Января 2015 г. 16:45
+ в цитатник
Эта статья является продолжением
первой части о написании расширений к студии с Roslyn.
Тут я буду описывать что делать, если мы хотим сгенерировать/поменять какой-нибудь код. Для генерации кода мы будем статические методы класса SyntaxFactory. Некоторые методы требуют указать ключевое слово/тип выражения/тип токена, для этого есть перечисление — SyntaxKind, который содержит все это вместе.
Хорошо, давайте для примера сгенерируем код, содержащий число 10. Это делается просто.
SyntaxFactory.LiteralExpression(SyntaxKind.NumericLiteralExpression, SyntaxFactory.Literal(10))
Я не шутил, когда говорил, что чтобы создать код проще всего распарсить строку. Благо, SyntaxFactory предоставляет кучу методов для этого (ParseSyntaxTree, ParseToken, ParseName, ParseTypeName, ParseExpression, ParseStatement, ParseCompilationUnit, Parse*List).
Но это не путь настоящего самурая.
Давайте генерировать по пути самурая http://habrahabr.ru/post/248913/
Метки:
c#
Visual Studio
.NET
roslyn
resharper must die
я ненавижу парсер хабра
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-