VS 2010 productivity improvements, Part II


You could say the code editor is the most important feature of any development experience.  After all, that’s what lets you create, see, and change your code.  Without a code editor, no other features matter in an IDE.  Around the editor is built the rest of the development environment.

Last week, we looked at three new features in Visual Studio 2010: multi-monitor support, multi-targeting, and code navigation.  This week I’d like to spend a little time talking about improvements to the code editor in Visual Studio 2010.

Improved IntelliSense

IntelliSense is, in some ways, the most easily-accessible documentation of types and members.  Before IntelliSense, development commonly meant you had your favorite class browser close by to help you find the type or member you were looking for.  With IntelliSense, typing a period or Ctrl-J brings up everything you want to know about types or members.

In Visual Studio 2010, IntelliSense changes allow you to search based on any substring in the type or member, rather than strictly alphabetically.  As you can see below, when I type in “Aircr”, I get suggestions of “Aircraft” and “AircraftStatus”, along with “AddToAircraft” and other methods that contain, but don’t start with “Aircr”.

IntelliSense now also supports finding members through their Pascal casing.  Below, I can type in “ATP” to find “AddToPassengers”, “AddToPassengerStatus”, and “AddToPeople”.

Block Select and Block Edit

Sometimes you have to make the same change to many consecutive, similar lines of code at once.  Perhaps you’re changing an access modifier or string literal in C#, VB, or C++ code, or perhaps you’re changing property values in HTML or ASP.NET.  Block select lets you select columns of text and edit them as a group, rather than one line at a time.  You can select columns of text in a box by holding down the Alt key while selecting with the mouse.

 

Once your block is selected, you can delete or insert text on all lines of the selection.  If you’d like to simply insert something (such as a folder in a path string or a keyword), you can create a block selection with zero width and start typing; your typing will be inserted on all lines of the block selection.  You can also use this feature to quickly add or delete a tab to a block of code as well.

Zoom

You may have used the zooming features in Word, your internet browser, or other applications to quickly find your way around a large amount of content or highlight an area easily for others.  Now, you can use the same gesture to zoom in the Visual Studio code editor.  Hold down the Ctrl key and scroll with your mouse wheel to adjust the zoom factor.  You’ll see the zoom factor change in the lower left corner of the editor window at the same time.

 

If you sometimes present to others, conduct code reviews on projectors, share applications using LiveMeeting or other programs, or build videos using screencasting programs like Camtasia, zoom can be an indispensible way to help your audience see your code clearly.  For visual people, zoom can be used to quickly find a piece of code or understand the contents of a large file.  And, while this feature isn’t new to Visual Studio 2010, collapsing code blocks in the editor can help with code understanding as well:

Next Time…

In my next post on Visual Studio 2010’s productivity improvements, we’ll focus on features built specifically for certain languages and tasks.  Don’t miss the next one if you write for the web or build C++ MFC apps.

Namaste!

