Visual Studio 2017 for Mac Preview tour


Visual Studio 2019 for Mac is now available as a preview for testing.

Visual Studio for Mac is a .NET integrated development environment on the Mac that can be used to edit, debug, and build code and then publish an app. In addition to expected features, such as a standard editor and debugger, Visual Studio for Mac includes compilers, code completion tools, graphical designers, and source control to ese the software development process.

Visual Studio for Mac supports many of the same file types as its Windows counterpart, such as .csproj, .fsproj, or .sln files, and supports features such as EditorConfig, meaning that you can use the IDE that works best for you. Creating, opening, and developing an app will be a familiar experience for anyone who has previously used Visual Studio on Windows. In addition, Visual Studio for Mac employs many of the powerful tools that make its Windows counterpart such a powerful IDE. The Roslyn Compiler Platform is used for refactoring and IntelliSense. Its project system and build engine use MSBuild, and its source editor supports TextMate bundles. It uses the same debugger engines for Xamarin and .NET Core apps, and the same designers for Xamarin.iOS and Xamarin.Android.

What can I do in Visual Studio for Mac

Visual Studio for Mac supports the following types of development:

  • ASP.NET Core web applications with C#, F#, and support for Razor pages, JavaScript and TypeScript
  • .NET Core console applications with C# or F#
  • Cross-platform Unity games and applications with C#
  • Android, iOS, tvOS, and watchOS applications in Xamarin with C# or F# and XAML
  • Cocoa desktop apps in C# or F#

This article explores various sections of Visual Studio for Mac, providing a look at some of the features that make it a powerful tool for creating these applications.

IDE Tour

Visual Studio for Mac is organized into several sections for managing application files and settings, creating application code, and debugging.

Welcome Screen

When launched, Visual Studio for Mac displays a Welcome Screen:

Welcome Screen

The Welcome Screen contains the following sections:

  • Toolbar - Provides quick access to the search bar. When a solution is loaded, the toolbar is used to set app configurations, for debugging, and for displaying errors.
  • Getting Started - Provides quick access to useful topics for developers getting started with Visual Studio for Mac.
  • Recent Solutions - Provides quick access to recently opened solutions, as well as convenient buttons to open or create projects.
  • Developer News - A news feed that keeps you up-to-date on the latest Microsoft Developer information.

Solutions and Projects

The following image shows Visual Studio for Mac with an application loaded:

Visual Studio for Mac with an application loaded

The following sections provide an overview of the major areas in Visual Studio for Mac.

Solution Pad

The Solution Pad organizes the project(s) in a solution:

Projects organized in Solution Pad

This is where files for the source code, resources, user interface, and dependencies are organized into platform-specific Projects.

For more information on using Projects and Solutions in Visual Studio for Mac, see the Projects and Solutions article.

Assembly References

Assembly references for each project are available under the References folder:

References folder in solution pad

Additional references are added using the Edit References dialog, which is displayed by double-clicking on the References folder, or by selecting Edit References on its context menu actions:

Edit References Dialog

For more information on using References in Visual Studio for Mac, see the Managing References in a Project article.

Dependencies / Packages

All external dependencies used in your app are stored in the Dependencies or Packages folder, depending on whether you are in a .Net Core or Xamarin.iOS/Xamarin.Android project. These are usually provided in the form of a NuGet.

NuGet is the most popular package manager for .NET development. With Visual Studio's NuGet support, you can easily search for and add packages to your project to application.

To add a dependency to your application, right-click on the Dependencies / Packages folder, and select Add Packages:

Add a NuGet package

Information on using a NuGet package in an application can be found in the Including a NuGet project in your project article.


Visual Studio for Mac provides two useful ways to refactor your code: Context Actions, and Source Analysis. You can read more about them in the Refactoring article.


Visual Studio for Mac has a native debugger allowing debugging support for Xamarin.iOS, Xamarin.Mac, and Xamarin.Android applications. Visual Studio for Mac uses the Mono Soft Debugger, which is implemented into the Mono runtime, allowing the IDE to debug managed code across all platforms. For additional information on debugging, visit the Debugging article.

The debugger contains rich visualizers for special types such as strings, colors, URLs, as well as sizes, co-ordinates, and bézier curves.

For more information on the debugger's data visualizations, visit the Data Visualizations article.

Version Control

Visual Studio for Mac integrates with Git and Subversion source control systems. Projects under source control are denoted with the branch listed next to the Solution name:

Branch name to indicate project under source control

Files with uncommitted changes have an annotation on their icons in the Solution Pane, as illustrated in the following image:

Uncommitted files in solution pad

For more information on using version control in Visual Studio, see the Version Control article.

See also