"Squiggles" for C#

| by Jonathan Allen Follow 576 Followers on Jul 25, 2008. Estimated reading time: 1 minute |

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.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Visual Studio still playing catch-up by Neil Bartlett

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

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

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

Real Programmers Don't Need Crutches by Charles Cherry

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...

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

4 Discuss

Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you