Visual Studio 2010 – Code focused development and Lab Management


I have talked in the past few weeks about the various pillars and features of Visual Studio 2010 and .NET Fx 4.  


 


Today, I want to drill into one of the pillars a little bit more.  We want to make sure that Visual Studio is your favorite application to use – as part of “Inspiring Developer Delight”.  To that end, we are working on features that target code-focused development.  Here are a couple of features that illustrate the kinds of things we are doing. 


 


Navigating through code can be a pain point.  One of the things that we want to simplify is for you to be able to do a quick search to find what you need that is supported across all our major languages.  As you type in what you want to search for in the quick search dialog box, the results get automatically filtered. 


 


 


 


We also want to make it easier for you to do consume-first development with a feature we call “generate from usage”. This feature gives you the ability to generate a type, constructor, method, or property by inferring it’s usage in code.  Basically, it allows you to just think about what you want your program to do and the IDE will generate the building blocks you need around you.


 


 


  


As much as we are building a great set of features out of the box for code focused development, we know that there will always be more that can be done to help out productivity.  Developers do want to add additional functionality or customizations to make them more productive and effective.  We are investing heavily on modernizing our editor and IDE to support better extensibility that allows the community and third parties to extend and customize their VS experience in a much easier way than ever before.  We have replaced the editor of Visual Studio with a WPF version that is built on the Managed Extensibility Framework (MEF) and .NET Framework 4.0.  The extensibility model of the editor allows you to build rich syntax highlighting that includes multiple font faces and font heights, draw WPF visuals on the editor surface, add data to or customize the presentation of IntelliSense features, and create scenarios where you view only a part of a buffer or aggregate code from several buffers into a new view over the code.  These extensions can be installed simply by copying a .dll to a components folder and VS will automatically pick it up next time it is launched.


 


We have already talked about a lot of the Visual Studio Team System (VSTS) features, but one we haven’t talked about is the Test Lab Manager functionality in VSTS 2010.  It makes building up and tearing down testing environments easier, and helps developers get past the dreaded “no repro” bugs.  The functionality found in Test Lab Manger will significantly reduce the time it takes you to setup, tear down, and restore virtual environments to a clean state.  It will allow testers to file rich bugs including links to environment checkpoints that developers can use to recreate complex multi-tiered environments – another step toward getting past the “no repro” bug.  It will also improve build quality by automating virtual machine provisioning, build deployment, and build verification testing in an integrated fashion.


 


This week Channel 9 is doing a set of videos on these new Visual Studio 2010 features.  Also, you can download virtual PC images of the Community Technology Preview for Visual Studio 2010 and see the product in action. 


 


Namaste!

