Is Visual Studio For Mac Good

  1. Visual Studio For The Mac
  2. Is Visual Studio For Mac
Active6 years, 9 months ago

My job is currently based on Visual Studio (ASP.NET).
Looking for experiences using Visual Studio on a Mac.
Does it work?

Visual Studio via Remote Desktop - I have a laptop running Windows/Visual Studio with a static IP and use the Microsoft Remote Desktop client to connect from my Mac. This has the advantage of minimal overhead on the Mac, so is more responsive than a VM. No, it’s a re-branding of MonoDevelop, which is an open source project for a C# IDE that is cross platform. It’s lighter weight, and it’s fairly powerful being able to create both Mono and.NET Core projects, but it has much fewer features then Visual Studio does on Windows. It’s still a.

Kb.
Kb.Kb.
4,54213 gold badges50 silver badges73 bronze badges

closed as primarily opinion-based by Undo, hichris123, user2888561, Anonymous, DavidMay 12 '14 at 3:38

Visual Studio For The Mac

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

19 Answers

In a word, yes.

I use a Mac Mini 1.67 GHz machine with 2GB of RAM. That's not an impressive box, but performance under WinXP is excellent. I have used VS2005, VS2008, MySQL Server, Sql Server Express, and dozens of little utilities.

The only issues I've ever had were when I used a hotkey (ex: F10) that was assigned to something like Expose in the mac. So I would hit F10 and instead of stepping over, it would bring up the weather widget. Workaround was to reassign those keys on the Mac (i.e., reassign to Shift+F10).

Edit:

I see others report having sluggish performance. You may want to get an extra drive and keep your Virtual Drive there. I've been doing that for a long time, and that may be the reason for good performance under XP. Jeff Atwood has a blog entry about this topic.

JosephStyonsJosephStyons
37.8k57 gold badges147 silver badges224 bronze badges

I run Visual Studio 2008 on a Mac via the Parallels desktop and it works perfectly.

Stephen DoyleStephen Doyle

Lots of people are talking about Parallels and VMWare Fusion, but I didn't see any mention of the other methods I've used to good effect.

  1. Visual Studio via Remote Desktop - I have a laptop running Windows/Visual Studio with a static IP and use the Microsoft Remote Desktop client to connect from my Mac. This has the advantage of minimal overhead on the Mac, so is more responsive than a VM. However, it has the obvious disadvantage of requiring a second machine running Windows and Visual Studio. If you're running Windows Server 2008, as a bonus you can run RemoteApp to share just Visual Studio to your mac - very convenient.

  2. Virtual machine using VirtualBox - All the major features of a VM, except VirtualBox is free. I've used VMs with VMWare Fusion, Parallels and VirtualBox and I have to say I find performance to be pretty much even across all three. Parallels tended to drive my CPU harder than the other two but the actual VM responsiveness was fine. VirtualBox also has Seamless mode, essentially similar to Parallel's Coherence mode, but less integrated into the Desktop. I use this every day to run a Windows-only application on my Mac and it works great, sharing only the window for that application instead of running a full Windows desktop.

  3. Boot Camp - depending on your needs, running Boot Camp with Windows installed as a dual-boot OS will of course offer the best performance but with the downside of running Windows ;)

JayJay
36.1k11 gold badges55 silver badges81 bronze badges

Some default replacements for Home/End et al.:

  • Start-of-File: Fn-Ctrl-Left
  • End-of-File: Fn-Ctrl-Right
  • Page-Up: Fn-Up
  • Page-Down: Fn-Down
  • Start-of-Line: Fn-Left
  • End-of-Line: Fn-Right
  • Delete: Fn-Delete
  • F1: Fn-F1
  • ...
  • F12: Fn-F12
John PickJohn Pick

Yes it does, using VMWare Fusion. It works quite well, actually; the Unity feature allows you to treat Visual Studio in its own Mac window. However, you will need a current version of OS X (10.5.x), a LOT of RAM (more than 4GB), and a lot of hard drive space, as you will need to install all of Windows in your VM.

Jon DavisJon Davis
4,7473 gold badges32 silver badges58 bronze badges

I've run it in VMWare Fusion (and Parallels previously) on several Macs with 2 gig of RAM without any issues. I generally install with BootCamp because that lets you boot into 'native' Windows if you need more 'umph' (or if you want to game), and the more recent versions of VMWare and Parallels both allow booting the VM directly from the BootCamp partition.

Steven RobbinsSteven Robbins
24.5k7 gold badges67 silver badges88 bronze badges

I am working on an IMac now using VS2008 through BootCamp using Vista. I have tried it using Parallels and found it to be very slow at times. Using BootCamp it is a dream though (apart from having to reboot if you want to use OSx.) I would recommend the BootCamp route.

BlountyBlounty

