Не так давно в рамках конференции Build был доклад «Future directions for C# and Visual Basic» от Anders Hejlsberg, в котором анонсировался Roslyn Project. Сейчас об этой разработке известно не так много, но я постараюсь осветить наиболее интересные моменты, имеющиеся на данный момент.
В настоящее время компиляторы C# и Visual Basic представляют из себя чёрный ящик — они берут исходный высокоуровневый код и выдают нам готовый IL-код. Roslyn Project представляет из себя compiler as a service, т.е. компилятор, предоставляющий разработчику API, позволяющее добираться до его внутренних данных. Теперь можно анализировать код и принимать участие в компиляции — проводить модификацию исходного кода, создавать дополнительную функциональность для C# и VB.
Среди прочего Roslyn Project предоставляет 4 вида API, на основе которых будут построены Language serivces (они указаны в скобках):
Во время доклада была показана ещё одна интересная функциональность проекта — это Copy Paste C#-кода в VB.NET и обратно.
На текущий момент Roslyn Project ещё не выпущен, но CTP (Community Technology Preview) можно будет посмотреть недели через две, а полноценно он выйдет в свет вместе с C# vNext (версия C#, которая будет после C# 5.0) и войдёт в Visual Studio.
В настоящее время компиляторы C# и Visual Basic представляют из себя чёрный ящик — они берут исходный высокоуровневый код и выдают нам готовый IL-код. Roslyn Project представляет из себя compiler as a service, т.е. компилятор, предоставляющий разработчику API, позволяющее добираться до его внутренних данных. Теперь можно анализировать код и принимать участие в компиляции — проводить модификацию исходного кода, создавать дополнительную функциональность для C# и VB.
Среди прочего Roslyn Project предоставляет 4 вида API, на основе которых будут построены Language serivces (они указаны в скобках):
- SyntaxTree (Formatter, Colorizer, Outlining)
- Emit API (Edit And Continue)
- Symbol API (Object Browser, Navigate To)
- Binding & Flow Analysis API (Go To Definition, Extract Method, Signature Help, Quick Info, Rename, Find All References, Completion List)
Во время доклада была показана ещё одна интересная функциональность проекта — это Copy Paste C#-кода в VB.NET и обратно.
На текущий момент Roslyn Project ещё не выпущен, но CTP (Community Technology Preview) можно будет посмотреть недели через две, а полноценно он выйдет в свет вместе с C# vNext (версия C#, которая будет после C# 5.0) и войдёт в Visual Studio.