Facilitating the spread of knowledge and innovation in professional software development



Choose your language

InfoQ Homepage News "Squiggles" for C#

"Squiggles" for C#


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.

We need your feedback

How might we improve InfoQ for you

Thank you for being an InfoQ reader.

Each year, we seek feedback from our readers to help us improve InfoQ. Would you mind spending 2 minutes to share your feedback in our short survey? Your feedback will directly help us continually evolve how we support you.

Take the Survey

Rate this Article


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.

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

Community comments

  • 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

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

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

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


Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.