Since the beginning VB.NET has had a background compiler that gave developers real-time feedback on compiler errors, continuously updated code-completion data, and a host of other features. The downside of this is that it could not be turned off, too many features relied on always having that data. C#, on the other hand, has been limited to syntax checking and a code completion that is fully updated only at compile time.
This isn't however what Microsoft intended. Since before VS 2005, the C# team has been trying to find the time to catch up to the VB team. With Live Semantic Errors, also known as "Squiggles", they have finally started to do so.
One of the reasons it took so long is that prior to VS 2008, Visual Studio didn't use the real C# compiler for normal operations such as syntax checking. That was handled instead by a lightweight pseudo-compiler specifically designed for that purpose. With 2008's Language Analysis Framework, VS can now communicate with the real compiler.
According to an interview with DJ Park, only files currently open in the IDE will be analyzed. This suggests that changes to an open file that creates errors in other files will not be detected until compile time.
While scheduling demands prevented releasing this in VS 2008, it will be included in Service Pack 1.
Community comments
Visual Studio still playing catch-up
by Neil Bartlett,
Resharper
by Marc Adler,
Another example why ReSharper is still mandated and assumed
by Damon Wilder Carr,
Real Programmers Don't Need Crutches
by Charles Cherry,
Visual Studio still playing catch-up
by Neil Bartlett,
Your message is awaiting moderation. Thank you for participating in the discussion.
Great! I'm sure C# developers will appreciate finally having this feature, which has been available for Java developers using Eclipse since 2002
;-)
Resharper
by Marc Adler,
Your message is awaiting moderation. Thank you for participating in the discussion.
What does this mean for folks who are using Resharper for precisely the same things that Squiggles give us?
Another example why ReSharper is still mandated and assumed
by Damon Wilder Carr,
Your message is awaiting moderation. Thank you for participating in the discussion.
We have had this functionality and far beyond it for a while now. Even after this is released nothing changes in that we still must augment with JetBrain's Resharper unless a staggering change develops far beyond this SP.
For more scan this. For those forced to execute at levels not in line with all .NET developers, but at levels of 'all software engineers' you've got little choice to scale a team.
See Working Effectively with Legacy Code by Michael Feathers for a fantastic introduction to understanding this set of expections for the software engineer.
Damon Wilder Carr
blog.domaindotnet.com
Real Programmers Don't Need Crutches
by Charles Cherry,
Your message is awaiting moderation. Thank you for participating in the discussion.
Aren't some of these features why VB has been seen as a "toy" language by C, C++, and now C#, developers? VB developers needed these "crutches" because they were not real programmers. Hmmm...