I use Base Camp and I run Vista w/ VS 2008 on a MacBook Pro. I think it's the bees knees. Mac may make crappy dirty hippie software but they make some rockin hardware.

Sara ChippsSara Chipps
5,9039 gold badges51 silver badges99 bronze badges

I do this a bit, but I find the keyboard on a MBP miserable for VS/R# - the home/end/page-up/page-down differences/omissions are particularly tedious.

Will DeanWill Dean
34.6k7 gold badges77 silver badges112 bronze badges

Virtualization is the only way I know.If you want to do .NET work in a native IDE I suggest MonoDevelop

Bramha Ghosh
4,7444 gold badges25 silver badges27 bronze badges
Andy WebbAndy Webb

I'm running VMWare Fusion on an iMac with 3GB memory. 1.5GB memory is allocated to the Windows XP that lives in the virtual world. The performance is very satisfying overall, but seems sluggish when I open or compile large C# projects. I am using visual studio 2008.

Cygwin98Cygwin98

It definitely works using VMware or Parallels. I've used it in both and it worked far better in VMware Fusion. Things to keep in mind:

  • You want lots of RAM. My MacBook Pro has 6GB, with 2GB allocated to the VM
  • Defrag often. A fragmented drive is especially slow under virtualization
  • Compress unused space often. You're VM will quickly consume many GB as the compiler creates lots of new files
  • Use Windows XP. It's way faster.

Good luck!

Paul LefebvrePaul Lefebvre
5,2423 gold badges23 silver badges35 bronze badges
Mac

VS.2008 under XP/Vista/Win7. The tradeoff is whether you want faster compiles or more fan noise. If I need the power, the VM gets to virtualize both cores, then studio becomes much zippier. However, it tends to annoy the fans.

All things considered, it's very slick.

bxlewi1bxlewi1

Like Stephen Doyle I use Parallels Desktop.

I'm currently running Parallels Desktop 4.0 on an old MackBook Pro with 2GB and its a bit slow.

In my last job I had a MacBook Pro with 4GB. I used Parallels Desktop 3.0 and ran VS2008 in a VM with 1.5GB memory. It worked well.

ewalsheewalshe
3,5962 gold badges15 silver badges19 bronze badges

Personally, I am a big fan of VMWare Fusion. You can not only run the development environment of your choice, but setup test sandboxes to deploy and view your application through. I have a crusty XP install running IE6 just to make sure that my applications are passable by its poor standards.

Make sure you've got plenty of RAM for your Mac!

Derek P.Derek P.

I'm using a 2.66 dual-core MacBook Pro 4gb RAM, VS2008 + XP in Parallels and I'm not having the best experience. Sadly, another hard drive is not an option and if I were to get an external hard drive, I'm not sure why I wouldn't just go back to a Windows laptop that doesn't need extra hardware. Others seem to have had a good experience with this set up though so I'm going to continue to tweak my settings. So far I'm kinda regretting having bought a Mac but not quite enough yet to take the financial hit of selling it on eBay.

DinahDinah
26.6k28 gold badges119 silver badges142 bronze badges

If you have an Intel mac and run windows through boot camp, paralles or vmware etc, yes

RCProgrammingRCProgramming

I have not tried any of the stuff mentioned above but from what I have read, it seems VMware Fusion seems to be the most preferred option by many. The Unity feature of Fusion seems to give a sense of running your VS2008 on Mac itself.

Aoi Karasu
3,1932 gold badges29 silver badges57 bronze badges
Manish CManish C

I run VS 2008 / SQL 2008 on a MistakeBook Pro. I thought Parallels and Fusion kinda sucked for development. Bootcamp is pretty good though, just no native drivers to read the Mac partition of the hard drive. Also the windows 7 drivers are still lacking, the trackpad does not work. Still better than OSX.

ShawnShawn
11.8k16 gold badges93 silver badges149 bronze badges

Not the answer you're looking for? Browse other questions tagged c#.netvisual-studiomacos or ask your own question.

[Visual Studio]

By Alessandro Del Sole | December 2017

Visual Studio for Mac is a fully featured native development environment designed for building cross-platform applications with Xamarin and .NET Core on macOS. The IDE enables productivity through a rich set of features and tools, combined with powerful customizations that allow developers to implement their preferences. In my previous article (msdn.com/magazine/mt845621), I discussed Visual Studio for Mac productivity from the point of view of the code editor and debugging tools. In this article, I’ll focus on the customization points that Visual Studio for Mac offers, and the impact those points have on productivity. Most of the customizations described in this article can be done in the Preferences dialog, which you open by selecting the Visual Studio Preferences menu.

Applying Languages and Themes

