用Roslyn项目分析代码
fmms 12年前
<div id="news_body"> <p> 微软这个月在 Redmond 召开了 Lang.NEXT 大会,会上有一个演讲,演示了 Roslyn 项目这个代码分析工具。Dustin Campbell 的演讲“更深入了解 Roslyn 项目”对它做了<a href="/misc/goto?guid=4958338395987887844">介绍</a>,并以一个示例项目代码的构建作为结束。</p> <p> Roslyn 框架并没有打算用来作为可定制的编译器,它的目的是将 C# 和 Visual Basic 的使用尽可能最大化。这两个语言的编译器都已经全部重新编写,这样 Roslyn 的 C# 编译器用 C# 开发,Roslyn 的 VB 编译器用 VB 开发。Campbell 发现:这让原来的编辑器中很多不合理的地方和 bug 都有机会修正。</p> <p> Roslyn 的设计特性包括:</p> <ul> <li>不可变:对象不能改变,要想改变,只能在原来版本上创建新对象。</li> <li>完整:源代码重新表示,包括空格、注释、错误等等。</li> <li>弹性:用容错来处理错误。比如:失败的代码上几乎总是会做到完成语句,这样让分析器必须可以处理。</li> <li>高效:项目在构建快照上体现了效率,而且能够增量分析代码。</li> </ul> <p> 当 Roslyn 环境打开后,存在两个活跃的工作空间实例。第一个是传统工作空间,存留现在加载的 VS 解决方案。另一个实例是交互窗口(REPL)。这种分离有助于语句完成,并让 IntelliSense 在开发环境中的代码提示更为正确。</p> <p> Campbell 指出:Roslyn 在<a href="/misc/goto?guid=4958338396789538421">10月份</a>会以 Beta 版本提供,发布版本代码(1.0)不会与 Visual Studio 11 一同交付。实际上,它会作为未来 VS 的一部分发布。尽管 Campbell 没有明确说明:考虑到 Beta 版本支持 VS2010,看来微软会将其独立于正式的 VS 发布进行部署。</p> <p> 查看英文原文:<a href="/misc/goto?guid=4958338397574586508">Code Analysis with Project Roslyn</a></p> </div>