Visual Studio Dev 11 looks…. different. If you’ve not seen it, then you’re in for a surprise (you can download the latest VS11 Beta from a link at the bottom of this post). It’s gone monochrome, with no colour in most of the icons, and colour is only used when you really need to look at something (apparently). The other new addition to the look is the idea of Themes. Dev 11 ships with a light theme and a dark theme (Must. Resist. Force. Comparisons.), which basically amount to light grey or dark grey.
When I first started coding, it was always light text on a dark background (my amstrad CPC had a monochrome green screen – we couldn’t afford the colour version), and later my xemacs editor was set to roughly the same. So when I first came to visual studio, I hated the sea of white burning my eyes; and now I’m not sure if I want to go back. On a more immediately pressing note, as we have the Reflector object browser inside visual studio, it stuck out like a sore thumb with its white background, so I was tasked with investigating how to hook into the new Dev 11 themes, so it doesn’t look so out of place.
Dev 11, like 2010 before it, uses WPF. At least, if you’re writing an extension and add a new tool window, you’re invited to fill it with some XAML. In theory then, there are ways to just pick up the default theme colours (and ways to create new ones if needed).
However, most of the reflector UI was written some time ago in WinForms, and whilst we’d like to replace it with glorious WPF, that isn’t on the cards for this version. Luckily, the Dev 11 SDK adds an API call to ask about various theme colours, and a hook to know when it’s changed.
So in this EAP, the Reflector object browser now at least changes its basic text and background colour to try and blend in. There is more to do here, but I had other investigations to look at before finishing that work (around the upgrade/update process, which in parts, quite frankly, currently sucks a bit).
Clive has been much more productive – he’s added basic C# 5 async support (I can’t wait to actually be able to use that feature, it will make certain things so much easier).
So head over to the EAP page and take a look, and have a play with some C#5 features.