从VB.NET开始 就具有的后台编译器,给了开发人员实时的编译器错误反馈,持续地更新代码完成数据,并作为其他特性的宿主。这个功能的缺点在于它不能被关闭,因为太多的特 性要依赖于它拥有的数据。而另一方面,C#却只有有限的语法检查,而代码完成只在编译时才会完全更新。
这当然不是微软所希望看到的效果。从之前的VS 2005开始,C#团队就尝试在这个功能上跟上VB团队的步伐。随着Live Semantic Errors,也即“Squiggles”的发布,他们终于如愿以偿了。
这个功能直到VS 2008才实现,耗费如此长时间的一个原因在于,对于语法检查这样普通的操作,Visual Studio没有使用真正的C#编译器来处理,而是使用为此目的特别设计的一个轻量级伪编译器来完成这一工作。现在通过使用VS 2008的语言分析框架(Language Analysis Framework),VS可以和真正的编译器进行通信了。
根据对DJ Park的访问,这个功能只会分析在IDE中打开的文件。这意味着如果对打开文件的修改造成了其他文件的错误,只有到编译时才能被检测到。
由于进度的原因,这个功能未能在VS 2008中发布,不过它将被包含进Service Pack 1中。