Visual Studio for Mac quickly allows you to change the display language for the UI. You can do this in the Visual Style tab of the Preferences dialog, selecting one of the available languages from the User Interface Language combo box. Currently, Visual Studio for Mac supports the following languages: Chinese (China and Taiwan), Czech, French, German, Italian, Japanese, Korean, Polish, Portuguese (Brazil), Russian, Spanish, Turkish and, of course, English.

In the same tab, you can change the appearance of the Visual Studio for Mac UI with different themes. At the time of this writing, Visual Studio for Mac offers two themes: Light and Dark. You can apply a theme by selecting the Visual Style tab in the Preferences dialog, and then select a theme from the User Interface Theme dropdown.

When you select a different theme, you’ll be invited to restart Visual Studio. At restart, you’ll see how the theme affects not only the code editor, but the entire workspace, including the pads and dialogs. Figure 1 shows an example based on the Dark theme.


Figure 1 Visual Studio for Mac with Dark Theme

You can actually change the theme for the code editor only, rather than for the complete workspace. This can be useful to keep the editor window highlighted. The Color Theme tab in the Preferences dialog allows you to select from a long list of built-in themes, as well as any themes you create and import on your own. Visual Studio for Mac supports the Visual Studio (.vssettings), Xamarin Studio (.json) and TextMate (.tmTheme) formats, so you can quickly import new themes by simply pressing the Add button and specifying one or more supported themes.

Customizing Keyboard Shortcuts

Visual Studio for Mac offers a huge number of predefined keyboard shortcuts, referred to as key bindings, that make quick work of invoking common commands by reducing time spent mousing around the interface. Key bindings are completely customizable, and you can change them in the Key Bindings tab of the preferences dialog. As you can see in Figure 2, key bindings are grouped by menu. You can change a key binding by clicking a command and then entering the new binding in the Edit Binding textbox.


Figure 2 Customizing Key Bindings

Visual Studio for Mac provides a number of built-in schemes with key bindings that recall the same shortcuts used in other popular development tools, such as Visual Studio Code and Xcode. For example, if you’ve been building apps with Xcode for a while, you can select the Xcode scheme and use the same keyboard shortcuts in Xcode for the code editor and debugging in Visual Studio for Mac. As another example, if you’ve been working with Visual Studio on Windows and now you need to work with Visual Studio for Mac, you can select the Visual Studio (Windows) scheme to make use of its familiar keyboard shortcuts.

Customizing Fonts

Visual Studio for Mac gives you control over the fonts used in the code editor, the Output pad, and all other pads (pads are tool windows that can be rearranged and docked in the workspace). Just click the Fonts tab in the Preferences dialog box to access this functionality.

Visual studio for mac download

To make a font change, select the font you want to replace, then click the new font (with style and size) in the Select Font dialog. A preview window lets you see what the new font selection will look like. Note that you can replace a default font with the newly selected font via the Set To Default button.

Adding Custom Commands

A common need for developers is to be able to launch external tools from within the development environment against one or more files in the solution. For example, you might want to launch a professional image-editing tool on a bitmap you have in a project, or you might want to launch a particular code editor or command line against a file in a project. Visual Studio for Mac allows you to launch external tools by adding new custom commands to the Tools menu.

To accomplish this, open the External Tools tab in the Preferences dialog and then click Add. In the screen that appears, provide the details for the external tool, such as the text you want to be displayed in the Tools menu (Title field), the tool to be launched (Command field), command arguments such as file or folder names (Arguments field), the directory where the command must be executed (Working directory field) and a keyboard shortcut (Key Binding field). Figure 3 shows an example that launches Visual Studio Code.


Figure 3 Adding a Command to Invoke an External Tool

Is Visual Studio For Mac

Notice that, for the Arguments and Working directory fields, the target pathname must be supplied via one of the supported constants, such as ${FilePath} that represents the pathname of the current file. However, it isn’t necessary to remember all the possible constants and their meaning. In fact, you can click the arrow-down button at the right of both fields to select a target, and Visual Studio for Mac will show a human-readable description for each target, then will place the corresponding constant into the field when you select the desired target.

With regard to Figure 3, you’ll see File Path in the list of possible targets (which represents the current file). When you select this option, Visual Studio for Mac will add the ${FilePath} constant into the Arguments field. You can also select multiple targets in one field.

Finally, it’s worth mentioning the checkboxes at the bottom of the dialog. If selected, Prompt for arguments will cause Visual Studio to ask you to enter additional arguments that will be passed to the external tool. When the Save current file checkbox is selected, the target file will be saved before the external tool is launched. By checking the Use output window checkbox, the output of the external tool will be redirected to the Output pad in Visual Studio, which is extremely convenient so that you won’t need to shift your focus outside of the IDE. After you click OK, you’ll see a new command in the Tools menu, the text of which exactly matches the string you entered in the Title field.

Working with Custom Layouts