Comments (19)

  1. AboOmar says:

    Really Appreciating all VS 2010 work, I feel that these features the ones that I really need, great community interaction from Microsoft keep Goin 🙂

    But I need to know when the ALM Tools Feature Pack will be released ??

  2. Rory O'Donnell says:

    Somasegar,

    When do you think you will have full IntelliSense for managed c++ ready?  I really want to migrate to VS2010.

    Thanks.

  3. phuff says:

    AboOmar, no Feature Pack has been announced yet, but stay tuned.

    Polita Paulus

    Microsoft

  4. Rocky Sanders says:

    I love the ability to select a column of 'stuff'.  We need that in Word, notepad, everything! 🙂

  5. Mike Stokes @ HelpBurner says:

    Oh yeah baby… the column select and edit is uber-cool!  Keep it up 🙂

  6. JZakaryan says:

    not feeling much use in column selecting… there's still my favorite find and replace dialog there, but intellisense improvements are really cool

  7. Tarek Madkour [Microsoft] says:

    Rory,

    Thank you for your enthusiasm to upgrade to VS2010. We love it 🙂

    Limiting support for C++/CLI IntelliSense was an unfortunate yet necessary feature cut in VS2010 in order to get significant improvements for native C++ IntelliSense. There are no current plans to bring C++/CLI IntelliSense back in a Service Pack or update for VS2010. The plans we are looking at are for adding this feature back in a future release.

    I regret the inconvenience this must be causing for you. We understand that this is a notable take back for some of our customers who heavily use C++/CLI just like you do. We hope that the marked improvement in native C++ IntelliSense, however, would outweigh this take back. I hope that you will find enough value in the other improvements we made in VS2010 that it would still be a compelling product for you to migrate to.

    Thanks,

    Tarek Madkour

    Visual C++ Team

  8. small_mountain says:

    @Tarek,

    Are you joking?  We were told when the announcement was made that C++/CLI Intellisense would not make RTM VS 2010 that it would be in Service Pack 1.  Are you now taking that back as well?

    The fact that you would think that improvements to native C++ Intellisense could somehow "make up" for the removal of Intellisense for C++/CLI just demonstrates, yet again, a complete failure on your part to understand your customers.  And the fact that we have to find these things out by reading comments to blog posts is yet another epic failure on your part.

    Eric

  9. Sumit says:

    Don't forget to include "ProPowerTools" that got released this week in Part 3 🙂 I think this is great productivity tool.

  10. Mark Roberts [MSFT] says:

    Hi Eric,

    We have not made any official commitments to ship C++/CLI Intellisense in Visual Studio 2010 SP1, and I'm curious at to where you heard otherwise. Our plan is to ship C++/CLI Intellisense in the next release of Visual Studio.

    Thanks,

    Mark Roberts

    Visual C++ Compiler Team

  11. Daniel says:

    No C++/CLI in SP1 This is just terrible!

  12. Kundan says:

    I don't see the two tabs 'Common' and 'all' in IntelliSense. How to get those?

  13. phuff says:

    Kundan, the "Common" and "All" tabs are present only for VB.  Are you using VB or another language?

    Polita Paulus

    Microsoft

  14. CJ Lewis says:

    The lack of C++/CLI IntelliSense for VS2010 means we're deep-sixing upgrade plans for our whole department and staying with VS2008.  It also means we won't renew our MSDN subscriptions until the next compiler ships (if then).

  15. Heiko Schulz says:

    The lack of Intellisense support for C++ CLI in VS 2010 prevented the use of VS2010 for our C++ projects (all of the C++ CLI since years). To postpone the support to a later VS version is a really bad joke. Without Intellisense support .NET programming is really a pain.

    Or is this a campaign to shift C++ developers to C#?

    Heiko

  16. VS2010 rage says:

    Why did your team decide header files were too much trouble to parse?  Macros are completely unusable in intellisense even with your "hint" files.  I'll give you a hint… parse the f*cking headers!  It's practically trivial and instead of taking a step forward you take two steps back.

  17. Mark Roberts [MSFT] says:

    Hi VS2010 range,

    I'd like to follow up with you and incorporate your feedback into the next release of Visual Studio. The C++ intellisense engine does parse header files and includes all discovered declarations in our intellisense experience; however, we no longer display macros in intellisense. We plan on reinstating intellisense macro discovery in a future release.

    Hint files are designed to enhance the browsing experience only (Class View, Navigate To, etc.) and adding hints will not affect the intellisense experience in the text editor.

    Please feel free to email me at mark.b.roberts at microsoft dot com, and I would be happy to discuss this further.

    Thanks,

    Mark Roberts

    Visual C++ Compiler Team

  18. John says:

    column selection has been there for ages, I can't understand why you're showing it like news.

    The visual appearance of vs2010 is terrible. I can't believe you did such steps backwards. Tabs doesn't look like tabs!! They're only a mashup of text.

Skip to main content