Hi, I’m Charles Torre, Sr. Technographer with Channel 9.
One area that people simply don’t talk often enough about is Application Lifecycle Management (ALM) tools for Visual C++ development teams. ALM tools are critical for planning, development, testing, and maintenance of native code bases of every size. Visual Studio Ultimate offers many “out of the box” features for efficiently and easily managing a C++ code base. At Tech Ed North America, Terry Leeper and Rong Lu will be showing off these useful features and giving C++ developers a sneak peak at what's coming...
You should definitely check out the session if you are at Tech Ed. If not, you can watch the full session right here in a couple of days. Can't wait that long? Well, no problem. Terry and Rong came to the C9 Studio a few days ago to share some of what they'll be talking about at Tech Ed in Atlanta. They've done some great work in VC10, but ALM tools for C++ developers in the next version of Visual Studio will be better, taking architectural visualization, unit testing (yes!), andmore to the next level for C++ developers.
If you can't see any video embedded below, just click [here] to watch this presentation in Channel 9.
This is stellar work guys! I am thrilled to see these features and appreciate just how difficult it must be to pull all this off.
A few questions if I may.. I realize these may be answered by the Tech Ed talks but sadly, I'm not there.
1. Will the tools work with project having Mixed mode files. ex. some /clr some pure native?
2. Is there a way I could somehow "decorate" our existing unit test functions since we'll get resistance to moving over to the separate CppUnitTest project approach. Though in future projects I'll use it.
3. Any plans for a code coverage companion to the unit testing? That would really rock!
4. Navigating the graphs is a bit clumsy even with filtering. I suppose you're doing your best but anything to make the zooming in/out less awkward would be nice. It may do that already...need to play more.
5. Will these features require VS Ultimate? Premium? We have people who would like to use them that are on Pro.
Just got architecture pack and played with the class diagramming but now I see the include graph feature is there too. wohoo - I'm off to try it out!
I tried out the include graph. It would be really nice to have the option of a vertical orientation instead of a huge wide diagram.
Found it: Left to Right tool in toolbar. Was looking in the context menus.
More suggestions for the graph views:
1. Please adopt the Adobe convention of temporarily switching to Pan mode while I press the Spacebar for easily panning the graph. I realize I can do it with a middle-mouse click but I really hate that method.
2. Is there a way to cycle focus among the selected nodes? I haven't found a way if there is. Maybe a variation of F3 similar to Find Next for search.
jschroedl: Thanks for the great feedback! Here are some answers to your first post:
- We have not disclosed our SKU plans for features yet for vNext of Visual Studio
- It is possible to write an adaptor for use of CppUnit to work in the tool. That might be easier than a decoration scheme
- at the TechEd session, Rong showed how to use CodeCoverage with the Unit Testing.
I'll try to get to some of the other questions a little later...
Very happy to hear that you like the features! This is very encouraging to us!
Terry already answered several of your questions, let me try the rest...
The architecture tools work for managed C++ code, however if you have managed and native C++ mixed, it may not work perfectly as expected. The reason is there are two separate underline providers which deal with managed and native code separately. If you think this mixed mode is a primary scenario for you, let us know and also let us know if you run into any specific issues.
Absolutely! Like Terry said, we just showed it at TechEd this morning! The enhanced code coverage feature not only works great with the native unit test framework, but also will work the same way for managed test frameworks. In addition, code coverage now does dynamic binary instrumentation as oppose to static binary instrumentation in the past, so it's also a lot easier to use!
Sorry, I don't quite understand what cycle focus means here. Can you elaborate?
Cool! But we're not about to switch to a new unit testing framework. A big part of why we use C++ is for cross-platform support, so adopting a Visual Studio specific framework is a non-starter.
Will the new test running tool work with other frameworks, like Google Test? You mention being able to use an adapter, but it would be great if it worked with the most popular unit test frameworks out of the box.
You can watch Terry's TechEd session here: channel9.msdn.com/.../DEV316
Yes, you can absolutely use the unit test frameworks you use today together with VS functionalities. The core unit test framework is language neutral and extensible. The C++ unit test framework we showed here is an extension to this core framework. Out of the box, we provide a C++ unit test adapter and a managed unit test adapter on top of the framework. And you are welcome to build an extension adapter for the unit test framework you're using. That way your existing tests will be able to run in VS. The tests will be managed and run by VS and also benefit from the integrated code coverage feature.
Hope that helps...
Hi Terry & Rong,
It's fantastic to see ALM improvements to C++ coming in vNext. One thing we would like to see are productivity tools that C# are already enjoying such as the Refactor | Rename tool.