Comments (27)

  1. tcmaster says:

    really good features, congratulation after all these years you’ve finally made it. but wait, has any1 heard about a product named resharper?

  2. Chris Ortman says:

    2nd tcmaster

    Is this really a good use of time?

    http://www.jetbrains.com/resharper

  3. eclipseFan says:

    Finally VS 2010 is playing catchup! I used to be a java developer and loved all the code centric refactoring features in Eclipse such as "Quick Search", call heirarchy and other refactoring features (all available as warly as 2006). More recently, I have moved to .NET and sorely miss all the features Eclipse offered. VS 2008 and even 2008 is, to be honest, really *lame* in these areas.

    Glad to see Quick Search making it into VS 2010! I would really like to see other features like breadcrumb navigation, improved find all references etc baked into VS. VS 2010 still has a long way to go before it can catch up to Eclipse 2006, but I am glad MS is focussing on that. Kudos.

  4. Simon Buchan says:

    So where does Quick Search fit in the heirachy of Ctrl+I, Ctrl+Shift+F, Ctrl+D, and Ctrl+F3? (Not counting all the object browser and other tools’ finds!)

    Also, I hope you can keep the startup and memory usage from degrading compared to previous versions with WPF, I’ve found (with older versions of WPF at least) the startup of WPF itself to be quite prohibitive.

  5. Simon Buchan says:

    (Sorry for the double post…)

    Also, any chance you could talk about C++ changes? For example, I remember statements about the compiler being refactored (rewritten?) so the IDE could use it to get much deeper, more accurate information. Any timeframe on C++0x features implementation, now the standard has a stable feature set? (SP1? VS 2012?)

  6. Somasegar says:

    Hi Simon,

    We are doing a number of interesting things with C++ in the VS 2010 product.  I will talk about that sometime soon.

    -somasegar

  7. Somasegar says:

    I got a chance to talk to the channel9 folks the other day about this and more in terms of some of the things that we are building in VS 2010 and .NET FX 4.

    You can check it out here:  http://channel9.msdn.com/posts/VisualStudio/Soma-on-the-Key-Themes-for-Visual-Studio-2010/

    -somasegar

  8. Robert says:

    Many developers just accept the Visual Studio defaults, so please provide a better default font.

    Concolas and Inconsolata are my favorites but ‘anything’ would be better than Courier New!

    http://www.codinghorror.com/blog/archives/000969.html

  9. Ed says:

    VS is my favorite _development_ app to use.  But it will not be my favorite app overall until you take a real hard look at performance.  VS 2008 is much better than 2005.  But it is still a fat, slow, inefficient application that gobbles up memory worse than any other app (except IE7!) and given enough time can bring even new dev machines down to a crawl.  

    You need to get better here.

  10. Mark Gordon says:

    Visual Studio  “Inspiring Developer Delight” let’s be real. I’m yet to hear anything about a data centric language (VFP) being included in the application or how about using a single source to create either winform or webform UI. The flaws of Visual Studio are embedded at the core of the bloated paradigm of the product, we do NOT want UI fluff. Do you really think developers are begging for a quick find dialogue? With so many things wrong with VS who comes up with these nonsense enhancements!

    Let’s move out of the arena of symbolism over substance and give us something that may actually put this in the same league as older technologies that worked and provide some "REAL" benefit to offset the high cost of ownership.

  11. Sam says:

    Mark, I disagree with you. VS.NET is by far the best development product out there.  Adding WPF enhancements to it will not only help developers work more efficiently but also keep them excited about working with a cool tool. Developers are human beings too, and they remain excited about cool UI as normal users do.

    What older technologies are you referring to?

    Soma, thanks for all the good work you and Microsoft are doing and don’t be distracted by some comments that merely criticize. Constructive criticism and suggestions for improvement help. Like, how about providing a search in Visual Studio like Expression Blend 2? (Not aware if this exists via a 3rd party add-in)

  12. Adam says:

    Hi Soma

    Visual Studio 2010 looks great. I also agree Visual Studio is the best IDE out there and I must say I am loving Visual Studio 2008. These features are adding to an already great product.

    And the MEF is a great concept. I was looking for something like this years ago, but like so many others developed my own plugin standard as there was nothing else out there.

    Keep up the great work.

  13. Publicación del inglés original : Lunes, 10 de noviembre de 2008 7:18:00 AM PST por Somasegar He tratado

  14. Somasegar says:

    Thanks Adam.   Hopefully, you will find MEF to enable you to create plug-ins a lot more easily than ever before.

    -somasegar

  15. After more than a year that we have been working on Lab Management, we have announced the product last

  16. Tanveer Badar says:

    I’ll be the cynical here. VS editor is already slow enough when it is native code. Imagine what it will do when it is heavy weight WPF graphics!

    I spend 12 hours of my life daily with badly designed classes (read 6K+ lines) and the editor hangs after typing a single token. I’ll be staying out of VS2010’s path for such projects.

  17. ricom says:

    Actually the graphics are not the problem at all.  We’ve been shipping this editor earlier, you can see it in Blend.  The old editor was full of problems that made big files very problematic.  Several non-linear algorithms, or worse.  We use "regions" for a variety of tracking things for instance (not just collapsing but errors, underlining, basically any annotation).

    Those region management methods were quadratic, and they tended to have to adjust all regions, on-screen or not.

    Worse, the old editor doesn’t have a stable buffer model, so when we’re trying to do background compiles for you, we have to copy the entire buffer (!) on every keystroke to give the compiler something that won’t change while it’s compiling.  The new editor doesn’t require this.

    The key algorithms of the new editor tend to be logarithmic and related only to what’s on-screen.  Vastly better than the underlying functionality of the old editor.

    Of course we can still screw it up, but the fundamentals are much better.  In fact, the problems we’ve had so far tended to be where we were required to emulate the old editor’s behaviors for code we didn’t want to port to the new API.  

    If you have big files, you’ll be much more likely to *want* that new editor than the reverse.  Where we’re likely to lose is on tiny files where the overhead of starting the new editor is going to be greater.

  18. After more than a year that we have been working on Lab Management, we have announced the product last

  19. Erik Cox says:

    Love what you did with the quick search….I mean I had used that sort of thing in Eclipse..but since I put my focus on programming in

    <a href="http://www.notionsolutions.com">VS</a&gt; i had missed that feature..so I was more than just happy when I read what you have done…Cheers!

  20. Bz says:

    Please, I beg you to provide an option to opt out of WPF editor!

    I looked at another WPF app, Expression Blend that has a sloooooooow GUI.  I mean like 250ms vs 20ms, but for a fast typist it is really annoying to be dealing with these little Java-like delays.  Visual Studio has been getting slower with every release, so is this a joke calling it the new VC6 while adding WPF bloatware?  Please focus on functionality and not on prettiness.  It is silly that to add a feature like scalable font you have to replace a working editor with a rewrite which means new bugs and new performance issues.  This endless cycle of rewrites and getting some new stuff mixed in with performance issues is getting tiring.

  21. David Berg says:

    Bz,

    We didn’t rewrite the editor just to add WPF support and scalable fonts.  We also rewrote it to improve scalability for dealing with larger files, larger numbers of regions, and improve multi-threading support (see RICOM’s comments above for more details).

    Our expectation is that for small to medium sized files and projects you should see performance comparable to VS2008, and better performance for larger files and projects.

    On your experience with Expression Blend, I agree that typing performance should be well under 250 ms.  I’d like to understand what you’re seeing a little better, if you can send me some more information (devperf@microsoft.com) about your system and where you see the performance problems, I’d appreciate it.

    Regards,

    David Berg – Microsoft Developer Division Performance Engineering Team

  22. Bz says:

    David,

    Thank you for your response.  I tried Blend when it first came out.  The GUI seemed a little less snappy so and I never used it again.  The 250ms number was for a context menu inside of an edit box.  Now, I ran xaml pad and that doesn’t seem to be an issue anymore.  Maybe performance was improved in .NET service packs.

    My initial post may have been a little over the top – I’m sorry about that.  I was deeply scarred by the "Updating Intellisense" issue.  That makes me really worried anytime I hear about major changes to the IDE.  It causes a knee jerk reaction against any changes.

    I’ll trust your performance predictions and get a faster computer.

    Thank you for all of your great work.

  23. Armstrong says:

    Please the problem is I can not record from datein to CD please somthing wrong.

  24. In a blog post in November , I mentioned a feature called “Quick Search” – one of the code focused features

  25. Tanveer Badar says:

    I want to chip in same thing as Bz said. I don’t want myself typing letters into the editor while the IDE catches up. It puts conscious strain and frequent pauses for those bloody java IDEs to catch up on me. Don’t turn VS into another of those.

  26. Clancy says:

    Are there any new datagrid properties that will lock the header, or turn on vertical or horizontal scrollbars?