Visual Studio 2010 icons and theme in VS 2012!Posted on 9/7/2012
Visual Studio 2012 has just been released for about 3 weeks. I have been using VS 2012 for the past few months since it's the only IDE that can be used to create Windows 8 apps. Those who have used VS 2012 must agree that it has the worst user interface designed - the gray and dull design makes the eyes tired after 5 minutes. Worst of all, all the colors of the icons are taken away, leaving plain colors which makes identifying buttons much more difficult. I've seen numerous posts complaining about it, some even describing the UI as "unusuable". Now, after some time investigating the topic, I have come up with a work around that shows VS 2010 icons in 2012. Here is how it would look like after the mod:
Looks much better yea?
How to do it
As of 9/8/2012 17:00 GMT time, I've seen no other posts on the internet describing this method. Thus I'm confident that I'm the first one to post this (-:
Step 1: Visual Studio 2012 theme editor
Download the theme editor for VS 2012 at http://visualstudiogallery.msdn.microsoft.com/366ad100-0003-4c9a-81a8-337d4e7ace05 . After download, select the "Blue" theme, which is closest to the original VS 2010 theme. In the screenshots above, I further customized some colors of the theme to better match VS 2010, but the default blue theme should give you a pretty good start.
Step 2: DISABLE ALL CAPITALS
If like me, you feel like the menu feels like someone is shouting at you, going ahead and change it. It is a simple registry edit. Go to HKCU\Software\Microsoft\VisualStudio\11.0\General, add the dword "SuppressUppercaseConversion" with value 1.
Step 3: replace the dlls
The icons used by VS are loaded up as resources in DLL files. These files are located in C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\1033 (or the equivalent on a 32-bit system). You should be able to find the path C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\1033 on the same machine if you're lucky (at least I see it). If you don't, you can access the DLL files from a machine that has VS 2010 installed.
Now copy DLL files from the Visual Studio 10.0 (i.e. 2010 version) to 11.0. You may backup the files if you like. In case you messed up or are unsatisfied with the result, a installation repair of VS 2012 will always replace the DLLs to the "correct" ones.
We are interested in the following files:
- msenvui.dll (NOT msenvmui.dll)
Step 4: clear the cache
If you have just did a fresh or repair install of VS - then great, you can skip this step.
Chances are you have already been using VS 2012 though. If that's the case, navigate to C:\Users\[user_name]\AppData\Local\Microsoft\VisualStudio\11.0 and delete the 1033 folder. If you don't, the changes you made to the dll files will not be visible.
Step 5: DONE!
Now launch VS 2012. You should finally have an interface that you can look at!
1. Some icons are not updated
As you can probably notice from the screenshots above, some icons are left in dull and gray style and are not "updated" by this technique, for example the icons in TFS explorer. I have not yet located the dll of each and every one of the icons used in VS, but the above list should fix many of them.
2. Some icons are missing
This is likely caused because the layout of the icons have changed between the two versions. Fortunately, for buttons that VS can't find an icon, VS displays the button text instead, so functionally everything is still ok.
3. Other content in the dlls are also replaced
There is no gaurantee that the only thing changed in the DLLs are the bitmap resources. The string tables, dialogs etc. may have changed as well. As a result you may run into strange display messages (e.g. I saw the text "d Errors" in the Error List window). A better (and more proper) approach would be to extract the bitmap resources from the old DLL files then inject them into the new ones. I have not have the time to this so I resort to the copy and paste method instead.
Finally, VS 2012 is usable!
I have tested the above method on two machines (one of them virtual) and it works for me. VS 2012 brings support for new platforms like .NET 4.5 and a bunch of new features (I especially love the DOM explorer), and it is also the only IDE that can be used to build Metro Apps. I hope this post will prevent your eyes getting burned when working in VS 2012.
Disclaimer: this DLL mod is a method I come up myself and it's not extensively tested. I'm not responsible for any damages or losses related to this mod.
|Next: JSON Toolkit 4.1 update||Previous: Facebook Graph Toolkit 4.0 (part 3)|
Nice - but it does beg the question why can't Microsoft get this right in the first place!
by Brian M on 9/7/2012
Thanks for this info. Love the normal menus now and NOT all uppercase. The icons thing, on the other hand, did not work for me. I did clear the cache 1033 folder. I'm working under Windows 2008 Server R2 x64 so am wondering if that has anything to do with it. When I have time, will need to try it on another computer running Windows 7 x64.
by PRISMAY on 9/7/2012
After my previous post, I decided to make a slight change. I backed up ALL my files under C:\Users\[user]\appdata\local\microsoft\VisualStudio\11.0 and then remove all of the files. I ran vs2012 which showed a few errors and then created some files in the folder. Once loaded, I closed VS 2012. I removed the 1033 file created and then copied back ALL my files that I had backed up and replaced all existing files. I relaunched VS and the icons are now showing from the 2010 DLLs. :)
by PRISMAY on 9/7/2012
Works well, unless you happen to use a darker theme. Apparently Visual Studio does some sort of automatic inversion/transform on the icons when the background color is darker that completely mangles the 2010 icons beyond recognition. Oh well.
by John M on 9/7/2012
Great. Only Solution explorer is still awful to use now. Getting there. Thanks.
by Daz on 9/8/2012
I found that some features "broke" e.g the "Find" window. I restored the original dll files without clearing the cache again and I still have the VS2010 icons but the "Find" window works again.
by Daz on 9/8/2012
Thanks for this! That new interface is so bad, but this will lessen that pain ever so much.
by ThreadLok on 9/11/2012
Would you mind sharing your updated theme that you made using the extension?
by Dean on 9/23/2012
by tom on 10/10/2012
Thanks for this tuto. I think that the new VS12 new theme is not practice. I am old school. I hope microsoft will provide as with a theme update on the next weeks
by Azerus on 10/13/2012
I really enjoy the blog.Much thanks again. Great.
by maillot arsenal enfant on 1/2/2013
GREAT post! In the latest release of the Theme Extension you can export the theme. Any chance you are willing to export your customized blue theme for us?
by VeVe on 3/7/2013
This problem is that whenever you upgrade the VS 2012 such as update 1 or update 2 then I lost all my changes. Specially the all icons. I have big headache during my development because of the terrible icons. MS !! Please back to the normal icons or don't change my icons which I changes.
by Jaewon Kim on 4/22/2013
The blue theme is now available in visual studio 2012 update 2.
by Nic on 5/2/2013
The Icon swap absolutely did not work.
by msdevtech on 8/30/2013