Running Visual Studio (and Resharper) on a Mac

Many before me have made this step, finally I took it myself. The excuse to get me a Mac was building iPhone apps with Monotouch. My expectations were great and all were fully met. After battling a couple of blue screens and a lot of Windows updates I decided to pass my Dell to my son’s game addiction and move as much as possible to the Mac. I wanted to mix the (excellent) Mac mail, surf and other tools with the Windows only tool Visual Studio. Using Bootcamp to boot either OSX or Windows on Apple hardware was not good enough. VMware fusion runs any version of Windows (including 64 bit) almost seamless under OSX.

To give both OSX and Windows some air my Macbook has 8 Gb of Ram. 4 gigs is standard. VMware fusion works as promised. Windows runs like a charm; resuming (from sleep mode) is even faster than on a PC.

The only thing which needed some attention was Resharper which highly depends on specific keystrokes. The Mac keyboard is quite different, making all keys work required fiddling some settings in several places. I have an external Mac keyboard with a numeric keypad, a surprising minimalistic approach after all curved desktop hoggers with multi media extensions. It is a nice fast and relaxing typer.

The problem keys

Insert

There is no insert key on a Mac keyboard. VMware can map keys, a post on the VMware support forum describes how to map the Ins key, explicitly mentioning R# Smile There is no need to do that for the external keyboard, the 0 on the numeric keypad works just like the <ins>. Type <alt><0> and you have your new class.

Ctrl-Click

In the default VMware key mappings  <ctrl><click> is mapped to a mouse right click. Disable or change that in the VMware preferences

MAcKb1

Function keys

The default behavior of Mac Function keys does things like changing the audio volume.  You change that in System Preferences.

MacKb2

This does not always work for all keys. In the key mappings of VMware is the possibility to enable Mac OS keyboard shortcuts.

MacKb4

The Apple-Tab key is nice to have to switch from VS, even in full screen, to Apple mail with one keystroke. The exposé one is not that nice, as it is linked to the F9 and F10 function keys. Trying to set a breakpoint will show you Mac´s desktop…

These key mappings can be changed in System preferences, Exposé and Spaces

MacKb3

Here I just disabled the keys. A four finger swipe works just as good.

Well, that´s all. Now I have my full VS experience with everything Mac just a keystroke away.

DSC_6531_001

Recommended.

This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Tommy Fannon

    hi peter.
    i agree 100% on I/O and SSDs. I upgraded my iMac to an SSD myself and my Macbook Pro (2013) comes with an SSD. Everything is pretty fast on the VMs on both machines. The only thing is resharper occasionally just thrashes the disk (i have a drive light icon to show activity). We have a pretty huge solution for our work (dozens) of projects in Visual Studio and it compiles relatively close to the speed of native.

    I just cant figure out what setting in resharper it is.

    Thanks for your response Peter. -t

  • PeterGekko

    I would not blame R# but VM-ware itself.
    VM ware is very heavy on the disk. I have had several thrashed discs myself. Also with my son running a virtual machine with completely different software. All problems ended switching to a SSD. The performance improvement is dramatic. No more waits on an operation which seemed so small. Heres the story http://codebetter.com/petervanooijen/2012/10/25/a-crash-course-into-mac-recovery-for-windows-users-and-other-dummies/
    Same improvement on an iMac

  • Tommy Fannon

    Hi Peter,

    Been running this setup for awhile on both my iMac and my Macbook Pro 13. One thing I have noticed with Resharper v7,1 is that the hard drive occasionally gets thrashed when doing certain operations.

    Example: type this in int i = 10 As I get to entering the right side (10), it looks like Resharper is doing a big lookup and it spins for awhile, the window flashes, and then it comes back. Everything else is pretty speedy.

    This happens on both my iMac with 16gb ram (8gb to VM) and my Macbook Pro (4/4).

    You see anything like this?

    -tommy fannon

  • Ryan Zec

    Option + Return is the insert key for the internal MacBook Pro Keyboard if you don’t want to have to use an external keyboard.

  • Anonymous

    Scrolling with the pad, or a magic mouse, works well in all directions. “Momentum scroll” is a part of the newest OS-X, not a feature of the pad itself.

  • Mike

    Do you get the same scrolling experience in Visual Studio and other Windows programs that you get in OS X when using the MacBook’s trackpad (ie. inertial or momentum scrolling)? 

  • Anonymous

    John, give the external keyboard a try. It’s greatest difference with a PC’s is the order of the ctr-.alt-Windoews(Apple) keys. Which is compensated by the great general feel.

  • John Hilts

    The concept of running VS on an MBP sounds great, but whenever I’ve gone to a retailer to checkout an MBP something about it always left me feeling vaguely angry …. I think I just hate the keyboard …

  • Greymarch

    I am a Visual Studio 2010 developer.  A few weeks ago I  bought a MacBook Pro 13 inch(i7, 8 GB RAM) and installed Win7-64 as a VM via Parallels.  The VM of Win7 runs great.  I give the VM 4 GB of RAM, and 2 of the four processor cores in the i7.

    I write about Visual Studio development (especially C#) at my website.
    http://www.greymarch.com

  • http://dcsoft.com David Ching

    KeyRemap4MacBook offers many additional settings such as making the Home and End keys on the numeric keypad work.  I use it on my Hackintosh VMWARE, which is the opposite of what you are trying to do, but it may help you as well.

  • Anonymous

    I did this earlier this year, shortly after the release of the 2011 Macbook Pro.  However, my setup differs slightly…  I installed Windows in Bootcamp (I enjoy a few Windows games like Crysis so this was a necessity).  Then I used Parallels to consume my Bootcamp volume as a virtual machine.  Now I can run Visual Studio inside a Parallels VM or boot natively to Windows to play Crysis 2 or a handful of other games.  It works great!  And all from a single Windows Bootcamp partition.

  • Jacqueline

    In my experience 2 GB is too small to run Visual Studio with Resharper in Vmware Fusion. It takes forever to start up a project! Yesterday I decided to switch to Bootcamp to run Windows 7 natively, but now I’m lacking the great touchpad support from Fusion. 

  • Ben Taylor

    Went through the same process about a year ago and purchased the same keyboard and mouse.  I found the magic mouse gave me cramp (too small) and ended up buying this Logitech Mouse instead http://www.amazon.co.uk/Logitech-Performance-Mouse-Tracks-Glass/dp/B002L3TSKC/ref=sr_1_11?s=computers&ie=UTF8&qid=1313056893&sr=1-11

  • Bob

    Do you think MacBook air 4g ram will be sufficient to run Visual Studio on VM? 2g allocated for windows might be a bit little if run multiple vs version and antivirus, or is this a code in Mac native than compile in windows strategy?

  • http://profiles.google.com/leetreveil Lee Treveil

    Right that’s it, i’m binning my Windows desktop and moving everything over to my macbook pro.

    Thanks for the article!

  • http://twitter.com/ashga ashga

    you may want to invest in palua check it out on the mac app store! helps with the f keys