The challenges of running Visual Studio on a Mac
In the week since I got my Mac Pro I have made a conscious effort to transfer everything that I knew I would need over from my Windows XP machine. I've even powered off the Windows XP machine - something I rarely do with a computer - because I wanted to make sure I didn't try to use it as a crutch. My goal was to see if I could really switch to Mac completely and one week in that has been the case, though there has been some compromise.
I use VMware Fusion to run Windows XP in a virtual machine. It works really well for the most part and when it is running in full screen mode I really feel I'm running a Windows machine, with a couple of major exceptions:
Keyboard Shortcuts: Visual Studio makes heavy use of function keys, especially for debugging. By default the critical ones I use most are F10 (Step Over) and F11 (Step Into) and F9 (Toggle Breakpoint). On my Mac's keyboard the F9 key advances the song/track in the player, F10 mutes the speaker and F11 lowers the volume - these are special feature keys for OS X and work in any application you happen to be in.
You can flip a toggle in the System Preferences to allow the Functions to operate as standard keys, in which case they will not work as special feature keys unless I hold down the fn key on my keyboard. Likewise if I have the option in System Preferences unchecked I need to hit fn in order to access the keys as standard F keys.
There was also one other layer of complexity added to all of this: by default OS X ships with some keyboard shortcuts of it's own that also conflict with things. This threw me for a little while because by default some of those F keys are mapped to Spaces and Expose.
What I ended up doing was eliminating the Spaces, Expose and Dashboard use of the F9 through F12 keys; I use the mouse for that stuff anyway. I also keep the option to use the special key feature enabled, meaning that if I want F10 to be passed down to my application I need to hold the fn key too. It's a pain in the ass but I really like having the special keys enabled. Too many functions for too few keys.
I really do wish the fn key was a toggle, not a modifier key though. That would make it so much easier. I spent a couple of hours researching how to make it work that way but had no luck.
Using the Keyboard to Navigate Text
I've mentioned before that the text navigation keys between Windows and Mac are different. On Windows you use Ctrl-Right, Ctrl-Left to move the cursor one word at a time to the right or left. On Mac it's Option-Right, Option-Left. Well, this creates a little conflict when using VMware Fusion and Visual Studio.
By default OS X uses Ctrl-Right to move to the Spaces window to the right, Ctrl-Left to the Spaces window to the left. As a big time Spaces user I've found this excellent, unfortunately I've had to disable the feature since I really need the ability to Ctrl-Right and Left arrow through words in Visual Studio. This is not something I'm terribly happy about but I'm trying to get used to it.
Other than these two issues, so far it's been excellent. My development performance has actually increased a bit because all of the applications I've come to count on are now on the Mac Pro.