Roslyn CTP现已问世

[原文发表地址]Roslyn CTP Now Available

[原文发表时间]2011-10-19 12:45

在我几篇博文中,我强调了我们团队在//BUILD/发布的Visual Studio 11开发者预览版中所作的重大改进,在之后的博文中,我会继续这个系列。不过今天,我想强调一些我们团队正在着手的更有远见的创新工作。

我很高兴地宣布我们刚刚发布了微软“Roslyn”CTP,它把C#和Visual Basic编译器作为一项服务来使用。我们在紧张忙碌C#5和Visual Basic11的同时,也在Roslyn上研究对C#和Visual Basic编译器全部重写的课题。介于现在的编译器都是用C++构造的,在Roslyn中,我们从头开始重写编译器,用C#构造C#编译器,用Visual Basic构造Visual Baisic编译器。其实把它们置于自己本身没什么稀奇的,因为长久以来就有用目标语言构造目标编译器的传统,我们的F#和Visual C++编译器就是这样的。值得关注的是这项突破所实现的场景和服务。

一直以来,伴随Visual Studio发布的托管的编译器都是一个透明的盒子:你提供源文件,它们内部处理,转换成汇编。在编译进程中,编译器本身产生的中间信息是不对开发者公开的,然而那么丰富的数据在像使用Visual Studio这样的现代化开发环境来构建高端服务和工具却具有十分重要的意义。

重写这些编译器,Roslyn编译器即能满足普通的需求,同时,还能让开发者获得内部编译器信息,并让他们的工具使用。开发者通过丰富的托管API,可以把编译器的语法解析,语义分析,绑定以及IL加载等都暴露给开发者。作为一个实例,在下面的截屏中,我会用Roslyn API来解析一些代码,并显示其语法树。

C#和Visual Basic使用这些全新的API已经把 Visual Studio语言服务重写了,。用这项服务的新的工具也被开发了出来。。比如,全新的C#Interactive窗口支持用C#写脚本和开发。

Roslyn为开发者构建丰富的工具提供了超棒的机会,比如重构和深度可视化,Visual Studio和其编译器本身工作时也会使用同样的服务。不过还需注意的是,这只是一个初步构建,Roslyn的工作着重于后Visual Studio 11的版本。这个CTP能够帮助阐述一些激动人心的高科技双端体验,但同时,这个特殊版本只支持每种语言的一部分,仅做先驱开发作用,让我们能直接从你们那里收到反馈信息。

了解更多有关Roslyn的信息,下载CTP,告诉我们你的想法,请访问https://www.msdn.com/roslyn

万福!