You can arrange the layout of Visual Studio for Mac by displaying or hiding some pads, and by moving and docking pads to a different position in the workspace. The IDE ships with four built-in, general-purpose layouts called Code, Design, Debug and Test, all available in the View menu, and each quickly allowing you to switch to a different pad layout depending on the context. For example, when you start debugging an application, Visual Studio for Mac automatically switches to the Debug layout and then goes back to the previous layout, usually Code or Design, once you’re finished. However, it is common to rearrange the IDE layout based on the developer’s preferences or on the type of the solution with which the developer is working. For example, when working with Xamarin solutions, you might need specific pads that you don’t use with ASP.NET Core solutions and vice versa, or you might want to organize pads in a way that’s similar to Visual Studio on Windows.

Instead of manually rearranging pads every time, Visual Studio for Mac lets you save your own layouts with the Save Current Layout command in the View menu. This command asks you to enter the name of the new layout, then stores your current layout and adds its name in the View menu, below the names of the built-in layouts. This way you can quickly switch to your favorite layout with a single click. Once you select a custom layout, the View menu also enables the Delete Current Layout command for removing custom layout from the list. As you might expect, this command is disabled for built-in layouts.

Extending Visual Studio

Visual Studio for Mac is an environment built upon modules that expose a number of extensibility points. This means that other modules can be installed and that the IDE can be extended with third-party packages, referred to as extensions. This allows you to add new productivity features and tools to Visual Studio. You install, update and manage extensions in the Extension Manager dialog, which you enable with the Extensions command in the Visual Studio menu. In the Installed tab (see Figure 4), you can see the list of installed extensions grouped by category.


Figure 4 Displaying the List of Installed Extensions

You can select an extension and see detailed information in the window to the right. You also have the option to disable or uninstall an extension.

Some built-in, integrated tools in Visual Studio for Mac are extensions themselves. For these extensions, the Uninstall button is generally unavailable and the Disable button is only available if disabling the extension doesn’t affect the core features of the IDE. Extensions that are part of the core of Visual Studio for Mac, such as the ChangeLog Add-in in Figure 4, are presented in gray in the Extension Manager.

If you switch to the Gallery tab, you’ll see a list of available extensions from an online gallery, as shown in Figure 5. In the Repository combo box you can choose to see only stable extensions, only beta release extensions or all extensions.


Figure 5 Discovering and Installing Extensions from the Online Gallery

When you’ve found an extension of interest, click its name on the left, review the details on the right and then click Install. Visual Studio will ask for confirmation and then install the selected extension. Depending on the extension, you’ll find the IDE updated with new project templates, new menu commands, new pads or new context commands. The description you get in the Extension Manager tool should clarify how you access the new tools.

It’s worth mentioning that you can also develop your own extensions for Visual Studio for Mac using an extension called Add-in Maker, which you can find under the Extension Development group of the Gallery tab in the Extension Manager. This package will install all the tools you need to build extensions, including specific project templates that appear in the Miscellaneous node of the New Project dialog.

Add-in Maker is an open source project (bit.ly/2zKxWIa) that’s already emerged as the tool of choice for building extensions for IDEs such as Xamarin Studio and MonoDevelop. The official Microsoft documentation provides an interesting page that explains the extensibility points in Visual Studio for Mac (bit.ly/2yIpvNn) and a walk-through that provides an example based on a simplified extension that makes it possible to insert the current date in the active editor through a command added to the Edit menu (bit.ly/2yJ1V4E). If you plan to build extensions for Visual Studio for Mac with Add-in Maker, I strongly recommend you read these documents before you get started.

Wrapping Up

Productivity often depends on how comfortable the developer feels with an IDE. Visual Studio for Mac puts productivity at its core, enabling developers to customize the most important areas of the workspace. As a developer, you can localize the UI by selecting from a list of available cultures. You can change the visual theme to get the colors you like most, and you can customize fonts according to your preferences. You can also rearrange the pads layout and save each layout for later use, so that you won’t need to manually rearrange pads every time.

Of course, Visual Studio for Mac can be enhanced with custom commands to invoke external tools, which is a very common need. And it can be extended with third-party packages that make it easier to add new features and tools. Combined, these capabilities enable developers to feel more comfortable with the IDE and to customize it in a way to maximize productivity.

Alessandro Del Solehas been a Microsoft MVP since 2008. Awarded MVP of the Year five times, he has authored many books, eBooks, instructional videos and articles about .NET development with Visual Studio. Del Sole works as a senior .NET Developer, focusing on .NET and mobile app development, training and consulting. He has recently authored an upcoming book called “Beginning Visual Studio for Mac” (bit.ly/2hsRxYx). You can follow him on Twitter: @progalex.

Thanks to the following Microsoft technical expert for reviewing this article: Jordan Matthiesen