May 10, 2017 Visual Studio for Mac is a new IDE experience built specifically for the Mac, not a direct port of Visual Studio on Windows. This means that the UI is built to feel like you would expect working with a macOS targeted application, from primitive elements like buttons and text to the layout of the application and icons.
-->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 ease 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 uses the same foundation as Visual Studio on Windows. 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.
Getting started
When you start Visual Studio 2019 for Mac, new users will see a sign-in window. Sign-in with your Microsoft account to activate a paid license (if you have one) or link to Azure subscriptions. You can press I'll do this later and sign in later via the Visual Studio > Sign in menu item:
You'll then be given the option to customize the IDE by selecting your preferred keyboard shortcuts: Visual Studio for Mac, Visual Studio, Visual Studio Code, or Xcode:
Signed-in users will see the new start window, which shows a list of recent projects, and buttons to open an existing project or create a new one:
Solutions and projects
The following image shows 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:
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:
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:
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:
Information on using a NuGet package in an application can be found in the Including a NuGet project in your project article.
Source Editor
Regardless of if you're writing in C#, XAML, or Javascript, the code editor the shares the same core components with Visual Studio Windows, with an entirely native user interface.
This brings some of the following features:
- Native macOS (Cocoa-based) user interface (tooltips, editor surface, margin adornments, text rendering, IntelliSense)
- IntelliSense type filtering and 'show import items'
- Support for native text inputs
- RTL/BiDi language support
- Roslyn 3
- Multi-caret support
- Word wrap
- Updated IntelliSense UI
- Improved find/replace
- Snippet support
- Format selection
- Inline lightbulbs
For more information on using the Source Editor in Visual Studio for Mac, see the Source Editor documentation.
To keep tabs visible at all times, you can take advantage of pinning them. This ensures that every time you launch a project, the tab you need will always appear. To pin a tab, hover over the tab and click the pin icon:
Refactoring
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.
Debugging
Visual Studio for Mac has debuggers that support .NET Core, .NET Framework, Unity, and Xamarin projects. Visual Studio for Mac uses the .NET Core debugger and the Mono Soft Debugger, 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, coordinates, and bézier curves.
For more information on the debugger's data visualizations, visit the Data Visualizations article.
![Microsoft visual studio machine learning Microsoft visual studio machine learning](/uploads/1/2/5/6/125643570/836107051.png)
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:
Files with uncommitted changes have an annotation on their icons in the Solution Pane, as illustrated in the following image:
For more information on using version control in Visual Studio, see the Version Control article.
Next steps
Related Video
See also
-->|Developer Community |System Requirements |Compatibility |Distributable Code |Documentation |Blogs |Servicing |
Visual Studio 2019 for Mac contains many new and exciting features and IDE productivity enhancements tosupport cross-platform desktop app development, cross-platform mobile development, Azure development, web and cloud development,and more. To try out Visual Studio 2019 for Mac, see the Downloads page.For more information about everything that's new in this release, see theVisual Studio 2019 for Mac release notes.
System Requirements
For information on the system requirements for installing and running the Visual Studio 2019 for Mac family of products, see the Visual Studio 2019 for Mac System Requirement page.
Platform Targeting
Visual Studio for Mac provides cutting-edge tools and technologies to create apps that take advantage of thelatest platform capabilities, for macOS, Android, iOS, tvOS, and watchOS, as well as web sites, services, and games.
Feature Summary
- Mobile app development
- Share code between Android and iOS with Xamarin
- Native iOS and Android UI designers
- Shared UI with Xamarin.Forms
- Protect Android code with Embedded Assemblies
- Visualize and debug apps with Xamarin Inspector *
- Profile your apps with Xamarin Profiler *
- Cross-platform 'desktop' development
- macOS app development
- .NET Core development
- Web application development
- ASP.NET Core development
- HTML, CSS, JSON web editor tooling
- Cloud development
- ASP.NET Core WebAPI development
- Publish ASP.NET Core projects to Azure directly from the IDE
- Game development
- Unity game development
* Requires Visual Studio Enterprise for Mac
Visual Studio for Mac does not support Windows client projects like Windows Forms, WPF, or UWP.
Visual Studio 2019 for Mac Support for Android Development
Visual Studio 2019 for Mac enables you to build native Android apps using Xamarin and C#. You can also use Unity to build Android games.
You can use the Android SDK Manager to easily obtain the Android SDK and Android API levels you'd like for development.You can download additional API levels separately using the Android SDK Manager.
For more information, see Android development with Visual Studio for Mac.
Visual Studio 2019 for Mac Support for iOS Development
Visual Studio 2019 for Mac enables you to build native iOS apps using Xamarin and C#. You can also use Unity to build iOS games.
For more information, see iOS development with Visual Studio for Mac.
Visual Studio 2019 for Mac Support for macOS Development
Visual Studio 2019 for Mac enables you to build console applications and Cocoa (desktop) applications for macOS.
![Microsoft Microsoft](/uploads/1/2/5/6/125643570/199343493.jpg)
For more information, see macOS development with Visual Studio for Mac.
Visual Studio 2019 for Mac Support for ASP.NET Core Development
ASP.NET Core is an open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps and services, IoT apps, and mobile backends.
ASP.NET Core apps can be developed and debugged using Visual Studio 2019 for Mac, including the server-side code as well as client side HTML, CSS, and Javascript. They can be hosted on Windows, macOS, or Linux.
For more information, see .NET Core and to get started follow this hands-on lab.
Visual Studio 2019 for Mac Support for Unity Game Development
Microsoft Visual Studio Mac Os
Visual Studio for Mac Tools for Unity is a free Visual Studio extension that turns Visual Studio for Mac into a powerful tool for developing cross-platform games and apps with the Unity platform.
For more information, see Visual Studio Tools for Unity and to get started follow this hands-on lab.
Other Platforms and Technologies
Visual Studio 2019 for Mac also supports the following platforms and technologies. For more information, seehttps://visualstudio.microsoft.com/vs/mac/.
- .NET Core 2.2. For more information see https://dot.net/core
- F#
- Web Development HTML5/CSS3 and JavaScript
Feedback and Suggestions
Visual Studio Code Community
Use the Provide a Suggestion entry in Visual Studio for Mac's help menu or visit Visual Studio for Mac's suggestion page on Developer Community directly. From here you can add new requests or vote on existing ideas. To report a problem, follow these instructions.