MS recently announced the availability of VS 2012 SP1, which adds
support for compiling executables compatible with Windows XP. I’ve been
holding off upgrading my IDE, but now with XP support I’m looking
forward to it. Does anyone have upgrade or usability experiences you
would like to share? I’ve read that VS 2012 is a bit lacking in the
c++11 department, but for the most part I’m not that crazy about it.
Please log in or register to post a reply.
There’s been some inevitable grumbling:
Obviously, there’s hits on the net with spot installation or specific
system issues, but otherwise it’s par for the course.
Thought I would update this as I’ve been using it for about a week now
and I’ve been testing most of the features out. Note that this is in
regards to the Pro edition, but I discuss the express edition later on.
With the latest .NET version, Silverlight, 32 and 64bit compiler
configurations, I can finally get rid of all the 3rd party dependencies
I had to use with VS 2010. Shaved a clean 10GB off my dev system.
VS 2010 projects had no problem converting over and for the most part,
the file formats are the same. Only some new project settings were
introduced, such as targeting the Win XP CRT.
The IntelliSense feels very responsive this time around. Unlike VS
2010, it also picks up XML based commenting. It would have been nice if
they had the auto-complete on pressing enter like they do with .NET
projects instead of having to hold and press <ctrl>-space.
The UI has changed and many have voiced their concern about the “grey”
factor, but I kind of like it. It’s simple and feels more spacious. I
don’t particularly feel lost and I didn’t lose any time jumping straight
into development. Perhaps the hardest thing to get use to at first is
the thin window border. Typical window apps use a thick border with a
recognizable caption bar. It’s a little different here.
You can profile your CPU and GPU as well as measure your concurrency
performance. Overall the tools are more of a recording device for the
task manager, but the profiler does provide some statistics about
function overhead and the concurrency visualizer does help you fine tune
your threads. The GPU graph is a laugh at best. Dedicated tools like
nVidia’s NSight or AMD’s APP are much better alternatives as far as
graphics development goes.
The code metrics is an interesting addon, although as with most things
software engineering related the reports should be taken with a grain of
salt. It compares code complexity based on some known factors like code
coupling and cohesion. It also offers you an LOC report, which while not
a great metric, it’s still nice to know (throw a party when you hit
1mil) and you don’t need to resort to 3rd party tools to figure this
Now, code analysis is a really cool feature. Even John
spoke about it. Visual Studio will compile your project and build a
report, which provides a list of logical warnings that would otherwise
pass a compiler test. It also provides warnings about null safety, stack
overflows, etc. There are some false positives, but overall it’s a great
tool to provide a quick and simple automated code review before spending
the resources to do a real one. The only annoyance is that it will
reanalyse the entire project everytime you run it and it can take quite
a bit of time. It would have been nice had they cached the results and
reanalyse only the files that changed.
Blend for Visual Studio
If you’re in the WPF scene, you’re probably familiar with Expression
Blend. VS 2012 comes with Blend for free. I haven’t used it much and
there appears to be a bug where you can’t create a new project (ha
ha…), but it’s a great tool for prototyping. I may get more involved
with this later, but for now I prefer to code my XAML by hand :ph34r:
Team Foundation Server
I have never been a fan of source control software from Microsoft.
Visual source safe has left a permanent scar on me that will never heal.
This is the first time I heard of their TFS line, which is a product
designed to help track issues, schedule tasks, provide source control
management, provide reports, etc. (abbr. ALM: Application Lifecyle
Management [know your buzz]). TFS frontend is embedded into Visual
Studio, so all you need is a TFS server to start using it. Microsoft
decided to release a free express edition of TFS that you can download
and use with a small team. It’s a beast of a server that requires a well
equipped PC to run. It also takes an abnormal amount of time to install.
Overall I wasn’t too impressed with it, but I haven’t used it
extensively yet. It does tightly integrate with VS, but I personally
have grown to like Jira + Greenhopper + SVN + AnkhSvn. These are
products that excell well at what they do. TFS feels like a general
solution to everything, but excelling in neither.
As far as free ALMs go, this is probably the best out there and is a
solid choice for small teams (5 or less ppl).
I haven’t used the express edition, but what I gather from the Visual
almost every feature available in the pro edition is now available in
the express edition. TFS, code anlysis, 64 bit compiler. The only thing
I gather that’s different is the pro edition supports plugins, uses a
single install and executable for all project types, has slightly better
debugging tools, and reduces the weight of your wallet. For code
enthusiasts, this is pretty much an acceptable tradeoff considering what
you’re getting for free. Might be the start of an interesting trend for
While the IDE is good for the most part, there are a few annoyances I
They are still using filter views with C/C++ projects. I cannot stand
filters and the “Show All Files” option does not work when you store
your VS project files in a separate directory, which is common when
writing portable software. I wish MS would fix this to be more like
their .NET project management.
Code metrics does not work when the C++ project targets Windows XP.
The fact that there is a Windows XP target is confusing to begin
with. Why you would ignore the 40% Win XP market share is not logical.
Thanks for the informative read.
I’m used to Visual Studio -been using it for over a decade-, but with
each version I grow more impatient to switch to something else.
Something less invasive, less bloated, and that won’t actively try to
tie me to .Net. I perfectly understand that Microsoft is a for-profit
organization and it’s their legitimate interest to ‘push’ people towards
their own technologies. But with every new year, software release, and
technology… those pushes become more aggressive. We’re already at the
stage of “you’ll have it, or it won’t work”. And you are forced to have
it, even if you don’t care to use it. That’s what I dislike. The choice
is taken away from me.
Were you to suggest an alternative to VS, where would you point people
MS does tend to get carried away from time to time. They originally
dropped support for developing desktop applications in their express
editions until a massive public outcry forced them to think differently.
Then they tried to exclude win XP support until once again the devs
complained until they fixed it (just recently actually). There are
perhaps quite a few features in VS2012 that’s not for me, but overall I
still find it the best IDE out there.
The only alternative I would ever recommend is Eclipse. I use it for
building C++ Android apps, but I still implement and test a desktop
version using Visual Studio because it’s just so much more productive.
Eclipse is feature rich so you have access to all the bells and
whistles, but because it’s built on Java tech it’s quite a resource hog.
You have subclipse for integrating with SVN and Mylyn for ALM, both of
which are solid plugins. There’s also a Lua plugin (although by the
looks of it no longer worked on) that makes it easier to develop lua
scripts. Configuring C++ projects is a bit nightmarish because the UI is
not all that good and there are bugs with its intellisense in that it
won’t update if you edit an existing include path. You have to create a
new one to force a refresh. It gets annoying because Eclipse will report
a bunch of missing files and will fail to compile. Considering it’s free
and supports a wide array of features though, it’s not all bad.