Intellisense, refactoring, and syntax highlighting for your favorite language.
+ image: + src: https://docs.microsoft.com/media/common/i_code-edit.svg + title: Write code + - href: ~/compiling-and-building.md + html:Configure your compiler and build your app.
+ image: + src: https://docs.microsoft.com/media/common/i_build.svg + title: Compile and build + - href: ~/debugging.md + html:Run your app under the debugger to investigate problems.
+ image: + src: https://docs.microsoft.com/media/common/i_debug.svg + title: Debug + - href: ~/version-control.md + html:Access Azure DevOps, Git, or Subversion source repositories.
+ image: + src: https://docs.microsoft.com/media/common/i_pull-request.svg + title: Version Control \ No newline at end of file diff --git a/mac/2017/install-behind-a-firewall-or-proxy-server.md b/mac/2017/install-behind-a-firewall-or-proxy-server.md new file mode 100644 index 00000000000..91b238ef4d6 --- /dev/null +++ b/mac/2017/install-behind-a-firewall-or-proxy-server.md @@ -0,0 +1,88 @@ +--- +title: "Install and use Visual Studio for Mac behind a firewall or proxy server" +description: "This document provides a list of hosts that must be whitelisted in your firewall to allow Visual Studio for Mac (and its workloads, including Xamarin) to work in a corporate environment." +ms.topic: troubleshooting +ms.assetid: 79C0F1A3-0C13-4E55-A820-1138A4082B77 +author: asb3993 +ms.author: amburns +ms.date: 10/23/2018 +--- + +# Install and use Visual Studio for Mac behind a firewall or proxy server + +If you or your organization uses security measures such as a firewall or a proxy server, then there are domain URLs that you might want to "whitelist" and ports and protocols that you might want to open so that you have the best experience when you install and use Visual Studio for Mac and Azure Services. + +- [**Install Visual Studio for Mac**](#install-visual-studio-for-mac): These tables include the URLs to whitelist so that you have access to all features and workloads of Visual Studio for Mac. + +- [**Use Visual Studio for Mac**](#use-visual-studio-for-mac): These tables include URLs to whitelist so that you have access to all of the services and features that you want. + +## Install Visual Studio for Mac + +Because the Visual Studio for Mac Installer downloads from a various domains and download servers, here are the domains and URLs that you may want to add as trusted in your configurations. + +### Microsoft domains + +| Domain| Purpose | +| ----------------------------------- |---------------------------| +| *.live.com| Credential Management | +| app.vssps.visualstudio.com| Installer Metadata| +| vortex.data.microsoft.com | Crash and Error Reporting | +| az667904.vo.msecnd.net| Crash and Error Reporting | +| xamarin.com | Installer Metadata| +| xampubdl.blob.core.windows.net| Installer Packages| +| download.visualstudio.microsoft.com | Installer Packages| +| xamarin.azureedge.net | Installer Packages| +| developer.xamarin.com | Installer Packages| +| dc.services.visualstudio.com| Crash Reporting | + +### Third party domains + +| Domain| Purpose | +| --------------------------|-------------------------| +| dl.google.com | Android SDK | +| download.oracle.com | Java SDK| +| api.apple-cloudkit.com| Apple Security Services | + +## Use Visual Studio for Mac + +To make sure that you have access to every feature that you need in Visual Studio for Mac while behind a proxy or firewall, we recommend whitelisting the following domains and ports. + +### General + +| Domain | Port(s)|Purpose| +| ----------------------|------------------|------------------| +| go.microsoft.com | 80/443|Microsoft URL Resolution | +| vsstartpage.blob.core.windows.net| 80/443| Start Page Data| +| software.xamarin.com | 80/443|Updater Service| +| addins.monodevelop.com | 80/443| Extension Services | +| visualstudio-devdiv-c2s.msedge.net | 80/443| Experimental Feature and Notifications | +| targetednotifications.azurewebsites.net| 80/443| Used to filter a global list of notifications to a list that is applicable only to specific types of machines/usage scenarios| + +### Identity + +| Domain | Port(s)|Purpose| +| ----------------------|------------------|------------------| +| login.microsoftonline.com | 80/443| Identity Provider| +| secure.aadcdn.microsoftonline-p.com | 80/443|Identity Provider| +| dc.services.visualstudio.com| 80/443|Crash Reporting| +| management.azure.com|80/443| Azure Services API | + +### NuGet + +| Domain | Port(s)|Purpose| +| ----------------------|------------------|------------------| +| api.nuget.org | 80/443|NuGet API| +| secure.aadcdn.microsoftonline-p.com |80/443| Identity Provider| + +### Android projects + +| Domain| Purpose| +| ------------------------------------|------------------------------------| +| time.android.com| Time Server for Android Emulator | +| connectivitycheck.gstatic.com | Connectivity for Android Emulator| +| cloudconfig.googleapis.com| APIs for Android Emulator| + +## See also + +- [Install and use Visual Studio 2017 and Azure Services behind a firewall or proxy server](/visualstudio/install/install-and-use-visual-studio-behind-a-firewall-or-proxy-server) +- [Troubleshoot similar issues on Windows](/visualstudio/install/troubleshooting-network-related-errors-in-visual-studio) diff --git a/mac/2017/install-preview.md b/mac/2017/install-preview.md new file mode 100644 index 00000000000..7e8fccfe68e --- /dev/null +++ b/mac/2017/install-preview.md @@ -0,0 +1,31 @@ +--- +title: "Install a preview release" +description: "Instructions for updating Visual Studio for Mac and accessing preview releases, including the Visual Studio 2019 for Mac previews." +author: conceptdev +ms.author: crdun +ms.date: 11/03/2018 +ms.topic: article +ms.technology: vs-ide-install +ms.assetid: 0E1EF257-9DE4-4653-9DF4-805CE007A1A1 +--- +# Install a preview release + +> [!NOTE] +> Visual Studio 2019 for Mac preview is [now available for installation](/visualstudio/mac/installation/?view=vsmac-2019) and testing. + +## Install an update for Visual Studio for Mac + +Before a new version of Visual Studio for Mac is officially released, it's available as a preview. The preview release gives you a chance to try out new features and get the latest bug fixes before they are fully incorporated into the product. + +Preview releases to Visual Studio for Mac are distributed as an update, rather than through a separate download. Visual Studio for Mac has three updater channels, as described in the [update](update.md) article: Stable, Beta, and Alpha. + +Most preview releases will be available through both the **Beta** and **Alpha** channels, but always check the [Preview Release Notes](/visualstudio/releasenotes/vs2017-mac-preview-relnotes) for the most accurate information. + +To install the preview of Visual Studio for Mac, use the following steps: + +1. Go to **Visual Studio > Check for Updates**. +2. In the Update channel combo box, select **Beta**. +3. Select the **Switch channel** button to switch to the selected channel and start downloading any new updates. +4. Select the **Restart and Install Updates** button to start installing the updates. + +For more information on updating in Visual Studio for Mac, see the [update](update.md) article. diff --git a/mac/2017/javascript.md b/mac/2017/javascript.md new file mode 100644 index 00000000000..d489c9e3ee1 --- /dev/null +++ b/mac/2017/javascript.md @@ -0,0 +1,44 @@ +--- +title: "JavaScript and TypeScript" +description: "Information on the support for JavaScript in Visual Studio for Mac" +author: conceptdev +ms.author: crdun +ms.date: 05/03/2018 +ms.topic: article +ms.technology: vs-ide-general +ms.assetid: 61432695-5B12-4257-B250-48D37EED106D +--- + +# JavaScript and TypeScript support + +Visual Studio for Mac provides support for JavaScript and TypeScript through syntax highlighting, code formatting, and IntelliSense. + +![typescript editor support](https://msdnshared.blob.core.windows.net/media/2018/03/TypeScript-editor.gif) + +For more information on writing JavaScript, see to the [Writing JavaScript Code](/scripting/javascript/writing-javascript-code) guides. + +## Adding a JavaScript file + +JavaScript files are most often added to ASP.NET Core projects through the **New File** dialog. To add a javascript file, right-click on your project and go to **Add > New File**: + +![adding new files to the project](media/javascript-image1.png) + +From the **New File** dialog, select **Web > Empty JS file** or **Web > TypeScript file**. Give it a name and then choose **New**: + +![creating a new typescript file from the template](media/javascript-image2.png) + +## IntelliSense + +Visual Studio for Mac uses the [JavaScript Language Service](/visualstudio/ide/javascript-intellisense) to provide IntelliSense, allowing you to have intelligent code completion, parameter info, and member lists when writing code. + +JavaScript intellisense in Visual Studio for Mac can be based on type inference, JSDoc, or TypeScript declaration. + +- **Type inference** – The type of an object is figured out by the surrounding code context. For more information, see Visual Studio's section on [IntelliSense based on type inference](/visualstudio/ide/javascript-intellisense#intellisense-based-on-type-inference). +- **JSDoc** – There are times when type inference doesn't provide the correct type information. In these cases, the type information can be provided explicitly by [JSDoc](http://usejsdoc.org/about-getting-started.html) annotations. For more information, see Visual Studio's section on [IntelliSense based on JSDoc](/visualstudio/ide/javascript-intellisense#intellisense-based-on-jsdoc) +- **TypeScript declaration files** – `.d.ts` files are used to provide values for JavaScript IntelliSense. Types declared in that file can be used as types on JSDoc comments. For more information, see Visual Studio's section on [IntelliSense based on TypeScript declaration files](/visualstudio/ide/javascript-intellisense#intellisense-based-on-typescript-declaration-files) + + ![adding a typescript definition file](media/javascript-image3.png) + +## See also + +- [JavaScript IntelliSense (Visual Studio on Windows)](/visualstudio/ide/javascript-intellisense) diff --git a/mac/2017/keyboard-shortcuts.md b/mac/2017/keyboard-shortcuts.md new file mode 100644 index 00000000000..1b89619fc94 --- /dev/null +++ b/mac/2017/keyboard-shortcuts.md @@ -0,0 +1,269 @@ +--- +title: "Default Keyboard Shortcuts in Visual Studio for Mac" +description: "This article lists the default keyboard shortcuts in Visual Studio for Mac" +ms.date: 03/14/2019 +author: bytesguy +ms.author: adhartle +ms.assetid: 48E06A61-7294-4EC8-A09D-1763C32AD910 +--- +# Default keyboard shortcuts in Visual Studio for Mac + +For information about keyboard accessibility, see [How to: Use Keyboard Navigation](accessibility.md#how-to-use-keyboard-navigation). + +You can access a variety of commands in Visual Studio for Mac by using the appropriate keyboard shortcut. This document lists the default shortcuts for the **Visual Studio** key binding scheme. For more information about how to change the key binding scheme, see [Customizing the IDE](customizing-the-ide.md#key-bindings). You can also customize shortcuts for a command using the **Visual Studio for Mac** > **Preferences** menu item and choosing **Environment** > **Key Bindings** in the **Preferences** window. + +> [!TIP] +> The keyboard shortcuts displayed in this document, and the key binding preferences in Visual Studio for Mac, are presented using the symbols commonly used in macOS. If you are unsure of a symbol, review the [macOS key symbols loopkup table](#macos-key-symbols-lookup). + +## Code Navigation + +|Commands|Keyboard shortcuts| +|-|-| +|Find References|**⇧⌘R**, **F12**| +|Go to Declaration|**⌘D**, **F12**| +|Next Error|**⌥⇧⇟**, **⇧⌘F12**| +|Next Issue in File|**⌥⇟**| +|Previous Error|**⌥⇧⇞**| +|Previous Issue in File|**⌥⇞**| + +## Debug + +|Commands|Keyboard shortcuts| +|-|-| +|Enable or Disable Breakpoint|**⌥⌘/**, **⌘F9**| +|Pause|**⌥⌘P**, **⌥⌘L5**| +|Remove All Breakpoints|**⇧⌘F9**| +|Run To Cursor|**⌘F10**| +|Set Next Statement|**⇧⌘F10**| +|Show Next Statement|**⌥\***| +|Step Into|**⇧⌘I**, **⌘F11**| +|Step Out|**⇧⌘U**, **⇧⌘F11**| +|Step Over|**⇧⌘O**, **F10**| +|Toggle Breakpoint|**⌘\\**, **F9**| +|View Breakpoints|**⌥⌘B**| + +## Designer + +|Commands|Keyboard shortcuts| +|-|-| +|Switch between related files|**⌃⌘↑**| + +## Edit + +|Commands|Keyboard shortcuts| +|-|-| +|Constraint Editing Mode|**⌘E**| +|Copy|**⌘C**| +|Cut|**⌘X**| +|Delete|**⌘⌫**| +|Format Document|**⌃I**| +|Indent Selection|**⌘]**| +|Paste|**⌘V**| +|Preferences|**⌘,**| +|Redo|**⇧⌘Z**| +|Rename|**⌘R**, **F2**| +|Select All|**⌘A**| +|Show Code Generation|**⌘I**| +|Toggle All Folds|**⌥⇧⌘↑**| +|Toggle Definitions|**⌥⇧⌘↓**| +|Toggle Fold|**⌥⇧⌘←**| +|Toggle Line Comment(s)|**⌘/**| +|Undo|**⌘Z**| +|Unindent Selection|**⌘[**| +|Update Frame from Constraints|**⇧⌘R**| + +## F# Integration + +|Commands|Keyboard shortcuts| +|-|-| +|Clear F# Interactive|**⌃⌥C**| +|F# Interactive|**⌃⌥F**| +|Restart F# Interactive|**⌃⌥R**| +|Send line to F# Interactive|**⌃⌥L**| +|Send references to F# Interactive|**⌃⌥P**| +|Send selection to F# Interactive|**⌃⏎**| + +## File + +|Commands|Keyboard shortcuts| +|-|-| +|Close All|**⇧⌘W**| +|Close File|**⌘W**| +|Close Workspace|**⌥⌘W**| +|New File|**⌘N**| +|New Solution|**⇧⌘N**| +|Open|**⌘O**| +|Print|**⌘P**| +|Quit|**⌘Q**| +|Revert|**⌘U**| +|Save|**⌘S**| +|Save All|**⇧⌘S**| + +## Help + +|Commands|Keyboard shortcuts| +|-|-| +|API Documentation|**⌥⌘?**| +|Unity API Reference|**⌘'**| + +## Other + +|Commands|Keyboard shortcuts| +|-|-| +|Implement Unity Messages|**⇧⌘M**| +|Inspect|**⌥⌘I**| + +## Project + +|Commands|Keyboard shortcuts| +|-|-| +|Add Files|**⌥⌘A**| +|Build|**⌘K**, **⇧F6**| +|Build All|**⌘B**, **F6**| +|Clean|**⇧⌘K**| +|Rebuild|**⌃⌘K**| +|Rebuild All|**⌃⌘B**| +|Start Debugging|**⌘⏎**, **F5**| +|Start Without Debugging|**⌥⌘⏎**, **⌃F5**| +|Stop|**⇧⌘⏎**, **⇧F5**| + +## Refactoring + +|Commands|Keyboard shortcuts| +|-|-| +|Import Symbol|**⌃⌥␣**| +|Quick Fix|**⌥⏎**| + +## Search + +|Commands|Keyboard shortcuts| +|-|-| +|Command|**⇧⌘P**| +|Find in Files|**⇧⌘F**| +|Find Next|**⌘G**, **F3**| +|Find Next Like Selection|**⌘E**, **⌘F3**| +|Find Previous|**⇧⌘G**, **⇧F3**| +|Find Previous Like Selection|**⇧⌘F3**| +|Find|**⌘F**| +|Go to File|**⇧⌘D**| +|Go to Line|**⌘L**| +|Go to Type|**⇧⌘T**| +|Navigate To|**⌘.**| +|Replace in Files|**⌥⇧⌘F**| +|Replace|**⌥⌘F**| + +## Text Editor + +|Commands|Keyboard shortcuts| +|-|-| +|Complete Word|**⌃␣**| +|Delete left character|**⌃H**| +|Delete next subword|**⌃⌦**| +|Delete next word|**⌥⌦**| +|Delete previous subword|**⌃⌫**| +|Delete previous word|**⌥⌫**| +|Delete right character|**⌃D**| +|Delete to end of line|**⌃K**| +|Dynamic abbrev|**⌃/**| +|Expand selection|**⌥⇧↓**| +|Expand selection|**⌥⇧↑**| +|Expand selection to document end|**⇧⌘↓**, **⇧⌘↘**| +|Expand selection to document start|**⇧⌘↑**, **⇧⌘↖**| +|Expand selection to line end|**⇧↘**, **⇧⌘→**| +|Expand selection to line start|**⇧↖**, **⇧⌘←**| +|Expand selection to next line|**⇧↓**| +|Expand selection to next word|**⌥⇧→**| +|Expand selection to page down|**⇧⇟**| +|Expand selection to page up|**⇧⇞**| +|Expand selection to previous line|**⇧↑**| +|Expand selection to previous word|**⌥⇧←**| +|Expand selection to the left|**⇧←**| +|Expand selection to the right|**⇧→**| +|Find caret|**⌘\|**| +|Go left one character|**⌃B**| +|Go right one character|**⌃F**| +|Go to beginning of document|**⌘↑**| +|Go to beginning of line|**⌘←**, **⌃A**| +|Go to end of document|**⌘↓**| +|Go to end of line|**⌘→**, **⌃E**| +|Go to Matching Brace|**⇧⌘\\**| +|Go to next line|**⌃N**| +|Go to next word|**⌥→**| +|Go to previous line|**⌃P**| +|Go to previous word|**⌥←**| +|Insert line break after the caret|**⌃O**| +|Move caret to EOL and insert new line|**⇧⏎**| +|Move the line or highlighted selection down|**⌥↓**| +|Move the line or highlighted selection up|**⌥↑**| +|Move to next usage|**⌃⌥⌘↓**| +|Move to prev usage|**⌃⌥⌘↑**| +|Show Parameter List|**⌃⇧␣**| +|Show quick info|**⌘F1**| +|Show Scopes|**⌥⇧⌘P**| +|Transpose characters|**⌃T**| +|Wrap with <div>|**⌥⇧W**| + +## View + +|Commands|Keyboard shortcuts| +|-|-| +|Center and Focus Document|**⌃L**| +|Focus Document|**F7**| +|Full Screen|**⌃⌘F**| +|Move to Next Notebook|**⌥⌘→**| +|Move to Previous Notebook|**⌥⌘←**| +|Navigate Back|**⌃⌘←**| +|Navigate Forward|**⌃⌘→**| +|Normal Size|**⌘0**| +|One Editor Column|**⌥⌘1**| +|Show Next|**⌥⌘↓**, **F8**| +|Show Previous|**⌥⌘↑**, **⇧F8**| +|Two Editor Columns|**⌥⌘2**| +|Zoom In|**⌘+**, **⌘=**| +|Zoom Out|**⌘-**, **⌘_**| + +## Window + +|Commands|Keyboard shortcuts| +|-|-| +|Activate 1|**⌘1**| +|Activate 2|**⌘2**| +|Activate 3|**⌘3**| +|Activate 4|**⌘4**| +|Activate 5|**⌘5**| +|Activate 6|**⌘6**| +|Activate 7|**⌘7**| +|Activate 8|**⌘8**| +|Activate 9|**⌘9**| +|Hide Others|**⌥⌘H**| +|Hide Visual Studio|**⌘H**| +|Minimize|**⌘M**| +|Next Document|**⌘}**, **⌘F6**| +|Previous Document|**⌘{**, **⇧⌘F6**| +|Switch to next document|**⌃⇥**| +|Switch to next pad|**⌃⌥⇥**| +|Switch to previous document|**⌃⇧⇥**| +|Switch to previous pad|**⌃⌥⇧⇥**| + +## macOS key symbols lookup + +|Symbol|Key| +|-|-| +|⌘|**Command** (**cmd**)| +|⌥|**Option** (**alt**)| +|⇧|**Shift**| +|⌃|**Control** (**ctrl**) +|⇞|**Page Up** (**Pg Up**)| +|⇟|**Page Down** (**Pg Dn**)| +|⌫|**Delete** (**Backspace**)| +|⌦|**Forward Delete**| +|⏎|**Return**| +|←→↑↓|**Arrow Keys**| +|↖|**Home**| +|↘|**End**| +|␣|**Space Bar**| +|⇥|**Tab**| + +## See also + +- [Keyboard shortcuts in Visual Studio (on Windows)](/visualstudio/ide/tips-and-tricks-for-visual-studio) diff --git a/mac/2017/managing-app-resources.md b/mac/2017/managing-app-resources.md new file mode 100644 index 00000000000..0eaf29117a1 --- /dev/null +++ b/mac/2017/managing-app-resources.md @@ -0,0 +1,37 @@ +--- +title: "Managing app Resources" +description: "This article links to various guides that describe how to manage app resources for a variety of platforms in Visual Studio for Mac" +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: 61EAAB8F-3C32-4574-924F-CFC616604089 +--- + +# Managing app resources + +App resource files, such as images, text files, and audio files, are necessary to your application but aren't compiled with the application. Each platform supported by Visual Studio for Mac handles these resources in different ways, as explained in the following guides: + +## Xamarin.Forms + +Xamarin.Forms code runs on multiple platforms - each of which has its own filesystem and each file system dictates how to read and write to files. In Xamarin.Forms you can manage app resources by using the native file APIs on each platform, or by adding files as embedded resources. + +* [Working with Images](https://developer.xamarin.com/guides/xamarin-forms/user-interface/images/) +* [Working with Files]( https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/files/) + +## Xamarin.iOS + +* [Working with Resources](https://developer.xamarin.com/guides/ios/application_fundamentals/working_with_resources/) +* [Working with Images](https://developer.xamarin.com/guides/ios/application_fundamentals/working_with_images/) +* [Working with the File System](https://developer.xamarin.com/guides/ios/application_fundamentals/working_with_the_file_system/) + +## Xamarin.Android + +* [Android Resources](https://developer.xamarin.com/guides/android/application_fundamentals/resources_in_android/) + +## Xamarin.Mac + +* [Working with Images](https://developer.xamarin.com/guides/mac/application_fundamentals/working-with-images/) + +## See also + +- [Manage application resources (Visual Studio on Windows)](/visualstudio/ide/managing-application-resources-dotnet) \ No newline at end of file diff --git a/mac/2017/managing-references-in-a-project.md b/mac/2017/managing-references-in-a-project.md new file mode 100644 index 00000000000..997571ec19e --- /dev/null +++ b/mac/2017/managing-references-in-a-project.md @@ -0,0 +1,44 @@ +--- +title: "Managing References in a Project" +description: "This article describes how to manage references in a project in Visual Studio for Mac" +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: 4AD51385-B0A8-4BA7-B2D4-BF2BD167A142 +--- + +# Managing References in a Project + +Visual Studio for Mac provides two means of adding additional references to your project: + +![Project References](media/projects-and-solutions-image10.png) + +These are: + +* References +* NuGets (Added via the Packages folder) + +In addition, Web References and native references can also be added to any project. + +## Assembly references + +Each framework within Xamarin ships with over a dozen assemblies. Not all of these assembly packages are referenced in your project by default. + +To edit packages that are referenced in your project, use the **Edit References** dialog, which can be displayed by double-clicking on the References folder, or by selecting **Edit References** on its context menu actions: + +![Assembly References dialog](media/projects-and-solutions-image11.png) + +For information on the assemblies available for each Xamarin framework, refer to the [Available Assemblies](https://developer.xamarin.com/guides/cross-platform/advanced/available-assemblies/) guide. + +## NuGet + +NuGet is the most popular package manager for .NET development. Visual Studio for Mac's NuGet support allows you to search for packages to add to your project. + +To do this, right-click on the **Package** folder in the Solution Pad, and select Add Packages. + +More information on using a NuGet Package is provided in the [Including a NuGet package in your Project](nuget-walkthrough.md) walkthrough. + +## See also + +- [Manage references (Visual Studio on Windows)](/visualstudio/ide/managing-references-in-a-project) +- [Adding references using NuGet versus an extension SDK (Visual Studio on Windows)](/visualstudio/ide/adding-references-using-nuget-versus-an-extension-sdk) \ No newline at end of file diff --git a/mac/2017/managing-solutions-and-project-properties.md b/mac/2017/managing-solutions-and-project-properties.md new file mode 100644 index 00000000000..7270b3b19af --- /dev/null +++ b/mac/2017/managing-solutions-and-project-properties.md @@ -0,0 +1,45 @@ +--- +title: "Managing Project and Solution Properties" +description: "This articles describes how to manage the properties of projects and solutions in Visual Studio for Mac" +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: 75247EB8-323A-4AFD-A451-6703A03D5D1F +--- +# Managing Project and Solution Properties + +## Project options + +Project options are specific to each project and affect how the project is written, built, and run. This contrasts with Visual Studio for Mac Preferences (which sets user-specific options) and Solution options (which set options for the entire solution). Project options are stored in the project (.csproj) file, so that other developers can build and run the project correctly. Having specific project options allows many developers to work on the same document without compromising the formatting of the file. + +To open Project options in Visual Studio for Mac, double-click the project name, or right-click to open the context menu, and then select **Options**: + +![Option in Context Menu](media/projects-and-solutions-image2.png) + +Editable options include options to build, run, and set source code and version control. + +Project options are organized into five different categories: + +* **General** - Project information such as Name, Description, and Default Namespace are set here, along with the Location of the project. +* **Build** - This allows developers to set or change PCL profiles for Portable Class Libraries. It also allows for custom commands, configurations, compiler options to be set. The output path and assembly name can also be set here. +* **Run** - This allows you to create custom run configurations on a per-project basis. +* **Source Code** - This allows you to control the formatting of many different file types and naming conventions. You can also set the naming policies and default header styles here. +* **Version Control** - This allows you to edit the style of the commit message when using Version Control with your project. + +Each project can contain specific project options, depending on the platform. For example, a Xamarin.Android project, like the one illustrated in the following image, has options relating to the Android build (such as linker options) and the Application (such as permissions): + +![Android Project Options](media/projects-and-solutions-image5.png) + +Xamarin.iOS has options related to bundle signing - such as the required provisioning profile to use: + +![iOS Project Options](media/projects-and-solutions-image6.png) + +## Solution Options + +Solution options are like Project options, but cover the scope of the entire Solutions. They provide a way to set author information, build settings, code formatting styles, and version control, and they allow for a way to assign the startup project in the Solution. The Solution Options dialog can be accessed from the **Project > Solution Options** menu item, from the **Options** context menu item on the Solution in the Solution pad, or by double-clicking on the Solution in the Solution Pad: + +![Solution Options](media/projects-and-solutions-image7.png) + +## See also + +* [Manage project and solution properties (Visual Studio on Windows)](/visualstudio/ide/managing-project-and-solution-properties) \ No newline at end of file diff --git a/mac/2017/media/accessibility-image1.png b/mac/2017/media/accessibility-image1.png new file mode 100644 index 00000000000..c58bc03cae4 Binary files /dev/null and b/mac/2017/media/accessibility-image1.png differ diff --git a/mac/2017/media/accessibility-image2.png b/mac/2017/media/accessibility-image2.png new file mode 100644 index 00000000000..5ebede2f894 Binary files /dev/null and b/mac/2017/media/accessibility-image2.png differ diff --git a/mac/2017/media/add-and-remove-project-items-image1.png b/mac/2017/media/add-and-remove-project-items-image1.png new file mode 100644 index 00000000000..629b3fca548 Binary files /dev/null and b/mac/2017/media/add-and-remove-project-items-image1.png differ diff --git a/mac/2017/media/add-and-remove-project-items-image2.png b/mac/2017/media/add-and-remove-project-items-image2.png new file mode 100644 index 00000000000..999e1bb5ceb Binary files /dev/null and b/mac/2017/media/add-and-remove-project-items-image2.png differ diff --git a/mac/2017/media/add-and-remove-project-items-image3.png b/mac/2017/media/add-and-remove-project-items-image3.png new file mode 100644 index 00000000000..b3ecc260150 Binary files /dev/null and b/mac/2017/media/add-and-remove-project-items-image3.png differ diff --git a/mac/2017/media/add-and-remove-project-items-image4.png b/mac/2017/media/add-and-remove-project-items-image4.png new file mode 100644 index 00000000000..d3732c46707 Binary files /dev/null and b/mac/2017/media/add-and-remove-project-items-image4.png differ diff --git a/mac/2017/media/asp-net-core-image1.png b/mac/2017/media/asp-net-core-image1.png new file mode 100644 index 00000000000..655da7956cd Binary files /dev/null and b/mac/2017/media/asp-net-core-image1.png differ diff --git a/mac/2017/media/asp-net-core-image10.png b/mac/2017/media/asp-net-core-image10.png new file mode 100644 index 00000000000..5ada1b89bf9 Binary files /dev/null and b/mac/2017/media/asp-net-core-image10.png differ diff --git a/mac/2017/media/asp-net-core-image11.png b/mac/2017/media/asp-net-core-image11.png new file mode 100644 index 00000000000..4a2c4c460a8 Binary files /dev/null and b/mac/2017/media/asp-net-core-image11.png differ diff --git a/mac/2017/media/asp-net-core-image12.png b/mac/2017/media/asp-net-core-image12.png new file mode 100644 index 00000000000..0f643cc40eb Binary files /dev/null and b/mac/2017/media/asp-net-core-image12.png differ diff --git a/mac/2017/media/asp-net-core-image13.png b/mac/2017/media/asp-net-core-image13.png new file mode 100644 index 00000000000..607f5e599ee Binary files /dev/null and b/mac/2017/media/asp-net-core-image13.png differ diff --git a/mac/2017/media/asp-net-core-image2.png b/mac/2017/media/asp-net-core-image2.png new file mode 100644 index 00000000000..2781b53869f Binary files /dev/null and b/mac/2017/media/asp-net-core-image2.png differ diff --git a/mac/2017/media/asp-net-core-image3.png b/mac/2017/media/asp-net-core-image3.png new file mode 100644 index 00000000000..6acc5ecbe38 Binary files /dev/null and b/mac/2017/media/asp-net-core-image3.png differ diff --git a/mac/2017/media/asp-net-core-image4.png b/mac/2017/media/asp-net-core-image4.png new file mode 100644 index 00000000000..2ff630062f0 Binary files /dev/null and b/mac/2017/media/asp-net-core-image4.png differ diff --git a/mac/2017/media/asp-net-core-image5.png b/mac/2017/media/asp-net-core-image5.png new file mode 100644 index 00000000000..6505025a208 Binary files /dev/null and b/mac/2017/media/asp-net-core-image5.png differ diff --git a/mac/2017/media/asp-net-core-image6.png b/mac/2017/media/asp-net-core-image6.png new file mode 100644 index 00000000000..612c9354d8f Binary files /dev/null and b/mac/2017/media/asp-net-core-image6.png differ diff --git a/mac/2017/media/asp-net-core-image7.png b/mac/2017/media/asp-net-core-image7.png new file mode 100644 index 00000000000..532e1ef8f96 Binary files /dev/null and b/mac/2017/media/asp-net-core-image7.png differ diff --git a/mac/2017/media/asp-net-core-image8.png b/mac/2017/media/asp-net-core-image8.png new file mode 100644 index 00000000000..ddb11bb0503 Binary files /dev/null and b/mac/2017/media/asp-net-core-image8.png differ diff --git a/mac/2017/media/asp-net-core-image9.png b/mac/2017/media/asp-net-core-image9.png new file mode 100644 index 00000000000..33a2c8a73f7 Binary files /dev/null and b/mac/2017/media/asp-net-core-image9.png differ diff --git a/mac/2017/media/azure-functions-addnew.png b/mac/2017/media/azure-functions-addnew.png new file mode 100644 index 00000000000..5afaa3b68a8 Binary files /dev/null and b/mac/2017/media/azure-functions-addnew.png differ diff --git a/mac/2017/media/azure-functions-httpreq.png b/mac/2017/media/azure-functions-httpreq.png new file mode 100644 index 00000000000..e7026fd6988 Binary files /dev/null and b/mac/2017/media/azure-functions-httpreq.png differ diff --git a/mac/2017/media/azure-functions-image1.png b/mac/2017/media/azure-functions-image1.png new file mode 100644 index 00000000000..9db97df2df6 Binary files /dev/null and b/mac/2017/media/azure-functions-image1.png differ diff --git a/mac/2017/media/azure-functions-image10.png b/mac/2017/media/azure-functions-image10.png new file mode 100644 index 00000000000..a5f118d12cb Binary files /dev/null and b/mac/2017/media/azure-functions-image10.png differ diff --git a/mac/2017/media/azure-functions-image11.png b/mac/2017/media/azure-functions-image11.png new file mode 100644 index 00000000000..1722a20165a Binary files /dev/null and b/mac/2017/media/azure-functions-image11.png differ diff --git a/mac/2017/media/azure-functions-image12.png b/mac/2017/media/azure-functions-image12.png new file mode 100644 index 00000000000..9bcee52139c Binary files /dev/null and b/mac/2017/media/azure-functions-image12.png differ diff --git a/mac/2017/media/azure-functions-image2.png b/mac/2017/media/azure-functions-image2.png new file mode 100644 index 00000000000..117720b15fb Binary files /dev/null and b/mac/2017/media/azure-functions-image2.png differ diff --git a/mac/2017/media/azure-functions-image3.png b/mac/2017/media/azure-functions-image3.png new file mode 100644 index 00000000000..0762275d92b Binary files /dev/null and b/mac/2017/media/azure-functions-image3.png differ diff --git a/mac/2017/media/azure-functions-image4.png b/mac/2017/media/azure-functions-image4.png new file mode 100644 index 00000000000..c0dd82bee01 Binary files /dev/null and b/mac/2017/media/azure-functions-image4.png differ diff --git a/mac/2017/media/azure-functions-image5.png b/mac/2017/media/azure-functions-image5.png new file mode 100644 index 00000000000..582ad1255c9 Binary files /dev/null and b/mac/2017/media/azure-functions-image5.png differ diff --git a/mac/2017/media/azure-functions-image7.png b/mac/2017/media/azure-functions-image7.png new file mode 100644 index 00000000000..b58ea8a4ab2 Binary files /dev/null and b/mac/2017/media/azure-functions-image7.png differ diff --git a/mac/2017/media/azure-functions-image8.png b/mac/2017/media/azure-functions-image8.png new file mode 100644 index 00000000000..3ea775f66d5 Binary files /dev/null and b/mac/2017/media/azure-functions-image8.png differ diff --git a/mac/2017/media/azure-functions-image9.png b/mac/2017/media/azure-functions-image9.png new file mode 100644 index 00000000000..f476182941d Binary files /dev/null and b/mac/2017/media/azure-functions-image9.png differ diff --git a/mac/2017/media/azure-functions-lab-image1.png b/mac/2017/media/azure-functions-lab-image1.png new file mode 100644 index 00000000000..bed167dce8a Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image1.png differ diff --git a/mac/2017/media/azure-functions-lab-image10.png b/mac/2017/media/azure-functions-lab-image10.png new file mode 100644 index 00000000000..eb572cf0ffb Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image10.png differ diff --git a/mac/2017/media/azure-functions-lab-image11.png b/mac/2017/media/azure-functions-lab-image11.png new file mode 100644 index 00000000000..693f30b4c73 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image11.png differ diff --git a/mac/2017/media/azure-functions-lab-image12.png b/mac/2017/media/azure-functions-lab-image12.png new file mode 100644 index 00000000000..f2c07ac9186 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image12.png differ diff --git a/mac/2017/media/azure-functions-lab-image13.png b/mac/2017/media/azure-functions-lab-image13.png new file mode 100644 index 00000000000..ce66eaa1b04 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image13.png differ diff --git a/mac/2017/media/azure-functions-lab-image14.png b/mac/2017/media/azure-functions-lab-image14.png new file mode 100644 index 00000000000..0affce35eb7 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image14.png differ diff --git a/mac/2017/media/azure-functions-lab-image15.png b/mac/2017/media/azure-functions-lab-image15.png new file mode 100644 index 00000000000..6b54b3854d8 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image15.png differ diff --git a/mac/2017/media/azure-functions-lab-image16.png b/mac/2017/media/azure-functions-lab-image16.png new file mode 100644 index 00000000000..54b2c4d2816 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image16.png differ diff --git a/mac/2017/media/azure-functions-lab-image17.png b/mac/2017/media/azure-functions-lab-image17.png new file mode 100644 index 00000000000..f5227f98593 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image17.png differ diff --git a/mac/2017/media/azure-functions-lab-image18.png b/mac/2017/media/azure-functions-lab-image18.png new file mode 100644 index 00000000000..cf3e5fe2581 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image18.png differ diff --git a/mac/2017/media/azure-functions-lab-image19.png b/mac/2017/media/azure-functions-lab-image19.png new file mode 100644 index 00000000000..e8fb93e5046 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image19.png differ diff --git a/mac/2017/media/azure-functions-lab-image2.png b/mac/2017/media/azure-functions-lab-image2.png new file mode 100644 index 00000000000..c2dfa19dd5e Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image2.png differ diff --git a/mac/2017/media/azure-functions-lab-image20.png b/mac/2017/media/azure-functions-lab-image20.png new file mode 100644 index 00000000000..61c2bad527c Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image20.png differ diff --git a/mac/2017/media/azure-functions-lab-image21.png b/mac/2017/media/azure-functions-lab-image21.png new file mode 100644 index 00000000000..8a438cb35b0 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image21.png differ diff --git a/mac/2017/media/azure-functions-lab-image22.png b/mac/2017/media/azure-functions-lab-image22.png new file mode 100644 index 00000000000..44b8ee8778f Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image22.png differ diff --git a/mac/2017/media/azure-functions-lab-image23.png b/mac/2017/media/azure-functions-lab-image23.png new file mode 100644 index 00000000000..bd5ad1dec24 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image23.png differ diff --git a/mac/2017/media/azure-functions-lab-image24.png b/mac/2017/media/azure-functions-lab-image24.png new file mode 100644 index 00000000000..605b9c9a840 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image24.png differ diff --git a/mac/2017/media/azure-functions-lab-image25.png b/mac/2017/media/azure-functions-lab-image25.png new file mode 100644 index 00000000000..94e645569bf Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image25.png differ diff --git a/mac/2017/media/azure-functions-lab-image26.png b/mac/2017/media/azure-functions-lab-image26.png new file mode 100644 index 00000000000..76fb8e1da42 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image26.png differ diff --git a/mac/2017/media/azure-functions-lab-image27.png b/mac/2017/media/azure-functions-lab-image27.png new file mode 100644 index 00000000000..0b4cfb71749 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image27.png differ diff --git a/mac/2017/media/azure-functions-lab-image28.png b/mac/2017/media/azure-functions-lab-image28.png new file mode 100644 index 00000000000..5122194c62e Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image28.png differ diff --git a/mac/2017/media/azure-functions-lab-image29.png b/mac/2017/media/azure-functions-lab-image29.png new file mode 100644 index 00000000000..4bc2e51628a Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image29.png differ diff --git a/mac/2017/media/azure-functions-lab-image3.png b/mac/2017/media/azure-functions-lab-image3.png new file mode 100644 index 00000000000..bbb34f505ab Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image3.png differ diff --git a/mac/2017/media/azure-functions-lab-image30.png b/mac/2017/media/azure-functions-lab-image30.png new file mode 100644 index 00000000000..ee04e54efd1 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image30.png differ diff --git a/mac/2017/media/azure-functions-lab-image31.png b/mac/2017/media/azure-functions-lab-image31.png new file mode 100644 index 00000000000..7a501ead57e Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image31.png differ diff --git a/mac/2017/media/azure-functions-lab-image32.png b/mac/2017/media/azure-functions-lab-image32.png new file mode 100644 index 00000000000..926059f404b Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image32.png differ diff --git a/mac/2017/media/azure-functions-lab-image33.png b/mac/2017/media/azure-functions-lab-image33.png new file mode 100644 index 00000000000..56bae0a1995 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image33.png differ diff --git a/mac/2017/media/azure-functions-lab-image34.png b/mac/2017/media/azure-functions-lab-image34.png new file mode 100644 index 00000000000..1ce37054057 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image34.png differ diff --git a/mac/2017/media/azure-functions-lab-image4.png b/mac/2017/media/azure-functions-lab-image4.png new file mode 100644 index 00000000000..dcbbffe96d7 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image4.png differ diff --git a/mac/2017/media/azure-functions-lab-image5.png b/mac/2017/media/azure-functions-lab-image5.png new file mode 100644 index 00000000000..168ee248349 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image5.png differ diff --git a/mac/2017/media/azure-functions-lab-image6.png b/mac/2017/media/azure-functions-lab-image6.png new file mode 100644 index 00000000000..57fa44c0b7d Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image6.png differ diff --git a/mac/2017/media/azure-functions-lab-image7.png b/mac/2017/media/azure-functions-lab-image7.png new file mode 100644 index 00000000000..79027c2a23c Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image7.png differ diff --git a/mac/2017/media/azure-functions-lab-image8.png b/mac/2017/media/azure-functions-lab-image8.png new file mode 100644 index 00000000000..d5e3e056740 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image8.png differ diff --git a/mac/2017/media/azure-functions-lab-image9.png b/mac/2017/media/azure-functions-lab-image9.png new file mode 100644 index 00000000000..845a5a20f45 Binary files /dev/null and b/mac/2017/media/azure-functions-lab-image9.png differ diff --git a/mac/2017/media/azure-functions-newfunction.png b/mac/2017/media/azure-functions-newfunction.png new file mode 100644 index 00000000000..49ea2188189 Binary files /dev/null and b/mac/2017/media/azure-functions-newfunction.png differ diff --git a/mac/2017/media/azure-functions-newproj.png b/mac/2017/media/azure-functions-newproj.png new file mode 100644 index 00000000000..0f038c5a2ad Binary files /dev/null and b/mac/2017/media/azure-functions-newproj.png differ diff --git a/mac/2017/media/azure-functions-remove.png b/mac/2017/media/azure-functions-remove.png new file mode 100644 index 00000000000..879218f79ab Binary files /dev/null and b/mac/2017/media/azure-functions-remove.png differ diff --git a/mac/2017/media/azure-functions-run.png b/mac/2017/media/azure-functions-run.png new file mode 100644 index 00000000000..1d5c5d231f2 Binary files /dev/null and b/mac/2017/media/azure-functions-run.png differ diff --git a/mac/2017/media/azure-functions-terminal.png b/mac/2017/media/azure-functions-terminal.png new file mode 100644 index 00000000000..a69e2ecb364 Binary files /dev/null and b/mac/2017/media/azure-functions-terminal.png differ diff --git a/mac/2017/media/compiling-and-building-image1.png b/mac/2017/media/compiling-and-building-image1.png new file mode 100644 index 00000000000..20e6ebaf4fc Binary files /dev/null and b/mac/2017/media/compiling-and-building-image1.png differ diff --git a/mac/2017/media/compiling-and-building-image2.png b/mac/2017/media/compiling-and-building-image2.png new file mode 100644 index 00000000000..0a4414c71c0 Binary files /dev/null and b/mac/2017/media/compiling-and-building-image2.png differ diff --git a/mac/2017/media/compiling-and-building-image3.png b/mac/2017/media/compiling-and-building-image3.png new file mode 100644 index 00000000000..e3142674837 Binary files /dev/null and b/mac/2017/media/compiling-and-building-image3.png differ diff --git a/mac/2017/media/compiling-and-building-image4.png b/mac/2017/media/compiling-and-building-image4.png new file mode 100644 index 00000000000..16cce09b90e Binary files /dev/null and b/mac/2017/media/compiling-and-building-image4.png differ diff --git a/mac/2017/media/compiling-and-building-image5.png b/mac/2017/media/compiling-and-building-image5.png new file mode 100644 index 00000000000..1b61631dae3 Binary files /dev/null and b/mac/2017/media/compiling-and-building-image5.png differ diff --git a/mac/2017/media/compiling-and-building-image6.png b/mac/2017/media/compiling-and-building-image6.png new file mode 100644 index 00000000000..b8d2dc1fd30 Binary files /dev/null and b/mac/2017/media/compiling-and-building-image6.png differ diff --git a/mac/2017/media/connected-services-image001-sml.png b/mac/2017/media/connected-services-image001-sml.png new file mode 100644 index 00000000000..e36bee132de Binary files /dev/null and b/mac/2017/media/connected-services-image001-sml.png differ diff --git a/mac/2017/media/connected-services-image001.png b/mac/2017/media/connected-services-image001.png new file mode 100644 index 00000000000..067230808bc Binary files /dev/null and b/mac/2017/media/connected-services-image001.png differ diff --git a/mac/2017/media/connected-services-image002-sml.png b/mac/2017/media/connected-services-image002-sml.png new file mode 100644 index 00000000000..2bfa07b1db0 Binary files /dev/null and b/mac/2017/media/connected-services-image002-sml.png differ diff --git a/mac/2017/media/connected-services-image002.png b/mac/2017/media/connected-services-image002.png new file mode 100644 index 00000000000..e6ced437bb1 Binary files /dev/null and b/mac/2017/media/connected-services-image002.png differ diff --git a/mac/2017/media/connected-services-image003-sml.png b/mac/2017/media/connected-services-image003-sml.png new file mode 100644 index 00000000000..91012691cd2 Binary files /dev/null and b/mac/2017/media/connected-services-image003-sml.png differ diff --git a/mac/2017/media/connected-services-image003.png b/mac/2017/media/connected-services-image003.png new file mode 100644 index 00000000000..573283fbe23 Binary files /dev/null and b/mac/2017/media/connected-services-image003.png differ diff --git a/mac/2017/media/connected-services-image004-sml.png b/mac/2017/media/connected-services-image004-sml.png new file mode 100644 index 00000000000..7d4cc0f9b09 Binary files /dev/null and b/mac/2017/media/connected-services-image004-sml.png differ diff --git a/mac/2017/media/connected-services-image004.png b/mac/2017/media/connected-services-image004.png new file mode 100644 index 00000000000..a7256cb9855 Binary files /dev/null and b/mac/2017/media/connected-services-image004.png differ diff --git a/mac/2017/media/connected-services-image005.png b/mac/2017/media/connected-services-image005.png new file mode 100644 index 00000000000..0041a54e1ce Binary files /dev/null and b/mac/2017/media/connected-services-image005.png differ diff --git a/mac/2017/media/connected-services-image006-sml.png b/mac/2017/media/connected-services-image006-sml.png new file mode 100644 index 00000000000..36a17e2d498 Binary files /dev/null and b/mac/2017/media/connected-services-image006-sml.png differ diff --git a/mac/2017/media/connected-services-image006.png b/mac/2017/media/connected-services-image006.png new file mode 100644 index 00000000000..e71e2e6879c Binary files /dev/null and b/mac/2017/media/connected-services-image006.png differ diff --git a/mac/2017/media/connected-services-image007.png b/mac/2017/media/connected-services-image007.png new file mode 100644 index 00000000000..003f1c75594 Binary files /dev/null and b/mac/2017/media/connected-services-image007.png differ diff --git a/mac/2017/media/connected-services-image008-sml.png b/mac/2017/media/connected-services-image008-sml.png new file mode 100644 index 00000000000..47822a34d15 Binary files /dev/null and b/mac/2017/media/connected-services-image008-sml.png differ diff --git a/mac/2017/media/connected-services-image008.png b/mac/2017/media/connected-services-image008.png new file mode 100644 index 00000000000..5fb722ceca1 Binary files /dev/null and b/mac/2017/media/connected-services-image008.png differ diff --git a/mac/2017/media/connected-services-image009-sml.png b/mac/2017/media/connected-services-image009-sml.png new file mode 100644 index 00000000000..1592b774571 Binary files /dev/null and b/mac/2017/media/connected-services-image009-sml.png differ diff --git a/mac/2017/media/connected-services-image009.png b/mac/2017/media/connected-services-image009.png new file mode 100644 index 00000000000..fd4ebf8a6a3 Binary files /dev/null and b/mac/2017/media/connected-services-image009.png differ diff --git a/mac/2017/media/create-and-edit-configurations-image1.png b/mac/2017/media/create-and-edit-configurations-image1.png new file mode 100644 index 00000000000..9aa03c1b1f1 Binary files /dev/null and b/mac/2017/media/create-and-edit-configurations-image1.png differ diff --git a/mac/2017/media/create-and-edit-configurations-image2.png b/mac/2017/media/create-and-edit-configurations-image2.png new file mode 100644 index 00000000000..2dc8c8584a7 Binary files /dev/null and b/mac/2017/media/create-and-edit-configurations-image2.png differ diff --git a/mac/2017/media/create-and-edit-configurations-image3.png b/mac/2017/media/create-and-edit-configurations-image3.png new file mode 100644 index 00000000000..f4cc9c18498 Binary files /dev/null and b/mac/2017/media/create-and-edit-configurations-image3.png differ diff --git a/mac/2017/media/create-and-edit-configurations-image4.png b/mac/2017/media/create-and-edit-configurations-image4.png new file mode 100644 index 00000000000..388198985d4 Binary files /dev/null and b/mac/2017/media/create-and-edit-configurations-image4.png differ diff --git a/mac/2017/media/create-and-edit-configurations-image5.png b/mac/2017/media/create-and-edit-configurations-image5.png new file mode 100644 index 00000000000..6fe9ff57c63 Binary files /dev/null and b/mac/2017/media/create-and-edit-configurations-image5.png differ diff --git a/mac/2017/media/create-new-projects-recent.png b/mac/2017/media/create-new-projects-recent.png new file mode 100644 index 00000000000..8edd18d00c6 Binary files /dev/null and b/mac/2017/media/create-new-projects-recent.png differ diff --git a/mac/2017/media/create-offline-installer-image1.png b/mac/2017/media/create-offline-installer-image1.png new file mode 100644 index 00000000000..1311cd44ebe Binary files /dev/null and b/mac/2017/media/create-offline-installer-image1.png differ diff --git a/mac/2017/media/create-offline-installer-image2.png b/mac/2017/media/create-offline-installer-image2.png new file mode 100644 index 00000000000..1e1a36cef03 Binary files /dev/null and b/mac/2017/media/create-offline-installer-image2.png differ diff --git a/mac/2017/media/create-offline-installer-image3.png b/mac/2017/media/create-offline-installer-image3.png new file mode 100644 index 00000000000..989e1cd2f87 Binary files /dev/null and b/mac/2017/media/create-offline-installer-image3.png differ diff --git a/mac/2017/media/create-offline-installer-image4.png b/mac/2017/media/create-offline-installer-image4.png new file mode 100644 index 00000000000..80508c54c4f Binary files /dev/null and b/mac/2017/media/create-offline-installer-image4.png differ diff --git a/mac/2017/media/create-offline-installer-image5.png b/mac/2017/media/create-offline-installer-image5.png new file mode 100644 index 00000000000..21c673e8a7c Binary files /dev/null and b/mac/2017/media/create-offline-installer-image5.png differ diff --git a/mac/2017/media/create-offline-installer-image6.png b/mac/2017/media/create-offline-installer-image6.png new file mode 100644 index 00000000000..d18230a1b64 Binary files /dev/null and b/mac/2017/media/create-offline-installer-image6.png differ diff --git a/mac/2017/media/create-sln-run-config.png b/mac/2017/media/create-sln-run-config.png new file mode 100644 index 00000000000..46ff64411e2 Binary files /dev/null and b/mac/2017/media/create-sln-run-config.png differ diff --git a/mac/2017/media/customizing-build-system-image1.png b/mac/2017/media/customizing-build-system-image1.png new file mode 100644 index 00000000000..44aaf8ec6e4 Binary files /dev/null and b/mac/2017/media/customizing-build-system-image1.png differ diff --git a/mac/2017/media/customizing-build-system-image2.png b/mac/2017/media/customizing-build-system-image2.png new file mode 100644 index 00000000000..696a3ef014c Binary files /dev/null and b/mac/2017/media/customizing-build-system-image2.png differ diff --git a/mac/2017/media/customizing-the-ide-image10a.png b/mac/2017/media/customizing-the-ide-image10a.png new file mode 100644 index 00000000000..441dfb7cffa Binary files /dev/null and b/mac/2017/media/customizing-the-ide-image10a.png differ diff --git a/mac/2017/media/customizing-the-ide-image11a.png b/mac/2017/media/customizing-the-ide-image11a.png new file mode 100644 index 00000000000..f8e78bd2060 Binary files /dev/null and b/mac/2017/media/customizing-the-ide-image11a.png differ diff --git a/mac/2017/media/customizing-the-ide-image1a.png b/mac/2017/media/customizing-the-ide-image1a.png new file mode 100644 index 00000000000..f905e711756 Binary files /dev/null and b/mac/2017/media/customizing-the-ide-image1a.png differ diff --git a/mac/2017/media/customizing-the-ide-image2a.png b/mac/2017/media/customizing-the-ide-image2a.png new file mode 100644 index 00000000000..29a16d6e29f Binary files /dev/null and b/mac/2017/media/customizing-the-ide-image2a.png differ diff --git a/mac/2017/media/customizing-the-ide-image3a.png b/mac/2017/media/customizing-the-ide-image3a.png new file mode 100644 index 00000000000..12f1398e1bc Binary files /dev/null and b/mac/2017/media/customizing-the-ide-image3a.png differ diff --git a/mac/2017/media/customizing-the-ide-image5a.png b/mac/2017/media/customizing-the-ide-image5a.png new file mode 100644 index 00000000000..e70540d92d2 Binary files /dev/null and b/mac/2017/media/customizing-the-ide-image5a.png differ diff --git a/mac/2017/media/customizing-the-ide-image6a.png b/mac/2017/media/customizing-the-ide-image6a.png new file mode 100644 index 00000000000..67c4685fdf6 Binary files /dev/null and b/mac/2017/media/customizing-the-ide-image6a.png differ diff --git a/mac/2017/media/customizing-the-ide-image6b.png b/mac/2017/media/customizing-the-ide-image6b.png new file mode 100644 index 00000000000..387fbc03bd7 Binary files /dev/null and b/mac/2017/media/customizing-the-ide-image6b.png differ diff --git a/mac/2017/media/customizing-the-ide-image7a.png b/mac/2017/media/customizing-the-ide-image7a.png new file mode 100644 index 00000000000..e2524540154 Binary files /dev/null and b/mac/2017/media/customizing-the-ide-image7a.png differ diff --git a/mac/2017/media/customizing-the-ide-image7b.png b/mac/2017/media/customizing-the-ide-image7b.png new file mode 100644 index 00000000000..027a5179182 Binary files /dev/null and b/mac/2017/media/customizing-the-ide-image7b.png differ diff --git a/mac/2017/media/customizing-the-ide-image8a.png b/mac/2017/media/customizing-the-ide-image8a.png new file mode 100644 index 00000000000..aac02ca4a56 Binary files /dev/null and b/mac/2017/media/customizing-the-ide-image8a.png differ diff --git a/mac/2017/media/customizing-the-ide-image9a.png b/mac/2017/media/customizing-the-ide-image9a.png new file mode 100644 index 00000000000..99a095de218 Binary files /dev/null and b/mac/2017/media/customizing-the-ide-image9a.png differ diff --git a/mac/2017/media/customizing-the-ide-sbs.png b/mac/2017/media/customizing-the-ide-sbs.png new file mode 100644 index 00000000000..bdd850a1263 Binary files /dev/null and b/mac/2017/media/customizing-the-ide-sbs.png differ diff --git a/mac/2017/media/customizing-the-ide-sbs1.png b/mac/2017/media/customizing-the-ide-sbs1.png new file mode 100644 index 00000000000..15dbb485648 Binary files /dev/null and b/mac/2017/media/customizing-the-ide-sbs1.png differ diff --git a/mac/2017/media/customizing-the-ide-sbs2.png b/mac/2017/media/customizing-the-ide-sbs2.png new file mode 100644 index 00000000000..70f206c0534 Binary files /dev/null and b/mac/2017/media/customizing-the-ide-sbs2.png differ diff --git a/mac/2017/media/data-visualizations-image10.png b/mac/2017/media/data-visualizations-image10.png new file mode 100644 index 00000000000..57326910f8f Binary files /dev/null and b/mac/2017/media/data-visualizations-image10.png differ diff --git a/mac/2017/media/data-visualizations-image11.png b/mac/2017/media/data-visualizations-image11.png new file mode 100644 index 00000000000..a53f871886f Binary files /dev/null and b/mac/2017/media/data-visualizations-image11.png differ diff --git a/mac/2017/media/data-visualizations-image12.png b/mac/2017/media/data-visualizations-image12.png new file mode 100644 index 00000000000..06ac285ad82 Binary files /dev/null and b/mac/2017/media/data-visualizations-image12.png differ diff --git a/mac/2017/media/data-visualizations-image13.png b/mac/2017/media/data-visualizations-image13.png new file mode 100644 index 00000000000..6436ea33d41 Binary files /dev/null and b/mac/2017/media/data-visualizations-image13.png differ diff --git a/mac/2017/media/data-visualizations-image14.png b/mac/2017/media/data-visualizations-image14.png new file mode 100644 index 00000000000..27103464c8f Binary files /dev/null and b/mac/2017/media/data-visualizations-image14.png differ diff --git a/mac/2017/media/data-visualizations-image15.png b/mac/2017/media/data-visualizations-image15.png new file mode 100644 index 00000000000..9cd6b591636 Binary files /dev/null and b/mac/2017/media/data-visualizations-image15.png differ diff --git a/mac/2017/media/data-visualizations-image16.png b/mac/2017/media/data-visualizations-image16.png new file mode 100644 index 00000000000..d3646bde2c9 Binary files /dev/null and b/mac/2017/media/data-visualizations-image16.png differ diff --git a/mac/2017/media/data-visualizations-image17.png b/mac/2017/media/data-visualizations-image17.png new file mode 100644 index 00000000000..770526a3d08 Binary files /dev/null and b/mac/2017/media/data-visualizations-image17.png differ diff --git a/mac/2017/media/data-visualizations-image18.png b/mac/2017/media/data-visualizations-image18.png new file mode 100644 index 00000000000..11d1b9534c4 Binary files /dev/null and b/mac/2017/media/data-visualizations-image18.png differ diff --git a/mac/2017/media/data-visualizations-image19.png b/mac/2017/media/data-visualizations-image19.png new file mode 100644 index 00000000000..8641642833f Binary files /dev/null and b/mac/2017/media/data-visualizations-image19.png differ diff --git a/mac/2017/media/data-visualizations-image20.png b/mac/2017/media/data-visualizations-image20.png new file mode 100644 index 00000000000..e9e9ea52ee8 Binary files /dev/null and b/mac/2017/media/data-visualizations-image20.png differ diff --git a/mac/2017/media/data-visualizations-image21.png b/mac/2017/media/data-visualizations-image21.png new file mode 100644 index 00000000000..6698c479618 Binary files /dev/null and b/mac/2017/media/data-visualizations-image21.png differ diff --git a/mac/2017/media/data-visualizations-image22.png b/mac/2017/media/data-visualizations-image22.png new file mode 100644 index 00000000000..6cc9bc19f53 Binary files /dev/null and b/mac/2017/media/data-visualizations-image22.png differ diff --git a/mac/2017/media/data-visualizations-image23.png b/mac/2017/media/data-visualizations-image23.png new file mode 100644 index 00000000000..05a8fcf96bd Binary files /dev/null and b/mac/2017/media/data-visualizations-image23.png differ diff --git a/mac/2017/media/data-visualizations-image9.png b/mac/2017/media/data-visualizations-image9.png new file mode 100644 index 00000000000..69243237797 Binary files /dev/null and b/mac/2017/media/data-visualizations-image9.png differ diff --git a/mac/2017/media/debugging-image0.png b/mac/2017/media/debugging-image0.png new file mode 100644 index 00000000000..a4338263d89 Binary files /dev/null and b/mac/2017/media/debugging-image0.png differ diff --git a/mac/2017/media/debugging-image0a.png b/mac/2017/media/debugging-image0a.png new file mode 100644 index 00000000000..cdcaa543fe6 Binary files /dev/null and b/mac/2017/media/debugging-image0a.png differ diff --git a/mac/2017/media/debugging-image1.png b/mac/2017/media/debugging-image1.png new file mode 100644 index 00000000000..6af4debdbf0 Binary files /dev/null and b/mac/2017/media/debugging-image1.png differ diff --git a/mac/2017/media/debugging-image2.png b/mac/2017/media/debugging-image2.png new file mode 100644 index 00000000000..49acc7898c0 Binary files /dev/null and b/mac/2017/media/debugging-image2.png differ diff --git a/mac/2017/media/debugging-image3.png b/mac/2017/media/debugging-image3.png new file mode 100644 index 00000000000..d2136b36704 Binary files /dev/null and b/mac/2017/media/debugging-image3.png differ diff --git a/mac/2017/media/debugging-image4.png b/mac/2017/media/debugging-image4.png new file mode 100644 index 00000000000..6a66bb57a76 Binary files /dev/null and b/mac/2017/media/debugging-image4.png differ diff --git a/mac/2017/media/debugging-image5.png b/mac/2017/media/debugging-image5.png new file mode 100644 index 00000000000..2ce1947b4ac Binary files /dev/null and b/mac/2017/media/debugging-image5.png differ diff --git a/mac/2017/media/debugging-image6.png b/mac/2017/media/debugging-image6.png new file mode 100644 index 00000000000..03e194e03ef Binary files /dev/null and b/mac/2017/media/debugging-image6.png differ diff --git a/mac/2017/media/debugging-image7.png b/mac/2017/media/debugging-image7.png new file mode 100644 index 00000000000..f521a0d2f04 Binary files /dev/null and b/mac/2017/media/debugging-image7.png differ diff --git a/mac/2017/media/debugging-image8.png b/mac/2017/media/debugging-image8.png new file mode 100644 index 00000000000..6c06061fa69 Binary files /dev/null and b/mac/2017/media/debugging-image8.png differ diff --git a/mac/2017/media/debugging-image_0.png b/mac/2017/media/debugging-image_0.png new file mode 100644 index 00000000000..c6593ff814c Binary files /dev/null and b/mac/2017/media/debugging-image_0.png differ diff --git a/mac/2017/media/editorconfig-image0.png b/mac/2017/media/editorconfig-image0.png new file mode 100644 index 00000000000..566c55791f1 Binary files /dev/null and b/mac/2017/media/editorconfig-image0.png differ diff --git a/mac/2017/media/editorconfig-image1.png b/mac/2017/media/editorconfig-image1.png new file mode 100644 index 00000000000..5f9488d1e03 Binary files /dev/null and b/mac/2017/media/editorconfig-image1.png differ diff --git a/mac/2017/media/editorconfig-image1a.png b/mac/2017/media/editorconfig-image1a.png new file mode 100644 index 00000000000..fda6d9531e5 Binary files /dev/null and b/mac/2017/media/editorconfig-image1a.png differ diff --git a/mac/2017/media/editorconfig-image2.png b/mac/2017/media/editorconfig-image2.png new file mode 100644 index 00000000000..36a178efdd9 Binary files /dev/null and b/mac/2017/media/editorconfig-image2.png differ diff --git a/mac/2017/media/editorconfig-image3.png b/mac/2017/media/editorconfig-image3.png new file mode 100644 index 00000000000..2c1d4a72988 Binary files /dev/null and b/mac/2017/media/editorconfig-image3.png differ diff --git a/mac/2017/media/editorconfig-image3a.png b/mac/2017/media/editorconfig-image3a.png new file mode 100644 index 00000000000..3b0cc4e604f Binary files /dev/null and b/mac/2017/media/editorconfig-image3a.png differ diff --git a/mac/2017/media/editorconfig-image3b.png b/mac/2017/media/editorconfig-image3b.png new file mode 100644 index 00000000000..6f4b7aea223 Binary files /dev/null and b/mac/2017/media/editorconfig-image3b.png differ diff --git a/mac/2017/media/editorconfig-image4.png b/mac/2017/media/editorconfig-image4.png new file mode 100644 index 00000000000..02e644df822 Binary files /dev/null and b/mac/2017/media/editorconfig-image4.png differ diff --git a/mac/2017/media/editorconfig-image5.png b/mac/2017/media/editorconfig-image5.png new file mode 100644 index 00000000000..e7dd877ea1f Binary files /dev/null and b/mac/2017/media/editorconfig-image5.png differ diff --git a/mac/2017/media/extending-visual-studio-mac-addin1.png b/mac/2017/media/extending-visual-studio-mac-addin1.png new file mode 100644 index 00000000000..3538b5ec79f Binary files /dev/null and b/mac/2017/media/extending-visual-studio-mac-addin1.png differ diff --git a/mac/2017/media/extending-visual-studio-mac-addin10.png b/mac/2017/media/extending-visual-studio-mac-addin10.png new file mode 100644 index 00000000000..443d85ac819 Binary files /dev/null and b/mac/2017/media/extending-visual-studio-mac-addin10.png differ diff --git a/mac/2017/media/extending-visual-studio-mac-addin11.png b/mac/2017/media/extending-visual-studio-mac-addin11.png new file mode 100644 index 00000000000..ff6896dd993 Binary files /dev/null and b/mac/2017/media/extending-visual-studio-mac-addin11.png differ diff --git a/mac/2017/media/extending-visual-studio-mac-addin12.png b/mac/2017/media/extending-visual-studio-mac-addin12.png new file mode 100644 index 00000000000..c8f68bc5d65 Binary files /dev/null and b/mac/2017/media/extending-visual-studio-mac-addin12.png differ diff --git a/mac/2017/media/extending-visual-studio-mac-addin13.png b/mac/2017/media/extending-visual-studio-mac-addin13.png new file mode 100644 index 00000000000..4bbbc81a072 Binary files /dev/null and b/mac/2017/media/extending-visual-studio-mac-addin13.png differ diff --git a/mac/2017/media/extending-visual-studio-mac-addin3.png b/mac/2017/media/extending-visual-studio-mac-addin3.png new file mode 100644 index 00000000000..9d96343646c Binary files /dev/null and b/mac/2017/media/extending-visual-studio-mac-addin3.png differ diff --git a/mac/2017/media/extending-visual-studio-mac-addin4.png b/mac/2017/media/extending-visual-studio-mac-addin4.png new file mode 100644 index 00000000000..06a33e9d500 Binary files /dev/null and b/mac/2017/media/extending-visual-studio-mac-addin4.png differ diff --git a/mac/2017/media/extending-visual-studio-mac-addin5.png b/mac/2017/media/extending-visual-studio-mac-addin5.png new file mode 100644 index 00000000000..8b1c042f941 Binary files /dev/null and b/mac/2017/media/extending-visual-studio-mac-addin5.png differ diff --git a/mac/2017/media/extending-visual-studio-mac-addin7New.png b/mac/2017/media/extending-visual-studio-mac-addin7New.png new file mode 100644 index 00000000000..5265552aa77 Binary files /dev/null and b/mac/2017/media/extending-visual-studio-mac-addin7New.png differ diff --git a/mac/2017/media/extending-visual-studio-mac-addin8.png b/mac/2017/media/extending-visual-studio-mac-addin8.png new file mode 100644 index 00000000000..f370e14295a Binary files /dev/null and b/mac/2017/media/extending-visual-studio-mac-addin8.png differ diff --git a/mac/2017/media/extending-visual-studio-mac-addin9.png b/mac/2017/media/extending-visual-studio-mac-addin9.png new file mode 100644 index 00000000000..299be327481 Binary files /dev/null and b/mac/2017/media/extending-visual-studio-mac-addin9.png differ diff --git a/mac/2017/media/image16.png b/mac/2017/media/image16.png new file mode 100644 index 00000000000..9b28a0ffc49 Binary files /dev/null and b/mac/2017/media/image16.png differ diff --git a/mac/2017/media/image17.png b/mac/2017/media/image17.png new file mode 100644 index 00000000000..137dd3a29f1 Binary files /dev/null and b/mac/2017/media/image17.png differ diff --git a/mac/2017/media/image18.png b/mac/2017/media/image18.png new file mode 100644 index 00000000000..8680bb7de3d Binary files /dev/null and b/mac/2017/media/image18.png differ diff --git a/mac/2017/media/image19.png b/mac/2017/media/image19.png new file mode 100644 index 00000000000..c0ed53c0081 Binary files /dev/null and b/mac/2017/media/image19.png differ diff --git a/mac/2019/media/ide-tour-image20.png b/mac/2017/media/image20.png similarity index 100% rename from mac/2019/media/ide-tour-image20.png rename to mac/2017/media/image20.png diff --git a/mac/2017/media/image21.png b/mac/2017/media/image21.png new file mode 100644 index 00000000000..1ba060edea9 Binary files /dev/null and b/mac/2017/media/image21.png differ diff --git a/mac/2017/media/image22.png b/mac/2017/media/image22.png new file mode 100644 index 00000000000..5837a5f966e Binary files /dev/null and b/mac/2017/media/image22.png differ diff --git a/mac/2017/media/image23.png b/mac/2017/media/image23.png new file mode 100644 index 00000000000..8ce2c5ed429 Binary files /dev/null and b/mac/2017/media/image23.png differ diff --git a/mac/2017/media/index-2019-preview.png b/mac/2017/media/index-2019-preview.png new file mode 100755 index 00000000000..f4ccb5a0a86 Binary files /dev/null and b/mac/2017/media/index-2019-preview.png differ diff --git a/mac/2017/media/intro-image30.png b/mac/2017/media/intro-image30.png new file mode 100644 index 00000000000..5f622df83ff Binary files /dev/null and b/mac/2017/media/intro-image30.png differ diff --git a/mac/2017/media/intro-image31.png b/mac/2017/media/intro-image31.png new file mode 100644 index 00000000000..071600f22e2 Binary files /dev/null and b/mac/2017/media/intro-image31.png differ diff --git a/mac/2017/media/intro-inspector.png b/mac/2017/media/intro-inspector.png new file mode 100644 index 00000000000..2e66d2a6382 Binary files /dev/null and b/mac/2017/media/intro-inspector.png differ diff --git a/mac/2017/media/intro-testcloud.png b/mac/2017/media/intro-testcloud.png new file mode 100644 index 00000000000..b25b7f89b48 Binary files /dev/null and b/mac/2017/media/intro-testcloud.png differ diff --git a/mac/2017/media/javascript-image1.png b/mac/2017/media/javascript-image1.png new file mode 100644 index 00000000000..3149b32585a Binary files /dev/null and b/mac/2017/media/javascript-image1.png differ diff --git a/mac/2017/media/javascript-image2.png b/mac/2017/media/javascript-image2.png new file mode 100644 index 00000000000..6d1493a0781 Binary files /dev/null and b/mac/2017/media/javascript-image2.png differ diff --git a/mac/2017/media/javascript-image3.png b/mac/2017/media/javascript-image3.png new file mode 100644 index 00000000000..fb862368a38 Binary files /dev/null and b/mac/2017/media/javascript-image3.png differ diff --git a/mac/2017/media/nuget-walkthrough-AddPackages1.png b/mac/2017/media/nuget-walkthrough-AddPackages1.png new file mode 100644 index 00000000000..cac9bb49163 Binary files /dev/null and b/mac/2017/media/nuget-walkthrough-AddPackages1.png differ diff --git a/mac/2017/media/nuget-walkthrough-AddPackages2.png b/mac/2017/media/nuget-walkthrough-AddPackages2.png new file mode 100644 index 00000000000..7327176e4c0 Binary files /dev/null and b/mac/2017/media/nuget-walkthrough-AddPackages2.png differ diff --git a/mac/2017/media/nuget-walkthrough-AutoRestore.png b/mac/2017/media/nuget-walkthrough-AutoRestore.png new file mode 100644 index 00000000000..e03ff736b78 Binary files /dev/null and b/mac/2017/media/nuget-walkthrough-AutoRestore.png differ diff --git a/mac/2017/media/nuget-walkthrough-NewProject.png b/mac/2017/media/nuget-walkthrough-NewProject.png new file mode 100644 index 00000000000..1b20c5c7f77 Binary files /dev/null and b/mac/2017/media/nuget-walkthrough-NewProject.png differ diff --git a/mac/2017/media/nuget-walkthrough-PackageMenu.png b/mac/2017/media/nuget-walkthrough-PackageMenu.png new file mode 100644 index 00000000000..f80746e15a6 Binary files /dev/null and b/mac/2017/media/nuget-walkthrough-PackageMenu.png differ diff --git a/mac/2017/media/nuget-walkthrough-PackageSource.png b/mac/2017/media/nuget-walkthrough-PackageSource.png new file mode 100644 index 00000000000..b62f7f2b0e2 Binary files /dev/null and b/mac/2017/media/nuget-walkthrough-PackageSource.png differ diff --git a/mac/2017/media/nuget-walkthrough-PackageSource2.png b/mac/2017/media/nuget-walkthrough-PackageSource2.png new file mode 100644 index 00000000000..8bad5f95c94 Binary files /dev/null and b/mac/2017/media/nuget-walkthrough-PackageSource2.png differ diff --git a/mac/2017/media/nuget-walkthrough-PackageSource3.png b/mac/2017/media/nuget-walkthrough-PackageSource3.png new file mode 100644 index 00000000000..fc64388903a Binary files /dev/null and b/mac/2017/media/nuget-walkthrough-PackageSource3.png differ diff --git a/mac/2017/media/nuget-walkthrough-PackagesMenu.png b/mac/2017/media/nuget-walkthrough-PackagesMenu.png new file mode 100644 index 00000000000..3b6c45b01c3 Binary files /dev/null and b/mac/2017/media/nuget-walkthrough-PackagesMenu.png differ diff --git a/mac/2017/media/nuget-walkthrough-Source.png b/mac/2017/media/nuget-walkthrough-Source.png new file mode 100644 index 00000000000..b133d655491 Binary files /dev/null and b/mac/2017/media/nuget-walkthrough-Source.png differ diff --git a/mac/2017/media/nuget-walkthrough-project-page.png b/mac/2017/media/nuget-walkthrough-project-page.png new file mode 100644 index 00000000000..3f3ba80046b Binary files /dev/null and b/mac/2017/media/nuget-walkthrough-project-page.png differ diff --git a/mac/2017/media/open-multiple-solutions-image1.png b/mac/2017/media/open-multiple-solutions-image1.png new file mode 100644 index 00000000000..175f674f7db Binary files /dev/null and b/mac/2017/media/open-multiple-solutions-image1.png differ diff --git a/mac/2017/media/open-multiple-solutions-image2.png b/mac/2017/media/open-multiple-solutions-image2.png new file mode 100644 index 00000000000..8e636baaf8f Binary files /dev/null and b/mac/2017/media/open-multiple-solutions-image2.png differ diff --git a/mac/2017/media/open-multiple-solutions-image3.png b/mac/2017/media/open-multiple-solutions-image3.png new file mode 100644 index 00000000000..12211d1d5dc Binary files /dev/null and b/mac/2017/media/open-multiple-solutions-image3.png differ diff --git a/mac/2017/media/projects-and-solutions-image0.png b/mac/2017/media/projects-and-solutions-image0.png new file mode 100644 index 00000000000..047ec74df0c Binary files /dev/null and b/mac/2017/media/projects-and-solutions-image0.png differ diff --git a/mac/2017/media/projects-and-solutions-image1.png b/mac/2017/media/projects-and-solutions-image1.png new file mode 100644 index 00000000000..212c627c825 Binary files /dev/null and b/mac/2017/media/projects-and-solutions-image1.png differ diff --git a/mac/2017/media/projects-and-solutions-image10.png b/mac/2017/media/projects-and-solutions-image10.png new file mode 100644 index 00000000000..1cfe69ee13d Binary files /dev/null and b/mac/2017/media/projects-and-solutions-image10.png differ diff --git a/mac/2017/media/projects-and-solutions-image11.png b/mac/2017/media/projects-and-solutions-image11.png new file mode 100644 index 00000000000..34089031e74 Binary files /dev/null and b/mac/2017/media/projects-and-solutions-image11.png differ diff --git a/mac/2017/media/projects-and-solutions-image2.png b/mac/2017/media/projects-and-solutions-image2.png new file mode 100644 index 00000000000..2b37464e403 Binary files /dev/null and b/mac/2017/media/projects-and-solutions-image2.png differ diff --git a/mac/2017/media/projects-and-solutions-image3.png b/mac/2017/media/projects-and-solutions-image3.png new file mode 100644 index 00000000000..4c56f8daa50 Binary files /dev/null and b/mac/2017/media/projects-and-solutions-image3.png differ diff --git a/mac/2017/media/projects-and-solutions-image4.png b/mac/2017/media/projects-and-solutions-image4.png new file mode 100644 index 00000000000..13e6b754825 Binary files /dev/null and b/mac/2017/media/projects-and-solutions-image4.png differ diff --git a/mac/2017/media/projects-and-solutions-image5.png b/mac/2017/media/projects-and-solutions-image5.png new file mode 100644 index 00000000000..f01e8e2dc8e Binary files /dev/null and b/mac/2017/media/projects-and-solutions-image5.png differ diff --git a/mac/2017/media/projects-and-solutions-image6.png b/mac/2017/media/projects-and-solutions-image6.png new file mode 100644 index 00000000000..aa8e442d966 Binary files /dev/null and b/mac/2017/media/projects-and-solutions-image6.png differ diff --git a/mac/2017/media/projects-and-solutions-image7.png b/mac/2017/media/projects-and-solutions-image7.png new file mode 100644 index 00000000000..8a71532af5b Binary files /dev/null and b/mac/2017/media/projects-and-solutions-image7.png differ diff --git a/mac/2017/media/projects-and-solutions-image8.png b/mac/2017/media/projects-and-solutions-image8.png new file mode 100644 index 00000000000..f4dc0451fff Binary files /dev/null and b/mac/2017/media/projects-and-solutions-image8.png differ diff --git a/mac/2017/media/projects-and-solutions-image9.png b/mac/2017/media/projects-and-solutions-image9.png new file mode 100644 index 00000000000..22f38aa8338 Binary files /dev/null and b/mac/2017/media/projects-and-solutions-image9.png differ diff --git a/mac/2017/media/publish-context-menu-with-folder-profile.png b/mac/2017/media/publish-context-menu-with-folder-profile.png new file mode 100644 index 00000000000..a7b2a81451a Binary files /dev/null and b/mac/2017/media/publish-context-menu-with-folder-profile.png differ diff --git a/mac/2017/media/publish-context-menu.png b/mac/2017/media/publish-context-menu.png new file mode 100644 index 00000000000..6aca21e38cb Binary files /dev/null and b/mac/2017/media/publish-context-menu.png differ diff --git a/mac/2017/media/publish-create-app-service-message.png b/mac/2017/media/publish-create-app-service-message.png new file mode 100644 index 00000000000..7df4545b4bf Binary files /dev/null and b/mac/2017/media/publish-create-app-service-message.png differ diff --git a/mac/2017/media/publish-new-app-service.png b/mac/2017/media/publish-new-app-service.png new file mode 100644 index 00000000000..a4612d87560 Binary files /dev/null and b/mac/2017/media/publish-new-app-service.png differ diff --git a/mac/2017/media/publish-to-app-service-dialog-new-selected.png b/mac/2017/media/publish-to-app-service-dialog-new-selected.png new file mode 100644 index 00000000000..0967d35f477 Binary files /dev/null and b/mac/2017/media/publish-to-app-service-dialog-new-selected.png differ diff --git a/mac/2017/media/publish-to-app-service-dialog.png b/mac/2017/media/publish-to-app-service-dialog.png new file mode 100644 index 00000000000..93c57f131a0 Binary files /dev/null and b/mac/2017/media/publish-to-app-service-dialog.png differ diff --git a/mac/2017/media/publish-to-azure-context-menu.png b/mac/2017/media/publish-to-azure-context-menu.png new file mode 100644 index 00000000000..3a39f1cfbfa Binary files /dev/null and b/mac/2017/media/publish-to-azure-context-menu.png differ diff --git a/mac/2017/media/publish-to-folder-context-menu.png b/mac/2017/media/publish-to-folder-context-menu.png new file mode 100644 index 00000000000..e647d904028 Binary files /dev/null and b/mac/2017/media/publish-to-folder-context-menu.png differ diff --git a/mac/2017/media/publish-to-folder-dialog.png b/mac/2017/media/publish-to-folder-dialog.png new file mode 100644 index 00000000000..bc30b2af347 Binary files /dev/null and b/mac/2017/media/publish-to-folder-dialog.png differ diff --git a/mac/2017/media/publish-to-folder-status-bar.png b/mac/2017/media/publish-to-folder-status-bar.png new file mode 100644 index 00000000000..82c9657c230 Binary files /dev/null and b/mac/2017/media/publish-to-folder-status-bar.png differ diff --git a/mac/2017/media/razor-image1.png b/mac/2017/media/razor-image1.png new file mode 100644 index 00000000000..d33a6d64959 Binary files /dev/null and b/mac/2017/media/razor-image1.png differ diff --git a/mac/2017/media/refactoring-context-action.png b/mac/2017/media/refactoring-context-action.png new file mode 100644 index 00000000000..195980c3e58 Binary files /dev/null and b/mac/2017/media/refactoring-context-action.png differ diff --git a/mac/2017/media/refactoring-image2a.png b/mac/2017/media/refactoring-image2a.png new file mode 100644 index 00000000000..2752e81acd8 Binary files /dev/null and b/mac/2017/media/refactoring-image2a.png differ diff --git a/mac/2017/media/refactoring-image3a.png b/mac/2017/media/refactoring-image3a.png new file mode 100644 index 00000000000..88ce6dc0444 Binary files /dev/null and b/mac/2017/media/refactoring-image3a.png differ diff --git a/mac/2017/media/refactoring-image4a.png b/mac/2017/media/refactoring-image4a.png new file mode 100644 index 00000000000..bc210e5640b Binary files /dev/null and b/mac/2017/media/refactoring-image4a.png differ diff --git a/mac/2017/media/refactoring-image5.png b/mac/2017/media/refactoring-image5.png new file mode 100644 index 00000000000..f550a6ffe2c Binary files /dev/null and b/mac/2017/media/refactoring-image5.png differ diff --git a/mac/2017/media/refactoring-options.png b/mac/2017/media/refactoring-options.png new file mode 100644 index 00000000000..4abc30bf9dc Binary files /dev/null and b/mac/2017/media/refactoring-options.png differ diff --git a/mac/2017/media/refactoring-renaming1.png b/mac/2017/media/refactoring-renaming1.png new file mode 100644 index 00000000000..fae6c80cc9b Binary files /dev/null and b/mac/2017/media/refactoring-renaming1.png differ diff --git a/mac/2017/media/refactoring-renaming2.png b/mac/2017/media/refactoring-renaming2.png new file mode 100644 index 00000000000..251e5ef1fb9 Binary files /dev/null and b/mac/2017/media/refactoring-renaming2.png differ diff --git a/mac/2017/media/report-problem-attach-file.png b/mac/2017/media/report-problem-attach-file.png new file mode 100644 index 00000000000..4ee6273e42c Binary files /dev/null and b/mac/2017/media/report-problem-attach-file.png differ diff --git a/mac/2017/media/report-problem-attach-logs.png b/mac/2017/media/report-problem-attach-logs.png new file mode 100644 index 00000000000..cb8a0cf8923 Binary files /dev/null and b/mac/2017/media/report-problem-attach-logs.png differ diff --git a/mac/2017/media/report-problem-image1.png b/mac/2017/media/report-problem-image1.png new file mode 100644 index 00000000000..e21e51add9b Binary files /dev/null and b/mac/2017/media/report-problem-image1.png differ diff --git a/mac/2017/media/report-problem-image2.png b/mac/2017/media/report-problem-image2.png new file mode 100644 index 00000000000..8712481174c Binary files /dev/null and b/mac/2017/media/report-problem-image2.png differ diff --git a/mac/2017/media/report-problem-image3.png b/mac/2017/media/report-problem-image3.png new file mode 100644 index 00000000000..ebbafea34b2 Binary files /dev/null and b/mac/2017/media/report-problem-image3.png differ diff --git a/mac/2017/media/report-problem-image4.png b/mac/2017/media/report-problem-image4.png new file mode 100644 index 00000000000..4d8044cb5b4 Binary files /dev/null and b/mac/2017/media/report-problem-image4.png differ diff --git a/mac/2017/media/report-problem-image5.png b/mac/2017/media/report-problem-image5.png new file mode 100644 index 00000000000..35382b72d9f Binary files /dev/null and b/mac/2017/media/report-problem-image5.png differ diff --git a/mac/2017/media/report-problem-image6.png b/mac/2017/media/report-problem-image6.png new file mode 100644 index 00000000000..bd008059c74 Binary files /dev/null and b/mac/2017/media/report-problem-image6.png differ diff --git a/mac/2017/media/setup-vsmac-tools-unity-image1.png b/mac/2017/media/setup-vsmac-tools-unity-image1.png new file mode 100644 index 00000000000..0cca58348c2 Binary files /dev/null and b/mac/2017/media/setup-vsmac-tools-unity-image1.png differ diff --git a/mac/2017/media/setup-vsmac-tools-unity-image2.png b/mac/2017/media/setup-vsmac-tools-unity-image2.png new file mode 100644 index 00000000000..4cf9209b1b5 Binary files /dev/null and b/mac/2017/media/setup-vsmac-tools-unity-image2.png differ diff --git a/mac/2017/media/setup-vsmac-tools-unity-image3.png b/mac/2017/media/setup-vsmac-tools-unity-image3.png new file mode 100644 index 00000000000..8249b0b2576 Binary files /dev/null and b/mac/2017/media/setup-vsmac-tools-unity-image3.png differ diff --git a/mac/2017/media/setup-vsmac-tools-unity-image4.png b/mac/2017/media/setup-vsmac-tools-unity-image4.png new file mode 100644 index 00000000000..a680ebaec69 Binary files /dev/null and b/mac/2017/media/setup-vsmac-tools-unity-image4.png differ diff --git a/mac/2017/media/setup-vsmac-tools-unity-image5.png b/mac/2017/media/setup-vsmac-tools-unity-image5.png new file mode 100644 index 00000000000..6043535b990 Binary files /dev/null and b/mac/2017/media/setup-vsmac-tools-unity-image5.png differ diff --git a/mac/2017/media/setup-vsmac-tools-unity-image6.png b/mac/2017/media/setup-vsmac-tools-unity-image6.png new file mode 100644 index 00000000000..45c5c2adb88 Binary files /dev/null and b/mac/2017/media/setup-vsmac-tools-unity-image6.png differ diff --git a/mac/2017/media/setup-vsmac-tools-unity-image7.png b/mac/2017/media/setup-vsmac-tools-unity-image7.png new file mode 100644 index 00000000000..ef5abe18187 Binary files /dev/null and b/mac/2017/media/setup-vsmac-tools-unity-image7.png differ diff --git a/mac/2017/media/setup-vsmac-tools-unity-image8.png b/mac/2017/media/setup-vsmac-tools-unity-image8.png new file mode 100644 index 00000000000..7cfe28a22ec Binary files /dev/null and b/mac/2017/media/setup-vsmac-tools-unity-image8.png differ diff --git a/mac/2017/media/signing-in-image12.png b/mac/2017/media/signing-in-image12.png new file mode 100644 index 00000000000..58f3fc1339c Binary files /dev/null and b/mac/2017/media/signing-in-image12.png differ diff --git a/mac/2017/media/signing-in-image13.png b/mac/2017/media/signing-in-image13.png new file mode 100644 index 00000000000..448b9ce2d18 Binary files /dev/null and b/mac/2017/media/signing-in-image13.png differ diff --git a/mac/2017/media/signing-in-image14.png b/mac/2017/media/signing-in-image14.png new file mode 100644 index 00000000000..1b9196f53d5 Binary files /dev/null and b/mac/2017/media/signing-in-image14.png differ diff --git a/mac/2017/media/sln-options-run-config-multi-projects-configured.png b/mac/2017/media/sln-options-run-config-multi-projects-configured.png new file mode 100644 index 00000000000..71104038080 Binary files /dev/null and b/mac/2017/media/sln-options-run-config-multi-projects-configured.png differ diff --git a/mac/2017/media/sln-options-run-config-multi-projects.png b/mac/2017/media/sln-options-run-config-multi-projects.png new file mode 100644 index 00000000000..fab9c4a1bcc Binary files /dev/null and b/mac/2017/media/sln-options-run-config-multi-projects.png differ diff --git a/mac/2017/media/source-editor-image1.png b/mac/2017/media/source-editor-image1.png new file mode 100644 index 00000000000..91f0ce7579a Binary files /dev/null and b/mac/2017/media/source-editor-image1.png differ diff --git a/mac/2017/media/source-editor-image10.png b/mac/2017/media/source-editor-image10.png new file mode 100644 index 00000000000..11c39eacad9 Binary files /dev/null and b/mac/2017/media/source-editor-image10.png differ diff --git a/mac/2017/media/source-editor-image11.png b/mac/2017/media/source-editor-image11.png new file mode 100644 index 00000000000..791be510e88 Binary files /dev/null and b/mac/2017/media/source-editor-image11.png differ diff --git a/mac/2017/media/source-editor-image12.png b/mac/2017/media/source-editor-image12.png new file mode 100644 index 00000000000..1e6ede09d7b Binary files /dev/null and b/mac/2017/media/source-editor-image12.png differ diff --git a/mac/2017/media/source-editor-image12a.png b/mac/2017/media/source-editor-image12a.png new file mode 100644 index 00000000000..0af1c789cdf Binary files /dev/null and b/mac/2017/media/source-editor-image12a.png differ diff --git a/mac/2017/media/source-editor-image12b.png b/mac/2017/media/source-editor-image12b.png new file mode 100644 index 00000000000..5b1c977740f Binary files /dev/null and b/mac/2017/media/source-editor-image12b.png differ diff --git a/mac/2017/media/source-editor-image12c.png b/mac/2017/media/source-editor-image12c.png new file mode 100644 index 00000000000..bac3f035ffd Binary files /dev/null and b/mac/2017/media/source-editor-image12c.png differ diff --git a/mac/2017/media/source-editor-image12z.png b/mac/2017/media/source-editor-image12z.png new file mode 100644 index 00000000000..34a9e3e5d1d Binary files /dev/null and b/mac/2017/media/source-editor-image12z.png differ diff --git a/mac/2017/media/source-editor-image13.png b/mac/2017/media/source-editor-image13.png new file mode 100644 index 00000000000..e07d4e01b56 Binary files /dev/null and b/mac/2017/media/source-editor-image13.png differ diff --git a/mac/2017/media/source-editor-image14-sml.png b/mac/2017/media/source-editor-image14-sml.png new file mode 100644 index 00000000000..cf204f50ada Binary files /dev/null and b/mac/2017/media/source-editor-image14-sml.png differ diff --git a/mac/2017/media/source-editor-image14.png b/mac/2017/media/source-editor-image14.png new file mode 100644 index 00000000000..bf0aacfa64b Binary files /dev/null and b/mac/2017/media/source-editor-image14.png differ diff --git a/mac/2017/media/source-editor-image15.png b/mac/2017/media/source-editor-image15.png new file mode 100644 index 00000000000..90afd72653a Binary files /dev/null and b/mac/2017/media/source-editor-image15.png differ diff --git a/mac/2017/media/source-editor-image16.png b/mac/2017/media/source-editor-image16.png new file mode 100644 index 00000000000..34285fb9068 Binary files /dev/null and b/mac/2017/media/source-editor-image16.png differ diff --git a/mac/2017/media/source-editor-image17.png b/mac/2017/media/source-editor-image17.png new file mode 100644 index 00000000000..b95b1da6aaf Binary files /dev/null and b/mac/2017/media/source-editor-image17.png differ diff --git a/mac/2017/media/source-editor-image18.png b/mac/2017/media/source-editor-image18.png new file mode 100644 index 00000000000..b1c92cf4c06 Binary files /dev/null and b/mac/2017/media/source-editor-image18.png differ diff --git a/mac/2017/media/source-editor-image19.png b/mac/2017/media/source-editor-image19.png new file mode 100644 index 00000000000..c2c16e0aaf0 Binary files /dev/null and b/mac/2017/media/source-editor-image19.png differ diff --git a/mac/2017/media/source-editor-image2.png b/mac/2017/media/source-editor-image2.png new file mode 100644 index 00000000000..e621a631e35 Binary files /dev/null and b/mac/2017/media/source-editor-image2.png differ diff --git a/mac/2017/media/source-editor-image20.png b/mac/2017/media/source-editor-image20.png new file mode 100644 index 00000000000..becc86991ab Binary files /dev/null and b/mac/2017/media/source-editor-image20.png differ diff --git a/mac/2017/media/source-editor-image21.png b/mac/2017/media/source-editor-image21.png new file mode 100644 index 00000000000..31b836cf7d5 Binary files /dev/null and b/mac/2017/media/source-editor-image21.png differ diff --git a/mac/2017/media/source-editor-image22.png b/mac/2017/media/source-editor-image22.png new file mode 100644 index 00000000000..11847127ca6 Binary files /dev/null and b/mac/2017/media/source-editor-image22.png differ diff --git a/mac/2017/media/source-editor-image3.png b/mac/2017/media/source-editor-image3.png new file mode 100644 index 00000000000..9973f211459 Binary files /dev/null and b/mac/2017/media/source-editor-image3.png differ diff --git a/mac/2017/media/source-editor-image4.png b/mac/2017/media/source-editor-image4.png new file mode 100644 index 00000000000..44a85a2692c Binary files /dev/null and b/mac/2017/media/source-editor-image4.png differ diff --git a/mac/2017/media/source-editor-image5.png b/mac/2017/media/source-editor-image5.png new file mode 100644 index 00000000000..a60afbc52a6 Binary files /dev/null and b/mac/2017/media/source-editor-image5.png differ diff --git a/mac/2017/media/source-editor-image6.png b/mac/2017/media/source-editor-image6.png new file mode 100644 index 00000000000..807edd30afa Binary files /dev/null and b/mac/2017/media/source-editor-image6.png differ diff --git a/mac/2017/media/source-editor-image7.png b/mac/2017/media/source-editor-image7.png new file mode 100644 index 00000000000..e7906734737 Binary files /dev/null and b/mac/2017/media/source-editor-image7.png differ diff --git a/mac/2017/media/source-editor-image8.png b/mac/2017/media/source-editor-image8.png new file mode 100644 index 00000000000..be743060d26 Binary files /dev/null and b/mac/2017/media/source-editor-image8.png differ diff --git a/mac/2017/media/source-editor-image9.png b/mac/2017/media/source-editor-image9.png new file mode 100644 index 00000000000..e88f9deae86 Binary files /dev/null and b/mac/2017/media/source-editor-image9.png differ diff --git a/mac/2017/media/startup-proj-ctx-menu.png b/mac/2017/media/startup-proj-ctx-menu.png new file mode 100644 index 00000000000..9a73e65b4a2 Binary files /dev/null and b/mac/2017/media/startup-proj-ctx-menu.png differ diff --git a/mac/2017/media/startup-project-configured.png b/mac/2017/media/startup-project-configured.png new file mode 100644 index 00000000000..b8133e55164 Binary files /dev/null and b/mac/2017/media/startup-project-configured.png differ diff --git a/mac/2017/media/tfvc-add-new-creds-devops.png b/mac/2017/media/tfvc-add-new-creds-devops.png new file mode 100644 index 00000000000..d9ec73c6a84 Binary files /dev/null and b/mac/2017/media/tfvc-add-new-creds-devops.png differ diff --git a/mac/2017/media/tfvc-add-new-server.png b/mac/2017/media/tfvc-add-new-server.png new file mode 100644 index 00000000000..30fb293c50a Binary files /dev/null and b/mac/2017/media/tfvc-add-new-server.png differ diff --git a/mac/2017/media/tfvc-add-remove-server.png b/mac/2017/media/tfvc-add-remove-server.png new file mode 100644 index 00000000000..e75ed60e561 Binary files /dev/null and b/mac/2017/media/tfvc-add-remove-server.png differ diff --git a/mac/2017/media/tfvc-auth.png b/mac/2017/media/tfvc-auth.png new file mode 100644 index 00000000000..28dac4f1b72 Binary files /dev/null and b/mac/2017/media/tfvc-auth.png differ diff --git a/mac/2017/media/tfvc-auth2.png b/mac/2017/media/tfvc-auth2.png new file mode 100644 index 00000000000..11e9502227d Binary files /dev/null and b/mac/2017/media/tfvc-auth2.png differ diff --git a/mac/2017/media/tfvc-choose-projects.png b/mac/2017/media/tfvc-choose-projects.png new file mode 100644 index 00000000000..3e0ad6f5ccb Binary files /dev/null and b/mac/2017/media/tfvc-choose-projects.png differ diff --git a/mac/2017/media/tfvc-choose-server-type-devops.png b/mac/2017/media/tfvc-choose-server-type-devops.png new file mode 100644 index 00000000000..14af1829159 Binary files /dev/null and b/mac/2017/media/tfvc-choose-server-type-devops.png differ diff --git a/mac/2017/media/tfvc-create-new-workspace.png b/mac/2017/media/tfvc-create-new-workspace.png new file mode 100644 index 00000000000..c2a53eb6de0 Binary files /dev/null and b/mac/2017/media/tfvc-create-new-workspace.png differ diff --git a/mac/2017/media/tfvc-create-workspace.png b/mac/2017/media/tfvc-create-workspace.png new file mode 100644 index 00000000000..70da0857751 Binary files /dev/null and b/mac/2017/media/tfvc-create-workspace.png differ diff --git a/mac/2017/media/tfvc-install.png b/mac/2017/media/tfvc-install.png new file mode 100644 index 00000000000..882d615fb26 Binary files /dev/null and b/mac/2017/media/tfvc-install.png differ diff --git a/mac/2017/media/tfvc-local-workspace.png b/mac/2017/media/tfvc-local-workspace.png new file mode 100644 index 00000000000..a3b10af66de Binary files /dev/null and b/mac/2017/media/tfvc-local-workspace.png differ diff --git a/mac/2017/media/tfvc-login.png b/mac/2017/media/tfvc-login.png new file mode 100644 index 00000000000..b9e436ed54e Binary files /dev/null and b/mac/2017/media/tfvc-login.png differ diff --git a/mac/2017/media/tfvc-manage-workspaces.png b/mac/2017/media/tfvc-manage-workspaces.png new file mode 100644 index 00000000000..9444365704d Binary files /dev/null and b/mac/2017/media/tfvc-manage-workspaces.png differ diff --git a/mac/2017/media/tfvc-setup-empty-sce.png b/mac/2017/media/tfvc-setup-empty-sce.png new file mode 100644 index 00000000000..49354c4bc5c Binary files /dev/null and b/mac/2017/media/tfvc-setup-empty-sce.png differ diff --git a/mac/2017/media/tfvc-source-control-explorer-devops.png b/mac/2017/media/tfvc-source-control-explorer-devops.png new file mode 100644 index 00000000000..acef328d696 Binary files /dev/null and b/mac/2017/media/tfvc-source-control-explorer-devops.png differ diff --git a/mac/2017/media/tfvc-source-explorer.png b/mac/2017/media/tfvc-source-explorer.png new file mode 100644 index 00000000000..a9715fa413e Binary files /dev/null and b/mac/2017/media/tfvc-source-explorer.png differ diff --git a/mac/2017/media/tfvc-sourcecode-actions.png b/mac/2017/media/tfvc-sourcecode-actions.png new file mode 100644 index 00000000000..379ee9f1cde Binary files /dev/null and b/mac/2017/media/tfvc-sourcecode-actions.png differ diff --git a/mac/2017/media/tfvc-update.png b/mac/2017/media/tfvc-update.png new file mode 100644 index 00000000000..7f6794bff4f Binary files /dev/null and b/mac/2017/media/tfvc-update.png differ diff --git a/mac/2017/media/tfvc-vsts-login.png b/mac/2017/media/tfvc-vsts-login.png new file mode 100644 index 00000000000..01293465991 Binary files /dev/null and b/mac/2017/media/tfvc-vsts-login.png differ diff --git a/mac/2017/media/tfvc-vsts-projects.png b/mac/2017/media/tfvc-vsts-projects.png new file mode 100644 index 00000000000..4e48a35ac5c Binary files /dev/null and b/mac/2017/media/tfvc-vsts-projects.png differ diff --git a/mac/2017/media/tfvc-workspace1.png b/mac/2017/media/tfvc-workspace1.png new file mode 100644 index 00000000000..47bf883666d Binary files /dev/null and b/mac/2017/media/tfvc-workspace1.png differ diff --git a/mac/2017/media/tfvc-workspace2.png b/mac/2017/media/tfvc-workspace2.png new file mode 100644 index 00000000000..aa0291d3984 Binary files /dev/null and b/mac/2017/media/tfvc-workspace2.png differ diff --git a/mac/2017/media/tfvc-workspace3.png b/mac/2017/media/tfvc-workspace3.png new file mode 100644 index 00000000000..4d4a59896e6 Binary files /dev/null and b/mac/2017/media/tfvc-workspace3.png differ diff --git a/mac/2017/media/tfvc-workspace4.png b/mac/2017/media/tfvc-workspace4.png new file mode 100644 index 00000000000..bf232a55130 Binary files /dev/null and b/mac/2017/media/tfvc-workspace4.png differ diff --git a/mac/2017/media/troubleshooting-image1.png b/mac/2017/media/troubleshooting-image1.png new file mode 100644 index 00000000000..c83ceebd8ce Binary files /dev/null and b/mac/2017/media/troubleshooting-image1.png differ diff --git a/mac/2017/media/troubleshooting-image2.png b/mac/2017/media/troubleshooting-image2.png new file mode 100644 index 00000000000..f26a74f04b6 Binary files /dev/null and b/mac/2017/media/troubleshooting-image2.png differ diff --git a/mac/2017/media/troubleshooting-image3.png b/mac/2017/media/troubleshooting-image3.png new file mode 100644 index 00000000000..82ec9807d4a Binary files /dev/null and b/mac/2017/media/troubleshooting-image3.png differ diff --git a/mac/2017/media/uninstall-image1.png b/mac/2017/media/uninstall-image1.png new file mode 100644 index 00000000000..c3535044b4d Binary files /dev/null and b/mac/2017/media/uninstall-image1.png differ diff --git a/mac/2017/media/update-image1.png b/mac/2017/media/update-image1.png new file mode 100644 index 00000000000..2cf94cc0110 Binary files /dev/null and b/mac/2017/media/update-image1.png differ diff --git a/mac/2017/media/update-image2.png b/mac/2017/media/update-image2.png new file mode 100644 index 00000000000..b5d4fff490e Binary files /dev/null and b/mac/2017/media/update-image2.png differ diff --git a/mac/2017/media/update-image3.png b/mac/2017/media/update-image3.png new file mode 100644 index 00000000000..00d4d86aa6b Binary files /dev/null and b/mac/2017/media/update-image3.png differ diff --git a/mac/2017/media/update-image4.png b/mac/2017/media/update-image4.png new file mode 100644 index 00000000000..03c535eab8a Binary files /dev/null and b/mac/2017/media/update-image4.png differ diff --git a/mac/2017/media/user-accounts-login.png b/mac/2017/media/user-accounts-login.png new file mode 100644 index 00000000000..9971749b772 Binary files /dev/null and b/mac/2017/media/user-accounts-login.png differ diff --git a/mac/2017/media/using-vsmac-tools-unity-image1.png b/mac/2017/media/using-vsmac-tools-unity-image1.png new file mode 100644 index 00000000000..82bbac2c8a4 Binary files /dev/null and b/mac/2017/media/using-vsmac-tools-unity-image1.png differ diff --git a/mac/2017/media/using-vsmac-tools-unity-image2.png b/mac/2017/media/using-vsmac-tools-unity-image2.png new file mode 100644 index 00000000000..b244349a57f Binary files /dev/null and b/mac/2017/media/using-vsmac-tools-unity-image2.png differ diff --git a/mac/2017/media/using-vsmac-tools-unity-image3.png b/mac/2017/media/using-vsmac-tools-unity-image3.png new file mode 100644 index 00000000000..e6a63d451db Binary files /dev/null and b/mac/2017/media/using-vsmac-tools-unity-image3.png differ diff --git a/mac/2017/media/using-vsmac-tools-unity-image4.png b/mac/2017/media/using-vsmac-tools-unity-image4.png new file mode 100644 index 00000000000..bc536f5d927 Binary files /dev/null and b/mac/2017/media/using-vsmac-tools-unity-image4.png differ diff --git a/mac/2017/media/using-vsmac-tools-unity-image5.png b/mac/2017/media/using-vsmac-tools-unity-image5.png new file mode 100644 index 00000000000..32275d9dcdf Binary files /dev/null and b/mac/2017/media/using-vsmac-tools-unity-image5.png differ diff --git a/mac/2017/media/using-vsmac-tools-unity-image6.png b/mac/2017/media/using-vsmac-tools-unity-image6.png new file mode 100644 index 00000000000..ee33f2abee1 Binary files /dev/null and b/mac/2017/media/using-vsmac-tools-unity-image6.png differ diff --git a/mac/2017/media/using-vsmac-tools-unity-image7.png b/mac/2017/media/using-vsmac-tools-unity-image7.png new file mode 100644 index 00000000000..7bea169f388 Binary files /dev/null and b/mac/2017/media/using-vsmac-tools-unity-image7.png differ diff --git a/mac/2017/media/version-control-commitPush.png b/mac/2017/media/version-control-commitPush.png new file mode 100644 index 00000000000..3862cc1e2d3 Binary files /dev/null and b/mac/2017/media/version-control-commitPush.png differ diff --git a/mac/2017/media/version-control-git-publish-new1.png b/mac/2017/media/version-control-git-publish-new1.png new file mode 100644 index 00000000000..4ec9f03fc56 Binary files /dev/null and b/mac/2017/media/version-control-git-publish-new1.png differ diff --git a/mac/2017/media/version-control-git-publish-new2.png b/mac/2017/media/version-control-git-publish-new2.png new file mode 100644 index 00000000000..e3dc8d57038 Binary files /dev/null and b/mac/2017/media/version-control-git-publish-new2.png differ diff --git a/mac/2017/media/version-control-git-publish-new3.png b/mac/2017/media/version-control-git-publish-new3.png new file mode 100644 index 00000000000..95cf60cabe6 Binary files /dev/null and b/mac/2017/media/version-control-git-publish-new3.png differ diff --git a/mac/2017/media/version-control-git-publish-new4.png b/mac/2017/media/version-control-git-publish-new4.png new file mode 100644 index 00000000000..d42022cb4bd Binary files /dev/null and b/mac/2017/media/version-control-git-publish-new4.png differ diff --git a/mac/2017/media/version-control-git1-sml.png b/mac/2017/media/version-control-git1-sml.png new file mode 100644 index 00000000000..2663192b7a6 Binary files /dev/null and b/mac/2017/media/version-control-git1-sml.png differ diff --git a/mac/2017/media/version-control-git1.png b/mac/2017/media/version-control-git1.png new file mode 100644 index 00000000000..a412ba0df28 Binary files /dev/null and b/mac/2017/media/version-control-git1.png differ diff --git a/mac/2017/media/version-control-git10.png b/mac/2017/media/version-control-git10.png new file mode 100644 index 00000000000..2edafade2db Binary files /dev/null and b/mac/2017/media/version-control-git10.png differ diff --git a/mac/2017/media/version-control-git11.png b/mac/2017/media/version-control-git11.png new file mode 100644 index 00000000000..7daff0a4f33 Binary files /dev/null and b/mac/2017/media/version-control-git11.png differ diff --git a/mac/2017/media/version-control-git12.png b/mac/2017/media/version-control-git12.png new file mode 100644 index 00000000000..39ed32ea1ac Binary files /dev/null and b/mac/2017/media/version-control-git12.png differ diff --git a/mac/2017/media/version-control-git13.png b/mac/2017/media/version-control-git13.png new file mode 100644 index 00000000000..cf21a8dd9ac Binary files /dev/null and b/mac/2017/media/version-control-git13.png differ diff --git a/mac/2017/media/version-control-git14.png b/mac/2017/media/version-control-git14.png new file mode 100644 index 00000000000..de021218af1 Binary files /dev/null and b/mac/2017/media/version-control-git14.png differ diff --git a/mac/2017/media/version-control-git15.png b/mac/2017/media/version-control-git15.png new file mode 100644 index 00000000000..3a4a07a2b9d Binary files /dev/null and b/mac/2017/media/version-control-git15.png differ diff --git a/mac/2017/media/version-control-git2.png b/mac/2017/media/version-control-git2.png new file mode 100644 index 00000000000..986bcd9b036 Binary files /dev/null and b/mac/2017/media/version-control-git2.png differ diff --git a/mac/2017/media/version-control-git3.png b/mac/2017/media/version-control-git3.png new file mode 100644 index 00000000000..c2e019575b0 Binary files /dev/null and b/mac/2017/media/version-control-git3.png differ diff --git a/mac/2017/media/version-control-git4-sml.png b/mac/2017/media/version-control-git4-sml.png new file mode 100644 index 00000000000..6eeae8abe39 Binary files /dev/null and b/mac/2017/media/version-control-git4-sml.png differ diff --git a/mac/2017/media/version-control-git4.png b/mac/2017/media/version-control-git4.png new file mode 100644 index 00000000000..ed7c4f07df0 Binary files /dev/null and b/mac/2017/media/version-control-git4.png differ diff --git a/mac/2017/media/version-control-git5.png b/mac/2017/media/version-control-git5.png new file mode 100644 index 00000000000..afc0532563e Binary files /dev/null and b/mac/2017/media/version-control-git5.png differ diff --git a/mac/2017/media/version-control-git6.png b/mac/2017/media/version-control-git6.png new file mode 100644 index 00000000000..9e97756a291 Binary files /dev/null and b/mac/2017/media/version-control-git6.png differ diff --git a/mac/2017/media/version-control-git7.png b/mac/2017/media/version-control-git7.png new file mode 100644 index 00000000000..74bb2c88c16 Binary files /dev/null and b/mac/2017/media/version-control-git7.png differ diff --git a/mac/2017/media/version-control-git9-sml.png b/mac/2017/media/version-control-git9-sml.png new file mode 100644 index 00000000000..b97f5928da4 Binary files /dev/null and b/mac/2017/media/version-control-git9-sml.png differ diff --git a/mac/2017/media/version-control-git9.png b/mac/2017/media/version-control-git9.png new file mode 100644 index 00000000000..1beb579f235 Binary files /dev/null and b/mac/2017/media/version-control-git9.png differ diff --git a/mac/2017/media/version-control-gitBranch.png b/mac/2017/media/version-control-gitBranch.png new file mode 100644 index 00000000000..ae9fb33b7a8 Binary files /dev/null and b/mac/2017/media/version-control-gitBranch.png differ diff --git a/mac/2017/media/version-control-gitBranch2.png b/mac/2017/media/version-control-gitBranch2.png new file mode 100644 index 00000000000..0a1945005b9 Binary files /dev/null and b/mac/2017/media/version-control-gitBranch2.png differ diff --git a/mac/2017/media/version-control-gitBranchName.png b/mac/2017/media/version-control-gitBranchName.png new file mode 100644 index 00000000000..bf80a704c56 Binary files /dev/null and b/mac/2017/media/version-control-gitBranchName.png differ diff --git a/mac/2017/media/version-control-gitChange.png b/mac/2017/media/version-control-gitChange.png new file mode 100644 index 00000000000..6267bbe96aa Binary files /dev/null and b/mac/2017/media/version-control-gitChange.png differ diff --git a/mac/2017/media/version-control-gitCommit.png b/mac/2017/media/version-control-gitCommit.png new file mode 100644 index 00000000000..bed37213dce Binary files /dev/null and b/mac/2017/media/version-control-gitCommit.png differ diff --git a/mac/2017/media/version-control-gitLog.png b/mac/2017/media/version-control-gitLog.png new file mode 100644 index 00000000000..1ec1b98a0b4 Binary files /dev/null and b/mac/2017/media/version-control-gitLog.png differ diff --git a/mac/2017/media/version-control-gitPush.png b/mac/2017/media/version-control-gitPush.png new file mode 100644 index 00000000000..bb31cc5288c Binary files /dev/null and b/mac/2017/media/version-control-gitPush.png differ diff --git a/mac/2017/media/version-control-gitReviewCommit.png b/mac/2017/media/version-control-gitReviewCommit.png new file mode 100644 index 00000000000..294055618d6 Binary files /dev/null and b/mac/2017/media/version-control-gitReviewCommit.png differ diff --git a/mac/2017/media/version-control-gitTabs.png b/mac/2017/media/version-control-gitTabs.png new file mode 100644 index 00000000000..8a45c6765e9 Binary files /dev/null and b/mac/2017/media/version-control-gitTabs.png differ diff --git a/mac/2017/media/version-control-gitVersionControlMenu.png b/mac/2017/media/version-control-gitVersionControlMenu.png new file mode 100644 index 00000000000..1d853be7d94 Binary files /dev/null and b/mac/2017/media/version-control-gitVersionControlMenu.png differ diff --git a/mac/2017/media/version-control-subversion1-sml.png b/mac/2017/media/version-control-subversion1-sml.png new file mode 100644 index 00000000000..9fb159019a9 Binary files /dev/null and b/mac/2017/media/version-control-subversion1-sml.png differ diff --git a/mac/2017/media/version-control-subversion1.png b/mac/2017/media/version-control-subversion1.png new file mode 100644 index 00000000000..420b42592db Binary files /dev/null and b/mac/2017/media/version-control-subversion1.png differ diff --git a/mac/2017/media/version-control-subversion2.png b/mac/2017/media/version-control-subversion2.png new file mode 100644 index 00000000000..df4f422623a Binary files /dev/null and b/mac/2017/media/version-control-subversion2.png differ diff --git a/mac/2017/media/version-control-subversion3.png b/mac/2017/media/version-control-subversion3.png new file mode 100644 index 00000000000..55a4709e505 Binary files /dev/null and b/mac/2017/media/version-control-subversion3.png differ diff --git a/mac/2017/media/version-control-subversion5.png b/mac/2017/media/version-control-subversion5.png new file mode 100644 index 00000000000..79397402ed9 Binary files /dev/null and b/mac/2017/media/version-control-subversion5.png differ diff --git a/mac/2017/media/version-control-svnCommit.png b/mac/2017/media/version-control-svnCommit.png new file mode 100644 index 00000000000..7690bb3e132 Binary files /dev/null and b/mac/2017/media/version-control-svnCommit.png differ diff --git a/mac/2017/media/version-control-svnVersionControlMenu.png b/mac/2017/media/version-control-svnVersionControlMenu.png new file mode 100644 index 00000000000..a4cde9cabc7 Binary files /dev/null and b/mac/2017/media/version-control-svnVersionControlMenu.png differ diff --git a/mac/2017/media/version-control-vcStatus.png b/mac/2017/media/version-control-vcStatus.png new file mode 100644 index 00000000000..b0213f1523f Binary files /dev/null and b/mac/2017/media/version-control-vcStatus.png differ diff --git a/mac/2017/media/version-control-vcTabs.png b/mac/2017/media/version-control-vcTabs.png new file mode 100644 index 00000000000..c4c007990fb Binary files /dev/null and b/mac/2017/media/version-control-vcTabs.png differ diff --git a/mac/2017/media/visual-studio-experience-improvement-program-image1.png b/mac/2017/media/visual-studio-experience-improvement-program-image1.png new file mode 100644 index 00000000000..4f790db53a9 Binary files /dev/null and b/mac/2017/media/visual-studio-experience-improvement-program-image1.png differ diff --git a/mac/2017/media/vsmac-tools-unity-image1.png b/mac/2017/media/vsmac-tools-unity-image1.png new file mode 100644 index 00000000000..fb5244b4eea Binary files /dev/null and b/mac/2017/media/vsmac-tools-unity-image1.png differ diff --git a/mac/2017/nuget-walkthrough.md b/mac/2017/nuget-walkthrough.md new file mode 100644 index 00000000000..f712a6f376c --- /dev/null +++ b/mac/2017/nuget-walkthrough.md @@ -0,0 +1,119 @@ +--- +title: "Including a NuGet package in your project" +description: This document covers how to include a NuGet package in a Xamarin project. It walks through finding and downloading a package, as well as introducing the IDE integration features. +author: conceptdev +ms.author: crdun +ms.date: 04/14/2017 +ms.assetid: 5C800815-0B13-4B27-B017-95FCEF1A0EA2 +ms.custom: video +--- + +# Include a NuGet package in your project + +NuGet is the most popular package manager for .NET development and is built in to Visual Studio for Mac and Visual Studio on Windows. You can search for and add packages to your Xamarin.iOS and Xamarin.Android projects using either IDE. + +This article describes how to include a NuGet package in a project and demonstrates the tool chain that makes the process seamless. + +## NuGet in Visual Studio for Mac + +To demonstrate the NuGet package functionality, we'll first walk through creating a new application and adding a package to it. Then we'll discuss the IDE features that help manage packages. + +## Create a new project + +First, create a project named `HelloNuget` as illustrated below. This example shows the iOS Single View Application template, but any supported project type would work: + +![Create new iOS Project](media/nuget-walkthrough-NewProject.png) + +## Adding a Package + +With the project open in Visual Studio for Mac, right-click on the **Packages** folder in the **Solution Pad** and select **Add Packages**: + +![Add new NuGet package context action](media/nuget-walkthrough-PackagesMenu.png) + +This launches the **Add Packages** window. Ensure that the Source drop-down, is set to `nuget.org`: + +![Source list drop-down](media/nuget-walkthrough-Source.png) + +When the window opens it loads a list of packages from the default package source: nuget.org. The initial results look like this: + +![List NuGet Packages](media/nuget-walkthrough-AddPackages1.png) + +Use the search box in the top-right corner to find a specific package, for example `azure`. When you've found a package that you wish to use, select it and click the **Add Package** button to begin installation. + +[Add Azure NuGet Package](media/nuget-walkthrough-AddPackages2.png) + +Once the package has been downloaded, it will be added to your project. The solution will change as follows: + +* The **References** node will contain a list of all the assemblies that are part of a NuGet package. +* The **Packages** node displays each NuGet package that you have downloaded. You can update or remove a package from this list. +* A **packages.config** file will be added to the project. This XML file is used by the IDE to track which package versions are referenced in this project. This file should not be hand-edited, but you should keep it in version control. Note that a project.json file can be used instead of a packages.config file. The project.json file is a new package file format introduced with NuGet 3, which supports transitive restore. More detailed information on project.json can be found in the [NuGet documentation](http://docs.microsoft.com/NuGet/Schema/Project-Json). The project.json file needs to be added manually and the project closed and re-opened before the project.json file is used in Visual Studio for Mac. + +## Using NuGet Packages + +Once the NuGet package has been added and the project references updated, you can program against the APIs as you would with any project reference. + +Ensure that you add any required `using` directives to the top of your file: + +```csharp +using Newtonsoft.Json; +``` + +Most NuGet provide additional information, such as a README or Project page link to the Nuget source. You can normally find a link to this in the package blurb on the Add Packages page: + +[View Project Page link](media/nuget-walkthrough-project-page.png) + + + +## Package Updates + +Package updates can be done either all at once, by right-clicking on the **Packages** node, or individually on each component. + +Right-click on **Packages** to access the context menu: + +![Packages menu](media/nuget-walkthrough-PackagesMenu.png) + +* **Add Packages** - Opens the window to add more packages to the project. +* **Update** - Checks the source server for each package and downloads any newer versions. +* **Restore** - Downloads any missing packages (without updating existing packages to newer versions). + +Update and Restore options are also available at the Solution level, and affect all the projects in the solution. + +You can also right-click on individual packages to access a context menu: + +![Packages menu](media/nuget-walkthrough-PackageMenu.png) + +* **Version Number** - The version number is a disabled menu item - it is provided for informational purposes only. +* **Update** - Checks the source server and downloads a newer version (if it exists). +* **Remove** - Removes the package from this project and removes the relevant assemblies from the project's References. + +## Adding Package Sources + +Packages available for installation are initially retrieved from nuget.org. However, you can add other package locations to Visual Studio for Mac. This can be useful for testing your own NuGet packages under development, or to use a private NuGet server inside your company or organization. + +In Visual Studio for Mac, navigate to **Visual Studio > Preferences > NuGet > Sources** to view and edit the list of package sources. Note that sources can be a remote server (specified by a URL) or a local directory. + +![Package Sources](media/nuget-walkthrough-PackageSource.png) + +Click **Add** to set-up a new source. Enter a friendly name and the URL (or file path) to the package source. If the source is a secure web server, enter the username and password as well, otherwise leave these entries blank: + +![Add Package Sources](media/nuget-walkthrough-PackageSource2.png) + +Different sources can then be selected when searching for packages: + +![Add Package Sources](media/nuget-walkthrough-PackageSource3.png) + +## Version Control + +The NuGet documentation discusses [using NuGet without committing packages to source control](/nuget/consume-packages/packages-and-source-control). If you prefer not to store binaries and unused information in source control, you can configure Visual Studio for Mac to automatically restore packages from the server. This means that when a developer retrieves the project from source control for the first time, Visual Studio for Mac will automatically download and install the required packages. + +![Automatically restore packages](media/nuget-walkthrough-AutoRestore.png) + +Refer to your particular source control documentation for details on how to exclude the `packages` directory from being tracked. + +## Related Video + +> [!Video https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-for-Mac-Using-NuGet/player] + +## See also + +* [Install and use a package in Visual Studio (on Windows)](/nuget/quickstart/install-and-use-a-package-in-visual-studio) diff --git a/mac/2017/open-multiple-solutions.md b/mac/2017/open-multiple-solutions.md new file mode 100644 index 00000000000..9ee5c0832b1 --- /dev/null +++ b/mac/2017/open-multiple-solutions.md @@ -0,0 +1,51 @@ +--- +title: "How to: Open multiple solutions in Visual Studio for Mac" +description: Learn how to open more than one solution in Visual Studio for Mac, and how to open more than one instance of the application. +author: conceptdev +ms.author: crdun +ms.date: 07/19/2018 +ms.assetid: 592BA4E3-8DEF-4FCD-8BA0-519A4CEEE03E +ms.custom: video +--- + +# Open multiple solutions or instances of Visual Studio for Mac + +By default, all applications on a Mac, including Visual Studio for Mac, are _single-instance_ apps. This means that if the application you want to use is already open (illustrated by a dot under the icon in the dock), selecting the icon again opens the running instance, rather than a new one. If you require additional instances of the application, you can prompt the system to open it for you, as described in the [next section](#open-a-second-instance-of-visual-studio-for-mac). + +In addition, when you open a solution, the default behavior is to open the solution in a new workspace and close the current workspace (if necessary). You can override this default behavior by keeping the current workspace open, as described in the [Open a second solution](#open-a-second-solution-inside-a-single-instance) section. + +## Open a second instance of Visual Studio for Mac + +To open a second instance of the integrated development environment (IDE), open the **Terminal** application and enter the following line: + +```bash +open -n "/Applications/Visual Studio.app" +``` + +## Open a second solution inside a single instance + +To open a second solution alongside your first solution, use the following steps: + +1. With your first solution already open, select **File** > **Open**. +2. Browse the file system to find the existing solution. +3. Select the **.sln** file, and select **Options**: + + ![Screenshot of Visual Studio for Mac, with the .sln file and Options highlighted](media/open-multiple-solutions-image3.png) + +4. Clear the **Close current workspace** box: + + ![Screenshot of Options dialog box, with Close current workspace box cleared](media/open-multiple-solutions-image1.png) + +5. Select **Open** to open the second solution in the Solution Pad. + +Alternatively, if you've recently opened the solution, you can use the following steps: + +1. Go to **File** > **Recent Solutions**. + + ![Screenshot of Recent Solutions menu](media/open-multiple-solutions-image2.png) + +1. Hold down the **Ctrl** key and select the solution. This combination opens the second solution in the Solution Pad. + +## Related Video + +> [!Video https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-for-Mac-Work-With-Multiple-Solutions/player] diff --git a/mac/2017/projects-and-solutions.md b/mac/2017/projects-and-solutions.md new file mode 100644 index 00000000000..5598ca1addb --- /dev/null +++ b/mac/2017/projects-and-solutions.md @@ -0,0 +1,23 @@ +--- +title: "Projects and Solutions" +description: This document provides an overview of Projects and Solutions in Visual Studio for Mac. +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: 8254505D-D96E-48BD-8A5E-CF6A917897EA +--- +# Projects and Solutions + +Visual Studio for Mac provides a _Solution Pad_ to display a tree view of the entire open solution. The **Solution** pad allows easy access to source code, resources, user interfaces, and assembly references contained in individual projects. Solution Pad, by default, opens one solution at a time. Each solution can include many projects, and each project can contain many items. + +## Using Projects and Solutions + +To create a new Project or Solution, refer to the [Creating new Projects and Solutions](create-new-projects.md) article. + +## Project and Solution Options + +You can manage the properties of both projects and solutions by either double-clicking on the project or solution name, or by right-clicking and browsing to **Options**. More information on these options is provided in the [Managing Solutions and Project Properties](managing-solutions-and-project-properties.md) article. + +## See also + +- [Solutions and projects in Visual Studio (on Windows)](/visualstudio/ide/solutions-and-projects-in-visual-studio) \ No newline at end of file diff --git a/mac/2017/publish-app-svc.md b/mac/2017/publish-app-svc.md new file mode 100644 index 00000000000..8400d1e6154 --- /dev/null +++ b/mac/2017/publish-app-svc.md @@ -0,0 +1,68 @@ +--- +title: Publish to Azure App Service +ms.date: 01/17/2019 +ms.topic: "quickstart" +helpviewer_keywords: + - "deployment, website" +ms.assetid: 8524a4c5-97a9-41ac-a2a0-034efb9bfc57 +author: sayedihashimi +ms.author: sayedha +manager: unniravindranathan +ms.prod: visual-studio-mac +ms.custom: video +ms.workload: + - "azure" +--- +# Publish a Web app to Azure App Service using Visual Studio for Mac + +You can use the Publish tool to publish ASP.NET Core apps to Azure App Service. + +## Prerequisites + + - [Visual Studio 2017 for Mac](https://visualstudio.microsoft.com/downloads/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=inline+link&utm_content=download+vs4mac2017) installed with ASP.NET Core enabled. + - An Azure Subscription. If you do not already have a subscription, [sign up for free](https://azure.microsoft.com/free/dotnet/), which includes $200 in credit for 30 days and 12 months of popular free services. + - An ASP.NET Core project. If you don’t already have a project, you can [create a new one](https://docs.microsoft.com/visualstudio/mac/create-new-projects?view=vsmac-2017). + +## Publish to Azure App Service + + 1. In the Solution Pad, right-click the project and choose **Publish**. + + ![Publish context menu](media/publish-context-menu.png) + + 2. If you have previously published this project to Azure App Service, you'll see the publish profile in the menu. Select that publish profile to start the publish process. + + 3. To publish this project to App Service for the first time, select **Publish to Azure** + + ![Publish to App Service context menu](media/publish-to-azure-context-menu.png) + + 4. The **Publish to Azure App Service** dialog appears, and any existing App Services are shown. To publish to an existing App Service, select the App Service in the list and then click **Publish**. + + ![Publish to Azure App Service dialog](media/publish-to-app-service-dialog.png) + + 5. To create a new App Service, click the **New** button. + + ![Publish to App Service Dialog](media/publish-to-app-service-dialog-new-selected.png) + + 6. The **New App Service** dialog appears. In this dialog you can configure the settings for your new App Service. + + ![New App Service dialog](media/publish-new-app-service.png) + + There are a few options to consider customizing here. The name of the App Service will default to the project name. If the name is not available a warning sign will appear on the right hand side of the input field. The name of the App Service will be used in the URL of your website, so the name must be valid to be used in a URL. + + You can change the subscription that the App Service will be associated with using the **Subscription** dropdown. + + You can select an existing **Resource Group** using the dropdown or you can create a new one with the **+** button. + + For the App Service plan, select an existing one, or create a new one by selecting the **Custom** radio button. + + To create your new App Service, and publish your project to it, click **Create**. + + After clicking **Create** the **New App Service** dialog will be dismissed, and you should see the following message indicating that creating the App Service has started. + + ![Create App Service Message](media/publish-create-app-service-message.png) + + After clicking **OK** the message is dismissed, and you can continue working on your project. You can watch the status of the publish process with the status bar at the top of the IDE. Once your web app is successfully published, the site is opened with your default browser. + +## Related Video + +> [!Video https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-for-Mac-Publish-to-Azure/player] diff --git a/mac/2017/publish-folder.md b/mac/2017/publish-folder.md new file mode 100644 index 00000000000..067097979e3 --- /dev/null +++ b/mac/2017/publish-folder.md @@ -0,0 +1,54 @@ +--- +title: Publish to a folder +ms.date: 01/22/2019 +ms.topic: "quickstart" +helpviewer_keywords: + - "deployment, website" +ms.assetid: e963fb4b-6d32-4d45-86bb-ef7e4d3028b0 +author: sayedihashimi +ms.author: sayedha +manager: unniravindranathan +ms.prod: visual-studio-mac +--- +# Publish a Web app to a folder using Visual Studio for Mac + +You can use the Publish tool to publish ASP.NET Core apps to a folder. + +## Prerequisites + + - [Visual Studio 2017 for Mac](https://visualstudio.microsoft.com/downloads/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=inline+link&utm_content=download+vs4mac2017) installed with ASP.NET Core enabled. + - An ASP.NET Core project. If you don’t already have a project, you can [create a new one](https://docs.microsoft.com/visualstudio/mac/create-new-projects?view=vsmac-2017). + +## Publish to Folder + +Using Visual Studio for Mac you can publish your ASP.NET Core projects to a folder using the Publish tool. After publishing to a folder you can transfer the files to your web server to get it into a different environment. To publish to a folder follow these steps. + + 1. In the Solution Pad, right-click the project and choose **Publish**. + + ![Publish context menu](media/publish-context-menu.png) + + 2. If you have previously published this project, you'll see the publish profile in the menu. Select that publish profile to start the publish process. + + 3. To publish this project to a folder for the first time, select **Publish to Folder** + + ![Publish to folder context menu](media/publish-to-folder-context-menu.png) + + 4. The **Publish to Folder** dialog appears. On this dialog you can customize the folder where the project will be published. You can use the **Browse** button to do this, or paste in a path. + + 5. After clicking **Publish** a few things happen. First a publish profile is created. A publish profile is an MSBuild file that is imported into the project during the publish process. It contains the properties that are used during the publish process. These files are stored in the `Properties/PublishProfiles` and have the extension `.pubxml`. Next, the publish process is started. You can monitor the progress by watching the status bar in Visual Studio for Mac. + + ![IDE status bar with Publish status](media/publish-to-folder-status-bar.png) + + 6. Once publish completes successfully a Finder window will open to the publish folder. Now that a publish profile has been created, it will be displayed in the Publish context menu. + + ![Publish context menu with folder profile](media/publish-context-menu-with-folder-profile.png) + + 7. To publish the project again with the same settings you can click on the profile in the publish context menu. + +## Customize Publish Options + +To change the name of the publish profile (which is displayed in the publish context menu), rename the publish profile file. Make sure to not change the extension of the file (`.puxbml`). + +To change the publish folder path, open the publish profile and edit the `publishUrl` value. + +To change the build configuration that is used, change the `LastUsedBuildConfiguration` property in the publish profile. \ No newline at end of file diff --git a/mac/2017/razor.md b/mac/2017/razor.md new file mode 100644 index 00000000000..21b84b6a2f6 --- /dev/null +++ b/mac/2017/razor.md @@ -0,0 +1,27 @@ +--- +title: "Razor" +description: "Information on the razor support in asp.net core apps in Visual Studio for Mac" +author: conceptdev +ms.author: crdun +ms.date: 05/03/2018 +ms.topic: article +ms.technology: vs-ide-general +ms.assetid: F898CB6E-05ED-44CD-8DB6-427B2592CCC6 +--- + +# Razor support + +Visual Studio for Mac supports Razor editing, including IntelliSense and syntax highlighting in *.cshtml* files. + +![razor editing in visual studio for mac](media/razor-image1.png) + +## Getting Started with Razor in Visual Studio for Mac + +There are two options to consider when getting started with Razor in Visual Studio for Mac: Razor Pages in ASP.NET Core and ASP.NET Core MVC. For tutorials and more information on both options, visit one of the guides below: + +- [Get started with Razor Pages in ASP.NET Core on macOS with Visual Studio for Mac](/aspnet/core/tutorials/razor-pages-mac/razor-pages-start?view=aspnetcore-2.1) +- [Get started with ASP.NET Core MVC and Visual Studio for Mac](/aspnet/core/tutorials/first-mvc-app-mac/start-mvc?view=aspnetcore-2.1) + +## See also + +- [Get started with C# and ASP.NET Core in Visual Studio (on Windows)](/visualstudio/ide/tutorial-csharp-aspnet-core) \ No newline at end of file diff --git a/mac/2017/refactoring.md b/mac/2017/refactoring.md new file mode 100644 index 00000000000..78cf83e03b3 --- /dev/null +++ b/mac/2017/refactoring.md @@ -0,0 +1,111 @@ +--- +title: Refactoring code +description: Re-organizing code in Visual Studio for Mac is made simple through the use of Source Analysis. +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: C7782BF3-016F-4B41-8A81-85FC540A1A8F +ms.custom: video +--- +# Refactoring + +Refactoring code is a way to rearrange, restructure, and clarify existing code while ensuring that the overall behavior of the code doesn't change. + +Refactoring produces a healthier code base, making it more useable, readable, and maintainable for you or any other developer or user that might refer to the code. + +Visual Studio for Mac's integration with Roslyn, Microsoft's open-source .NET compiler platform, allows for more refactoring operations. + +## Renaming + +The *Rename* refactoring command can be used on any code identifier (for example, a class name, property name etc.) to find all occurrences of that identifier and change them. To rename a symbol, right-click on it and choose **Refactor > Rename**, or the **Cmd + R** key binding: + +![Rename menu item](media/refactoring-renaming1.png) + +This highlights the symbol and any references to it. When you start typing a new name it automatically changes all references in your code, and you can signal your completion of the rename by pressing **Enter**: + +![Renaming and identifier](media/refactoring-renaming2.png) + +## Context actions + +Context actions allow you to inspect any C# code, and see all possible refactoring options. + +The **Resolve** and **Refactor** context items are combined into a single *Quick Fix...* item that will provide you with all the available Context actions: + +![Display Context Items](media/refactoring-context-action.png) + +Hovering over any of the context actions provides you with a preview of what will be added or removed from your code. + +Alternatively, you can press **Option + Enter** anywhere in your code: + +![Option Enter Context items](media/refactoring-image2a.png) + +To enable these options, you must select *Enable source analysis of open files* in the options **Visual Studio for Mac > Preferences > Text Editor > Source Analysis**: + +![Enabling Source analysis](media/refactoring-options.png) + +There are over 100 possible actions that can be suggested, which are enabled or disabled by browsing to **Visual Studio for Mac > Preferences > Source Analysis > C# > Code Actions** and selecting or unselecting the box next to the action: + +![C# Source Analysis actions](media/refactoring-image3a.png) + +### Common context actions + +Some of the mostly commonly used context actions are explained below. + +#### Extract method + +The extract method refactoring operation allows you to create a new method by extracting a selection of code in an existing member. This action will do two things: + +* Creates a new method containing the selected code +* Calls the new method in the place where the selected code was. + +##### Example + +1. Add the following code: + +```csharp + class MainClass + { + + double CalculatePyramidVolume(double baseArea, double height) + { + + double volume = (baseArea * height) / 3; + + return volume; + } + } +``` + +2. Highlight the line `double volume = (baseArea * height) / 3;`, right click on it, and select **Refactor > Extract Method**. + +3. Use the arrow keys to select where the new method should be placed in your code. + +#### Encapsulate field + +The Encapsulate Field operation allows you to create a property from an existing field, and updates your code to reference the newly created property. By creating a property that encapsulates your field, you are disallowing direct access to your public field, meaning that other objects can't modify it. + +This action will do the following: + +* Changes the access modifier to private. +* Generates a getter and setter for the field (unless the field is read-only, in which case it will only create a getter). + +## Source analysis + +Source analysis analyzes your code on the fly by underlining potential errors and style violations, and providing auto fixes as context actions. + +You can view all results of the source analysis for any file, at any time, by viewing the scroll bar on the right side of the text editor: + +![Source Analysis sidebar](media/refactoring-image4a.png) + +If you click on the circle at the top, you can iterate through each suggestion, with the highest severity issues showing first. Hovering over an individual result or line displays the issue, which can be fixed through context actions: + +![Source Analysis Item](media/refactoring-image5.png) + +## Related Video + +> [!Video https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-for-Mac-Refactoring-Code/player] + +## See also + +- [Quick Actions (Visual Studio on Windows)](/visualstudio/ide/quick-actions) +- [Refactor code (Visual Studio on Windows)](/visualstudio/ide/refactoring-in-visual-studio) \ No newline at end of file diff --git a/mac/2017/report-a-problem.md b/mac/2017/report-a-problem.md new file mode 100644 index 00000000000..5c543ec2227 --- /dev/null +++ b/mac/2017/report-a-problem.md @@ -0,0 +1,65 @@ +--- +title: "Report a Problem with Visual Studio for Mac" +description: "How to make suggestions or report issues experienced while using Visual Studio for Mac." +ms.topic: troubleshooting +author: jmatthiesen +ms.author: jomatthi +ms.date: 11/16/2018 +ms.assetid: 1C7AC52E-754E-473F-A5B5-00C3A40DAACD +--- +# How to report a problem in Visual Studio for Mac + +If you experience a problem with Visual Studio for Mac, we want to know about it. Here's how to report the problem to [Developer Community](https://developercommunity.visualstudio.com/spaces/41/index.html) so that we can diagnose and fix it. + +## How to report a problem + +To report a problem for Visual Studio for Mac, the best option is to initiate the report from Visual Studio for Mac. Reporting through Visual Studio for Mac allows for diagnostic information to be automatically included in the report. If you can't use Visual Studio for Mac (due to a crash, for example), you can report the issue directly on the [Developer Community](https://developercommunity.visualstudio.com/content/problem/post.html?space=41) site. + +To report a problem with Visual Studio for Mac, select **Help > Report a Problem** from the menu bar: + +![report a problem link](media/report-problem-image1.png) + +1. If you are not signed in, select **Sign In**; it's on the right-hand side of the tool, as shown in the following screenshot. Follow the instructions on-screen to sign in. + + ![dialog with "sign in" button](media/report-problem-image2.png) + + When you sign in, you can report a problem that you're experiencing. You can also vote or comment on any other problem that you see posted. + +1. Once signed in, you will be able to see your reported problems and solutions in the **Followed problems and solutions** screen + + ![list of reported problems](media/report-problem-image3.png) + +1. Visual Studio for Mac provides an interface to search for your problem and see if others have reported it. If someone has reported it, you can click on the title and "up-vote" it to let us know. + > [!NOTE] + > To search, enter your search terms into the search box and either click Enter or press the Search icon. + + ![Search and vote for similar problems](media/report-problem-image4.png) + +1. If you don’t find the problem you encountered, choose **Report a New Problem** at the side of the screen. + + > [!NOTE] + > The **Report a New Problem** button only appears in the Visual Studio for Mac interface for Developer Community. You can't report a problem directly on the [Developer Community](https://developercommunity.visualstudio.com/) website. + +1. Create a descriptive title for the problem that helps us route it to the correct Visual Studio for Mac team. + +1. Give us any additional details, and if possible, provide us with the steps to reproduce the problem. + + ![Report a new problem](media/report-problem-image5.png) + +1. Select **Next** to move to the **Include Attachments** tab. Here, you can capture your current screen to send it to Microsoft. To attach log files, click on the ![Attach Logs](media/report-problem-attach-logs.png) icon, or to attach additional screenshots and other files, click on the ![Attach File](media/report-problem-attach-file.png) icon. + + ![Attach a screenshot to a Visual Studio for Mac problem report](media/report-problem-image6.png) + +1. Select **Submit** to send your report, along with any images and log files. + + For information about what data is collected, see [Data we collect](/visualstudio/ide/developer-community-privacy.md#data-we-collect). + +## Search for solutions or provide feedback + +If you don't want to, or can't, use Visual Studio for Mac to report a problem, there's a chance that the problem has already been reported and a solution posted on the [Visual Studio Developer Community](https://developercommunity.visualstudio.com/) page. + +If you don't have a problem to report but want to suggest a feature, there's a place for that, too. For more information, see the [Suggest a feature](https://developercommunity.visualstudio.com/content/idea/post.html?space=41) page. + +## See also + +- [Report a problem with Visual Studio (on Windows)](/visualstudio/ide/how-to-report-a-problem-with-visual-studio-2017) diff --git a/mac/2017/set-startup-projects.md b/mac/2017/set-startup-projects.md new file mode 100644 index 00000000000..65e0726aeb1 --- /dev/null +++ b/mac/2017/set-startup-projects.md @@ -0,0 +1,43 @@ +--- +title: "Set multiple startup projects in Visual Studio for Mac" +description: "This article describes how to set multiple projects to start on run or debug." +author: sayedihashimi +ms.author: sayedha +ms.date: 02/21/2019 +ms.topic: conceptual +ms.prod: visual-studio-mac +ms.assetid: fd354fff-ce6b-4505-a815-84a2311e39ba +--- +# How to: Set multiple startup projects + +Visual Studio for Mac allows you to specify how more than one project is started when you debug, or run, your solution. + +## To set multiple startup projects + +1. In **Solution Pad**, select the solution (the top node). + +2. Choose the solution node's context (right-click) menu and then choose **Set Startup Projects...**. + + ![Set startup projects context menu](media/startup-proj-ctx-menu.png) + +3. The **Create Solution Run Configuration** dialog appears. This dialog will create a new named Solution Run Configuration for your solution. You can give any name you like, the default name is `Multiple Projects`. + + ![Create Solution Run Configuration dialog](media/create-sln-run-config.png) + +4. Click **Create Run Configuration**. The **Solution Options** dialog opens with the new Solution Run Configuration selected. + + ![Solution Options dialog](media/sln-options-run-config-multi-projects.png) + +5. Select the projects that you want to start when you debug, or run, your application from Visual Studio for Mac. + + ![Solution options dialog with configured run configuration](media/sln-options-run-config-multi-projects-configured.png) + +6. Click **OK**. The dialog will be dismissed, and the new Solution Run Configuration is set as the active run configuration. + + ![Solution with multiple projects configured to start on debug or run](media/startup-project-configured.png) + You can see that two projects are configured to start because both projects are in **bold** in the **Solution Pad**. In the toolbar, the new run configuration is configured as the current Solution Run Configuration. + +## Next steps + +- [Compiling and building in Visual Studio for Mac](compiling-and-building.md) +- [Understanding build configurations](configurations.md) \ No newline at end of file diff --git a/mac/2017/set-up-git-repository.md b/mac/2017/set-up-git-repository.md new file mode 100644 index 00000000000..29b5fcd969a --- /dev/null +++ b/mac/2017/set-up-git-repository.md @@ -0,0 +1,161 @@ +--- +title: Setting up a Git Repository +description: Using Git and Subversion in Visual Studio for Mac. +author: conceptdev +ms.author: crdun +ms.date: 02/15/2018 +ms.assetid: E992FA1D-B2AD-4A28-ADC6-47E4FC471060 +--- +# Set up a Git repository + +Git is a distributed version control system that allows teams to work on the same documents simultaneously. This means there is a single server that contains all the files, but whenever a repository is checked out from this central source, the entire repository is cloned locally to your machine. + +There are many remote hosts that allow you to work with Git for version control, however the most common host is GitHub. The following example uses a GitHub host, but you can use any Git host for version control in Visual Studio for Mac. + +If you wish to use GitHub, make sure that you have an account created and configured before following the steps in this article. + +## Creating a remote repo on GitHub + +The following example uses a GitHub host, but you can use any Git host for version control in Visual Studio for Mac. + +To set up a Git repository, execute the following steps: + +1. Create a new Git repo at github.com: + + ![Create new git repo](media/version-control-git1-sml.png) + +2. Set Repo Name, description, and privacy. Do **not** initialize Repo. Set .gitignore and license to None: + + ![Set details of git repo](media/version-control-git2.png) + +3. The next page gives you an option to display and copy either the HTTPS or SSH address to the repo you have created: + + ![view and copy address](media/version-control-git3.png) + + You'll need the HTTPS address to point Visual Studio for Mac to this repo. + +## Publishing an existing project + +If you have an existing project that _is not_ already in version control, use the following steps to set it up in Git: + +1. Select the Solution name from the Solution Pad in Visual Studio for Mac. + +2. In the Menu bar, select **Version Control > Publish in Version Control** to display the **Select Repository** dialog: + + ![Start checkout in Visual Studio for Mac](media/version-control-git4-sml.png) + + If this menu item appears greyed out in the menu, make sure you have selected the Solution name. + +3. Choose the **Registered Repositories** tab and press the **Add** button: + + ![](media/version-control-git5.png) + +4. Enter the name of the repository as you would like it to display locally, and paste in the URL from step #3. Your Repository Configuration dialog should look similar to the following. Press OK: + + ![Enter git details dialog](media/version-control-git6.png) + + It is also possible to use SSH to connect to Git. + +5. To attempt to publish the app to Git, select the repository, and ensure that both **Module Name** and **Message** text fields are completed: + + ![Attempt to publish project to git](media/version-control-git7.png) + +6. Click **Okay**, and then **Publish** from the alert dialog. + +7. In the **Git Credentials** window, enter your GitHub username and password. + +> [!NOTE] +> If your account has two-factor authentication (2FA) enabled, you will need to create an Access Token, which is used in place of a password. If you have not created an access token, follow the steps in the Git [Access Token](https://help.github.com/articles/creating-an-access-token-for-command-line-use/) documentation. + +8. Enter the username and Personal Access Token, and press **Okay**: + + ![Enter username and password for git](media/version-control-git9-sml.png) + +9. After a few seconds, the Solution should be published with its initial commit. Confirm it has been published by browsing the Version Control menu item, which should now be populated with many options: + + ![Version Control Menu](media/version-control-git10.png) + +10. Once you start to make additional changes, select **Push Changes** to push the changes to the **remote** repository. This will allow all appropriate users to view it on github.com: + + ![Push Changes to remote repository](media/version-control-git11.png) + +## Publishing a new project + +The new project dialog can be used to create a new project with a local git repository. To enable it, select the **Use git for version control** checkbox, as illustrated in the following screenshot. This will initialize your repo and add an optional .gitignore file: + +![Create new project with git support](media/version-control-git-publish-new1.png) + +Follow the steps below to push your new local repository to a new GitHub repository: + +> [!NOTE] +> If you have not already created a GitHub repository, refer to the [Creating a remote repo on GitHub](#creating-a-remote-repo-on-github) section. + +1. Create your first commit by going to **Version Control > Review Solution and Commit** in the Menu Bar. + +2. In the Status tab, choose **Commit** in the top left. + +3. Write a commit message, for example "First Commit", then click on **Commit**: + + ![Commit initial changes to the git repository](media/version-control-git-publish-new2.png) + +4. Next, in the Menu Bar go to **Version Control > Manage Branches and Remotes**. + +5. Go to the **Remote Sources** tab, then click **Add**. + +6. In the **Remote Source** window, add the details of your previously created GitHub repository and click **OK**: + + ![Configure remote sources for git repository](media/version-control-git-publish-new3.png) + +7. Close the **Git Repository Configuration** window, then in the Menu Bar go to **Version Control > Push Changes**. + +8. In the **Push to Repository** window click on the **Push Changes** button: + + ![Push the changes to the remote repository](media/version-control-git-publish-new4.png) + +9. When prompted, enter your GitHub username and password. + +> [!NOTE] +> If your account has two-factor authentication (2FA) enabled, you will need to create an Access Token, which is used in place of a password. If you have not created an access token, follow the steps in the Git [Access Token](https://help.github.com/articles/creating-an-access-token-for-command-line-use/) documentation. + +Visual Studio for Mac will now push the changes to your remote GitHub repository: + +![Push operation successfully completed confirmation](media/version-control-git11.png) + +## Check out an existing repository + +It's likely that you'll have to work with a GitHub repo that exists only on the remote, not on your local machine. Visual Studio for Mac allows you to check this repo out quickly. Follow the steps below to clone it to your machine: + +1. In the Menu bar, select **Version Control > Checkout**: + +2. This displays the **Connect to Repository** tab: + + ![Connect to Repository tab with details entered](media/version-control-git13.png) + +3. On the GitHub page of the remote repository, press the **Clone or Download** button and copy the URL provided: + + ![github url displayed](media/version-control-git14.png) + +4. Replace all the text in the **URL** entry field in the **Connect to Repository** tab. This will populate most other fields in this tab for you, as illustrated in the image in step #2. + +5. Enter the directory that you want to clone the repo into and press **Checkout**. + +> [!NOTE] +> You may experience issues if the repo is over 4 GB in size. + +## Troubleshooting + +If you have issues with initializing your project with an empty remote repository, you can try the following steps: + +1. Go to your solution folder. +1. Press **Command + Shift + .** to show the hidden files and folders. +1. If there's a **.git** folder, delete it. +1. If there's a **gitignore** file, delete it. +1. Press **Command + Shift + .** to hide the files and folders. +1. Open your solution in VS for Mac. +1. On the solution Pad, select your solution node. +1. Browse to the Version Control menu and choose **Publish in Version Control**. +1. Follow the steps of the above tutorial starting from the step 6. + +## See also + +- [Version control in Visual Studio (on Windows)](/visualstudio/version-control/) diff --git a/mac/2017/set-up-subversion-repository.md b/mac/2017/set-up-subversion-repository.md new file mode 100644 index 00000000000..160a8613dff --- /dev/null +++ b/mac/2017/set-up-subversion-repository.md @@ -0,0 +1,55 @@ +--- +title: Setting Up a Subversion Repository +description: Using Subversion in Visual Studio for Mac. +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: 0D58FB37-530E-495B-BED6-FD499477A9B6 +--- +# Set up a Subversion repository + +Subversion is a centralized _version control system_, meaning that there's a single server that contains all files and revisions, from which users can check out any version of any file. When files are checked out from a remote Subversion repository, the user gets a snapshot of the repository at that point in time. + +To use Subversion for your version control, it must be installed on your machine. To check if Subversion is installed your machine, use the following command in Terminal: + +```bash +svn --version +``` + +This command returns the version number. + +If Subversion isn't already installed, the easiest way to get it is by installing the _Xcode Command Line Tools_. Use the command below to install Xcode Command Line Tools and Subversion. + +```bash +xcode-select --install +``` + +Once Subversion is installed on your machine, use the following steps to publish your project in SVN. + +1. Create a free SVN repository online. For this example, [Assembla](https://app.assembla.com/) was used. Once created, a URL will be provided, which will be used to connect to the repository: + + ![copy the SVN URL](media/version-control-subversion1-sml.png) + +2. Open or create a Visual Studio for Mac Project. + +3. Right click on the Project and select **Version Control > Publish in Version Control...**: + + ![Start Publishing Project](media/version-control-subversion2.png) + +4. In the **Connect to Repository** tab, select **Subversion** from the top drop-down. + +5. Enter the URL from step 1. Once the URL is entered, the other fields are populated by default: + + ![Select Repository and Enter details Dialog](media/version-control-subversion3.png) + +7. Click **OK** and then confirm by pressing **Publish**. + +7. If prompted, enter your credentials for the site on which you create the repository, as illustrated below: + + ![Entering credentials for subversion repo](media/version-control-subversion5.png) + +8. All the version control commands available should now be visible in the version control menu. + +## See also + +- [Working with Subversion](working-with-subversion.md) \ No newline at end of file diff --git a/mac/2017/setup-vsmac-tools-unity.md b/mac/2017/setup-vsmac-tools-unity.md new file mode 100644 index 00000000000..ef5814ee5bb --- /dev/null +++ b/mac/2017/setup-vsmac-tools-unity.md @@ -0,0 +1,78 @@ +--- +title: "Setup Visual Studio for Mac Tools for Unity" +description: "Setting up and installing Unity tools for use in Visual Studio for Mac" +author: therealjohn +ms.author: johmil +ms.date: 05/25/2018 +ms.assetid: 83FDD7A3-5D16-4B4B-9080-078E3FB5C623 +--- +# Set up Visual Studio for Mac Tools for Unity + +This section explains how to get started using Visual Studio for Mac Tools for Unity. + +## Install Visual Studio for Mac + +### Unity Bundled Installation + +Starting with Unity 2018.1, Visual Studio for Mac is the default C# integrated development environment (IDE) for Unity, and is included in the Unity Download Assistant as well as the Unity Hub installation tool. Download Unity from [store.unity.com](https://store.unity.com/). + +During installation, ensure that Visual Studio for Mac is checked in the list of components to install with Unity: + +#### Unity Hub + +![unity hub installation](media/setup-vsmac-tools-unity-image7.png) + +#### Unity Download Assistant + +![unity download assistant installation](media/setup-vsmac-tools-unity-image8.png) + +#### Check for Updates to Visual Studio for Mac + +The version of Visual Studio for Mac included with the Unity installation may not be the latest. It is recommended to check for updates to ensure you have access to the latest tools and features. + +* [Updating Visual Studio for Mac](update.md) + +### Manual installation + +If you already have Unity 5.6.1 or above, but don't have Visual Studio for Mac, you can install Visual Studio for Mac manually. All editions of Visual Studio for Mac are bundled with Visual Studio for Mac Tools for Unity, including the free Community edition: + +* Download Visual Studio for Mac from [visualstudio.microsoft.com](https://visualstudio.microsoft.com/). +* Visual Studio for Mac Tools for Unity are installed automatically during the installation process. +* Follow the steps in the [installation guide](/visualstudio/mac/installation/?view=vsmac-2017) for additional installation help. + +> [!NOTE] +> Visual Studio for Mac Tools for Unity requires Unity version 5.6.1 or above. To verify that Visual Studio Tools for Unity are enabled in your version of Unity, select **About Unity** from the Unity menu and look for the text "Microsoft Visual Studio Tools for Unity enabled" in the bottom-left of the dialog. +> +> ![About Unity](media/setup-vsmac-tools-unity-image3.png) + +## Confirm that the Visual Studio for Mac Tools for Unity extension is enabled + +While the Visual Studio for Mac Tools for Unity extension should be enabled by default, you can confirm this and check the installed version number: + +1. From the Visual Studio menu, select **Extensions...**. + + ![Select Extensions](media/setup-vsmac-tools-unity-image1.png) + +2. Expand the Game Development section and confirm the Visual Studio for Mac Tools for Unity entry. + + ![View Unity Entry](media/setup-vsmac-tools-unity-image2.png) + +## Configure Unity for use with Visual Studio for Mac + +Starting with Unity 2018.1, Visual Studio should be the default external script editor in Unity. You can confirm this or change the external script editor to Visual Studio: + +1. Select **Preferences...** from the Unity menu. + + ![Select Preferences](media/setup-vsmac-tools-unity-image4.png) + +2. In the Preferences dialog, select the **External Tools** tab. + +3. From the External Script Editor dropdown list, choose **Visual Studio** if it is listed, otherwise select **Browse...**. + + ![Select Visual Studio](media/setup-vsmac-tools-unity-image5.png) + +4. If **Browse...** was selected, navigate to the Applications directory and select Visual Studio and then click **Open**. + + ![Select Open](media/setup-vsmac-tools-unity-image6.png) + +5. Once Visual Studio is selected in the **External Script Editor** list, close the Preferences dialog to complete the configuration process. \ No newline at end of file diff --git a/mac/2017/signing-in.md b/mac/2017/signing-in.md new file mode 100644 index 00000000000..3a4ac9130ca --- /dev/null +++ b/mac/2017/signing-in.md @@ -0,0 +1,44 @@ +--- +title: "Signing in to Visual Studio for Mac" +description: "How to sign in to Visual Studio for Mac" +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: E4CFD03C-03AF-48CA-B409-6DB1CA45E991 +--- +# Sign in to Visual Studio for Mac + +When you launch Visual Studio for Mac for the first time, you're prompted to log in using a Microsoft account. Use a Microsoft account that is connected to the license that you wish to use. If you do not have a Microsoft account, see [How do I sign up for an account](https://support.microsoft.com/instantanswers/d18cc497-d839-cf50-dea8-f99c95f2bd16/sign-up-for-a-microsoft-account). + +If you do decide not to log in straight away, you'll be able to use an evaluation copy for 30 days. After 30 days you must log in to continue using your copy of Visual Studio for Mac. + +## How to sign in to Visual Studio for Mac + +Make sure that you're connected to the internet before signing in to Visual Studio for Mac. Subscriptions can only be activated online. + +To sign in to Visual Studio for Mac, do the following steps: + +1. Click the **Sign in** link on the Welcome page to display the Accounts Dialog, and press the **Sign In** button: + + ![Accounts dialog in Visual Studio for Mac](media/signing-in-image12.png) + +2. Enter your Microsoft Credentials: + + ![Microsoft credentials dialog](media/signing-in-image13.png) + + You cannot use Xamarin credentials to log into Visual Studio for Mac. + +3. After you've logged in, you'll see your license type. From this dialog, you can add additional Microsoft accounts that you might wish you use: + + ![Sign in successful](media/signing-in-image14.png) + +## Adding multiple user accounts + +Visual Studio for Mac supports adding multiple accounts to your personalization account. These additional accounts will allow you to access resources, such as Azure, from any added account. + +To add additional user accounts, follow the steps in the [How to sign in to Visual Studio for Mac](#how-to-sign-in-to-visual-studio-for-mac) section. + +## See also + +- [Sign in to Visual Studio (on Windows)](/visualstudio/ide/signing-in-to-visual-studio) +- [Work with multiple user accounts (Visual Studio on Windows)](/visualstudio/ide/work-with-multiple-user-accounts) \ No newline at end of file diff --git a/mac/2017/snippets.md b/mac/2017/snippets.md new file mode 100644 index 00000000000..c70f7bf3170 --- /dev/null +++ b/mac/2017/snippets.md @@ -0,0 +1,88 @@ +--- +title: "Code Snippets" +description: "How to use code snippets to program efficiently in Visual Studio for Mac" +author: conceptdev +ms.author: crdun +ms.date: 02/07/2019 +ms.assetid: 0FE27C0C-A861-4133-A74E-8D0505CF5342 +--- + +# Code snippets + +Code snippets, often referred to as _code templates_, are useful for efficient programming as they allow the insertion and editing of pre-written blocks of code. Using code snippets can be convenient for quickly adding common patterns, or even for learning new patterns when as the developer you are unsure of syntax. There are templates provided for C#, F#, HTML, XML, Python, and Razor. + +This section explains how to create, insert, and use snippets in code. + +## Inserting a snippet + +There are some different ways to add code snippets, some of which are described below: + +- **Tab Expansion** – Start typing the template name, select it from the list and press **Tab**, **Tab** to add it: + + ![Tab Expansion in Code](media/source-editor-image13.png) + +- **Toolbox** – Use the toolbox pad to display a list of all code snippets. Drag any template from the toolbox into the correct position in the source code: + + [![Code snippets in Toolbox](media/source-editor-image14-sml.png)](media/source-editor-image14.png#lightbox) + +- **Insert Templates command** – There is currently no default key binding set for inserting a template. To create one, browse to **Visual Studio > Preferences > Key Bindings** and search for `template`. This allows adding the desired key binding into the Edit Binding field, then click **Apply**: + + ![Inset Template command](media/source-editor-image15.png) + +## Creating a new template + +While there are many existing templates in a variety of languages that you can use and edit, new templates can also be added by navigating to **Visual Studio > Preferences > Text Editor > Code Snippets**: + +![Inset new template](media/source-editor-image12.png) + +Press the **Add** or **Edit** buttons to create or edit snippets. + +## Keywords in code snippets + +After a code snippet is inserted into the editor, any keywords defined are highlighted and can be edited by tabbing between them. Keywords behave like a "variable" in the code snippet and are defined by placing a dollar-sign `$` before and after the name of the keyword. + +The **Edit template** window is shown below, editing the built-in `prop` snippet. The snippet contains two keywords – `$type$` and `$name$` – which can have further properties set (such as a default value and tooltip) on the right side of the window: + +![Edit template window](media/source-editor-image12z.png) + +The following fields are used to define a snippet: + +- **Shortcut** – The text the user types to insert the snippet. +- **Group** – Snippets are grouped together in the snippet content menu, using this value. +- **Description** – Explanation of the snippet's purpose. +- **Mime** – Controls what file types the snippet is available in. +- **Is expandable template** – Ensure this is checked so that the snippet can be inserted at the cursor by typing the shortcut. +- **Is surround with template** – Check this option to list this shortcut in the **Surround with...** content menu in the editor. +- **Template text** – The actual snippet that will be inserted into the editor. Keyword placeholders can be defined by surrounding a token with dollar signs eg. `$type$`. +- **Keyword property panel** – On the right-side of the window, use the drop-down list at the top to choose a keyword (eg `type`) and edit properties like default value and tooltip. + +## Using keywords in the editor + +To use a snippet with keywords, such as the one defined above, type the shortcut and press **Tab** twice, and the snippet contents will be inserted at the cursor: + +![Inserted snippet showing keywords](media/source-editor-image12a.png) + +Press the **Tab** key to move between `object` and `MyProperty` to customize the snippet for your class. + +A keyword can be repeated in a snippet, such as this `for` example, notice the `$i$` keyword appears 3 times: + +![Snippet template with repeated keywords](media/source-editor-image12b.png) + +When used in the editor, the **Tab** key will switch between the first `i` and `max`. If you overtype the `i` with a different variable name, all three instances will be updated: + +![Inserted snippet showing multiple keywords](media/source-editor-image12c.png) + +### Reserved keywords + +There are two reserved keywords that you can use in a snippet: + +- `$selected$` – If the snippet has **Is surround with template** checked, this keyword will be replaced by the text that was highlighted in the editor when the snippet was chosen. +- `$end$` – When the user has finished editing the keywords in a snippet, the cursor will be placed at the location of the `$end$` keyword. + +The `for` snippet in the previous section is an example of both these reserved keywords. + +Refer to the [Visual Studio code snippets reference](/visualstudio/ide/code-snippets-schema-reference#keywords) for more information. + +## See also + +- [Code snippets (Visual Studio on Windows)](/visualstudio/ide/code-snippets) \ No newline at end of file diff --git a/mac/2017/source-editor.md b/mac/2017/source-editor.md new file mode 100644 index 00000000000..7bc2fb3030b --- /dev/null +++ b/mac/2017/source-editor.md @@ -0,0 +1,81 @@ +--- +title: Source Editor +description: Using the source editor in Visual Studio for Mac +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: A018A314-C1C4-4F36-BCB6-2D434208FCFE +--- + +# Source editor + +A reliable source editor is essential for writing code succinctly and efficiently. Visual Studio for Mac provides a sophisticated source editor that is at the center of your interactions with the IDE. The source editor provides features that you might expect and need to do your work with ease: From the basics such a syntax highlighting, code snippets, and code folding, to the benefits of its Roslyn compiler integration, such as fully functional IntelliSense code completion. + +The source editor in Visual Studio for Mac allows for a seamless experience with all the other functionality in the IDE such as debugging, refactoring, and version control integration. + +This article introduces some of the key features of the source editor and explores how you can use Visual Studio for Mac to be as productive as possible. + +## The Source Editor Experience + +Viewing and moving efficiently throughout code is an integral part of the development workflow. Exactly how you decide to view and maintain code is a personal decision, which varies between developers - and often between projects. + +Visual Studio for Mac offers many powerful features to make cross-platform development as accessible and as useful as possible. The following sections describe some of the highlights. + +## Code folding + +Code folding makes it easier to manage large source code files by allowing developers to show or hide complete sections of code, such as using directives, boilerplate code and comments, and #region statements. Code folding is turned off by default in Visual Studio for Mac + +To turn on code folding, navigate to **Visual Studio > Preferences > Text Editor > General > Code Folding**: + +![Code Folding Options](media/source-editor-image1.png) + +This menu also includes the option to fold #regions and comments by default, displaying a named hint, in place of code. + +To show or hide sections, use the disclosure widget next to the line number: + +![Showing or Hiding sections in code](media/source-editor-image2.png) + +You can also switch between showing and hiding the folds by using the **View > Folding > Toggle Fold / Toggle All Folds** menu item: + +![Folding Menu item](media/source-editor-image19.png) + +This menu item can also be used to enable or disable code folding. + +## White space + +It may be necessary for you to view invisible characters in source code. It's a visible way to make sure that you're adhering to coding standards and not needlessly wasting space. It's also useful when writing F#, which depends on precisely indented lines for evaluating code. + +Set options to show whitespace by navigating to **Visual Studio > Preferences > Text Editor > Markers and Rulers**. Selecting this option allows setting _when_ invisible characters will be shown: Never, On Selection, or Always: + +![Show invisible characters options](media/source-editor-image3.png) + +The option to show tabs, spaces, and line endings is also available: + +![Show tabs and spaces](media/source-editor-image4.png) + +Invisible characters are displayed as gray dots, as illustrated in the following image: + +![whitespace displayed](media/source-editor-image22.png) + +## Ruler + +The column ruler is useful for determining line lengths, particularly when working on a team that has line length guidelines. The column ruler can be turned on or off by navigating to **Visual Studio > Preferences > Text Editor > Markers and Rulers** and selecting (or deselecting) **Show Column ruler**, as illustrated in the following image: + +![Preferences dialog with "show column ruler" highlighted](media/source-editor-image5.png) + + This displays as a vertical light gray line in the source editor. + +## Highlight identifier references + +With the "Highlight identifier references" option is enabled, you can select any symbol in the source code and the source editor will provide a visual guide to all other references in that file. To turn on this option, go to **Visual Studio > Preferences > Text Editor > Markers and Rulers** and select _Highlight identifier references_, as illustrated in the following image: + +![Preferences dialog with "Highlight identifier references" highlighted](media/source-editor-image6.png) + +The color of the highlight is also useful for denoting that something is being assigned or referenced. If something is assigned, it is highlighted in red; if it is referenced, it is highlighted in blue: + +![example showing color of highlight](media/source-editor-image7.png) + +## See also + +- [Features of the code editor (Visual Studio on Windows)](/visualstudio/ide/writing-code-in-the-code-and-text-editor) +- [Outlining (Visual Studio on Windows)](/visualstudio/ide/outlining) \ No newline at end of file diff --git a/mac/2017/task-comments.md b/mac/2017/task-comments.md new file mode 100644 index 00000000000..2c5c2416a51 --- /dev/null +++ b/mac/2017/task-comments.md @@ -0,0 +1,28 @@ +--- +title: "Task Comments" +description: "Adding task comments to your code" +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: 562DCB46-D8FA-4DC4-AAEA-F274448C4CD2 +--- + +# Task Comments + +When writing code, it's standard practice to explicitly comment unfinished or questionable code or quick workarounds with warnings. The default signal tokens provided by Visual Studio for Mac are TODO, HACK, FIXME, and UNDONE. Personalized tokens can be defined under **Visual Studio > Preferences > Environment > Tasks**, as illustrated in the following image: + +![Task list preferences](media/source-editor-image10.png) + +To add a new task comment, add a comment that includes the task keyword. For example: + +```csharp +//TODO: Finish this for all properties. +``` + +Visual Studio for Mac draws attention to these markers by highlighting them in the **Task List** pad, which can be displayed by navigating to **View > Pads > Task**: + +![Task list pad](media/source-editor-image11.png) + +## See also + +- [Use the Task List (Visual Studio on Windows)](/visualstudio/ide/using-the-task-list) \ No newline at end of file diff --git a/mac/2017/tf-version-control.md b/mac/2017/tf-version-control.md new file mode 100644 index 00000000000..6fec8f5c040 --- /dev/null +++ b/mac/2017/tf-version-control.md @@ -0,0 +1,189 @@ +--- +title: "Team Foundation Version Control (TFVC)" +description: "Connecting to Team Foundation Server or Azure DevOps Services with Team Foundation Version Control (TFVC)." +author: conceptdev +ms.author: crdun +ms.date: 09/05/2018 +ms.topic: article +ms.technology: vs-ide-general +ms.assetid: 52D3D26A-4D01-4FD1-AAA1-AE7D7BD39746 +--- + +# Connecting to Team Foundation Version Control + +> [!NOTE] +> Team Foundation Version Control support is currently in preview and some functionality is not yet fully working. We'd love feedback from you on any issues at [Developer Community](https://developercommunity.visualstudio.com/spaces/41/index.html). More changes are still to come! + +Azure Repos provides two models of version control: Git, which is distributed version control, and Team Foundation Version Control (TFVC), which is centralized version control. This article provides an overview and a starting point for using TFVC with Visual Studio for Mac. + +## Requirements + +* Visual Studio Community, Professional, or Enterprise for Mac version 7.5 or later. +* Azure DevOps Services, or Team Foundation Server 2013 and later. +* A project in Azure DevOps Services or Team Foundation Server, configured to use Team Foundation Version Control. + +## Installation + +In Visual Studio for Mac, choose **Visual Studio > Extensions** from the menu. In the **Gallery** tab, select **Version Control > Team Foundation Version Control for TFS and VSTS** and click **Install**: + +![Extension manager](media/tfvc-install.png) + +Follow the prompts to install the extension. Once it's installed, restart the IDE. + +## Updating the extension + +Updates to the TFVC extension are made periodically. To access updates, choose **Visual Studio > Extensions...** from the menu and select the **Updates** tab. Select the extension in the list and press the **Update** button: + +![Extension manager showing update](media/tfvc-update.png) + +Press **Install** on the next dialog to uninstall the old package and install the new one. + +For information on what's new in each release, see the [Release Notes](/visualstudio/releasenotes/vs2017-mac-preview-relnotes#team-foundation-version-control-extension--release-notes). + +## Using the add-in + +Once the extension is installed, select the **Version Control > TFS/Azure DevOps > Open from Remote Repository** menu item. + +![Menu item to open the extension](media/tfvc-source-control-explorer-devops.png) + +Choose either VSTS or Team Foundation Server to get started and press **Continue**: + +![Connect with a Server](media/tfvc-choose-server-type-devops.png) + +### Azure Repos Authentication + +When you select a project that is hosted on Azure Repos, you're prompted to enter your Microsoft account details: + +![Connect with Azure Repos](media/tfvc-vsts-login.png) + +### TFS Authentication + +To connect to TFS, enter the server details and your account credentials. Enter a domain to use NTLM authentication, otherwise leave blank to use basic authentication. Select **Add Server**: + +![Sign in to a TFS Server](media/tfvc-login.png) + +## Selecting a project + +Once you've successfully authenticated, you can see a list of repositories that are associated with the account in the **Open from Source Control** dialog: + +![Open from Source Control dialog with projects displayed](media/tfvc-vsts-projects.png) + +This dialog is organized with the following nodes: + +- Azure DevOps organization or collection – This displays all organizations connected to the Microsoft account you logged in with. +- Projects - In each organization or collection, you can have a number of projects. A project is where source code, work items, and automated builds are hosted. + +At this point, you can search and filter by the name of a project or organization. + +### Adding a new server + +To add a new server to the list, press the **Add Host** button on the **Open from Source Control** dialog: + +![Highlighted add button to add new server to the list](media/tfvc-add-new-server.png) + +Select the provider from the list, and enter your credentials: + +![Dialog showing option for source control provider](media/tfvc-add-new-creds-devops.png) + +## Creating a new workspace + +To start working with a project, you need to have a _workspace_. If you don't already have a workspace, you can create one from the **Workspace** combobox in the **Open from Source Control** dialog: + +![Create new workspace combobox option](media/tfvc-create-new-workspace.png) + +Set the name and local path for your new workspace and select **Create Workspace**: + +![Entering a name and local path for the new workspace](media/tfvc-local-workspace.png) + +## Using the Source Code Explorer + +Once you've created a workspace and mapped your project, you can start working with the _Source Code Explorer_. + +To open the Source Code Explorer, select the **Version Control > TFS/Azure DevOps > Source Control Explorer** menu item. + +The Source Code Explorer enables you to navigate through all the mapped projects, their files, and folders. It also allows you to perform all the basic source control actions such as: + +- Get the latest version +- Get a specific version +- Check files in and out +- Lock and unlock files +- Add, delete, and rename files +- View history +- Compare changes. + +Many of these actions are available through context actions on the project: + +![Context menu actions for a project](media/tfvc-sourcecode-actions.png) + +## Managing workspaces + +If you haven't already created a workspace, as described in the [Creating a workspace](#creating-a-new-workspace) section, you'll notice that the Source Code Explorer is empty: + +![empty source code explorer](media/tfvc-setup-empty-sce.png) + +To set up your remote project with a local workspace, use the following steps: + +1. Select the **Server** from the combobox. +1. Note that there are "no workspaces" and that the Local Path is "Not Mapped". Select the **Not Mapped** link to display the **Create new Workspace** dialog. +1. Provide a name for the workspace and then click **Add Working Folder** to map the project to a local folder on your computer: + + ![Create a new workspace dialog showing default options](media/tfvc-workspace1.png) + +1. Select the "$" folder to map all projects on your server to the same workspace, or select an individual project, and click **OK**: + + ![Browse for folder dialog showing all projects](media/tfvc-workspace2.png) + +1. Select the location on your local machine that you wish to map the project(s) to and click **Select Folder**. +1. Confirm the details of the new workspace by pressing **OK** + + ![Create new workspace dialog with working folder added](media/tfvc-workspace3.png) + +Once your workspace is set up, it can be changed or removed by clicking the **Manage Workspaces** button in the Source Code Explorer. + +![Manage Workspaces](media/tfvc-workspace4.png) + +## Troubleshooting + +### Problems using basic authentication + +The following options can be used to authenticate with a server: + +- Oauth +- Basic +- Ntlm + +To use basic authentication it is necessary to enable **Alternative authentication credentials** in Azure DevOps Services, by following the steps below: + +1. Sign in to your Azure DevOps organization as the owner (https://dev.azure.com/{organization}/{project}). + +2. From your organization toolbar, select the gear icon and select **Policy**: + + ![Policy settings option selected](media/tfvc-auth2.png) + +3. Review your application connection settings. Change these settings, based on your security policies: + + ![Policy settings option selected](media/tfvc-auth.png) + +### I do not see anything in TFVC + +To set up Team Foundation Version Control (TFVC) on your dev machine, you **must** create a workspace, as described in the [Managing workspaces](#managing-workspaces) section. + +In Source Control Explorer, press the **Manage Workspaces** Button. Follow the steps to map the project to a folder on your dev machine. + +### I do not see any / all of my projects + +After authenticating you should see the list of projects. By default, only TFS projects are shown. To see other types of projects, check the "See all projects" box. + +Keep in mind that projects that are on the server will not appear if you don't have the correct privileges. + +#### I am getting the error "Cannot create the workspace. Please, try again" + +When trying to [create a new workspace](#creating-a-new-workspace), you should make sure the following conditions are met: + +- No use of invalid characters in the workspace name. +- The name must be less than 64 characters. +- The local path cannot be used by any other workspaces. + +## See also + +- [Develop and share your code in TFVC using Visual Studio (on Windows)](/azure/devops/repos/tfvc/share-your-code-in-tfvc-vs) \ No newline at end of file diff --git a/mac/2017/troubleshooting.md b/mac/2017/troubleshooting.md new file mode 100644 index 00000000000..73bae40eb1b --- /dev/null +++ b/mac/2017/troubleshooting.md @@ -0,0 +1,46 @@ +--- +title: Troubleshoot +description: "Common issues and resolutions for Visual Studio for Mac users." +ms.topic: troubleshooting +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: CE860D79-E29E-4B93-B094-BE74B35FC1C2 +--- +# Troubleshooting + +## Viewing logs in Visual Studio for Mac + +Logs can be found by browsing to the **Help > Open Log Directory** menu item, as illustrated below: + +![Open Log directory menu item](media/troubleshooting-image1.png) + +## Viewing exceptions + +When an exception is caught, an exception bubble appears. To view more details, select the **View Details** button: + +![View more details about an exception](media/troubleshooting-image2.png) + +This displays the **Show Details** dialog, providing more information regarding the exception: + +![Show details dialog](media/troubleshooting-image3.png) + +Important sections of the dialog, which are numbered above are described in detail below: + +1. The exception type, which shows the full name of the exception type that is being observed. +2. The exception message, which shows the value of the Message property of the exception object. +3. The Inner exception type, which shows the full name of the exception type for the currently selected exception in the Inner exception tree view. +4. The Inner exception message, shows the value of the Message property of the selected exception in Inner exception tree view. +5. Stacktrace view. This can be collapsed via a disclosure arrow and contains stack frames entries. +6. Example of non-user code entries. +7. Example of user code entries. +8. Properties view, which shows all properties and fields of the exception. This can be collapsed via a disclosure arrow. +9. Inner exception tree view. Select inner exceptions in this view via keyboard up/down arrows or with the mouse or trackpad. +10. By default, this is set to what the **Debug project code only** option in debugger settings is set to. Selecting this box will enable all non-user code to collapse into one line in the stacktrace. +11. A copy button to copy the `exception.ToString()` output to clipboard. + +Note that some of these sections are only visible when the exception has an inner exception. + +## See also + +- [Resources for troubleshooting IDE errors (Visual Studio on Windows)](/visualstudio/ide/reference/resources-for-troubleshooting-integrated-development-environment-errors) \ No newline at end of file diff --git a/mac/2017/uninstall.md b/mac/2017/uninstall.md new file mode 100644 index 00000000000..ce349dce72f --- /dev/null +++ b/mac/2017/uninstall.md @@ -0,0 +1,218 @@ +--- +title: "Uninstall Visual Studio for Mac" +description: "Instructions for uninstalling Visual Studio for Mac and related tools." +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.technology: vs-ide-install +ms.assetid: 4EB95F75-BC2E-4982-9564-2975805712D8 +--- + +# Uninstalling Visual Studio for Mac + +There are a number of Xamarin products that enable cross-platform application development, including stand-alone apps like Visual Studio for Mac. + +You can use this guide to uninstall each product individually by navigating to the relevant section, or you can use the scripts provided in the [Uninstall Script](#uninstall-script) section to uninstall everything. + +If you have previously had Xamarin Studio installed on your machine, you may also need to follow the instructions in [Xamarin's uninstall](/xamarin/cross-platform/get-started/installation/uninstalling-xamarin#uninstall-xamarin-studio-on-mac) guide, in addition to the following steps. + +## Uninstall Script + +There are two scripts that can be used to uninstall Visual Studio for Mac and all components for your machine: + +- [Visual Studio and Xamarin script](#visual-studio-for-mac-and-xamarin-script) +- [.NET Core script](#net-core-script) + +The following sections provide information on downloading and using the scripts. + +### Visual Studio for Mac and Xamarin script + +You can uninstall Visual Studio and Xamarin components in one go by using the [uninstall script](https://raw.githubusercontent.com/MicrosoftDocs/visualstudio-docs/master/mac/resources/uninstall-vsmac.sh). + +This uninstall script contains most of the commands that you will find in the article. There are three main omissions from the script and are not included due to possible external dependencies. To remove this, jump to the relevant section below and remove them manually: + +- **[Uninstalling Mono](#uninstall-mono-sdk-mdk)** +- **[Uninstalling Android AVD](#uninstall-android-avd)** +- **[Uninstalling Android SDK and Java SDK](#uninstall-android-sdk-and-java-sdk)** + +To run the script, do the following steps: + +1. Right-click on the script and select **Save As** to save the file on your Mac. +2. Open Terminal and change the working directory to where the script was downloaded: + + ```bash + cd /location/of/file + ``` +3. Make the script executable and the run it with **sudo**: + + ```bash + chmod +x ./uninstall-vsmac.sh + sudo ./uninstall-vsmac.sh + ``` +4. Finally, delete the uninstall script. + +### .NET Core script + +The uninstall script for .NET Core is located in the [dotnet cli repo](https://raw.githubusercontent.com/dotnet/cli/master/scripts/obtain/uninstall/dotnet-uninstall-pkgs.sh) + +To run the script, do the following steps: + +1. Right-click on the script and select **Save As** to save the file on your Mac. +2. Open Terminal and change the working directory to where the script was downloaded: + + ```bash + cd /location/of/file + ``` +3. Make the script executable and the run it with **sudo**: + + ```bash + chmod +x ./dotnet-uninstall-pkgs.sh + sudo ./dotnet-uninstall-pkgs.sh + ``` +4. Finally, delete the .NET Core uninstall script. + +## Uninstall Visual Studio for Mac + +The first step in uninstalling Visual Studio from a Mac is to locate **Visual Studio.app** in the **/Applications** directory and drag it to the **Trash Can**. Alternatively, right-click and select **Move to Trash** as illustrated in the following image: + +![Move Visual Studio Application to trash](media/uninstall-image1.png) + +Deleting this app bundle removes Visual Studio for Mac, even though there may be other files related to Xamarin still on the file system. + +To remove all traces of Visual Studio for Mac, run the following commands in Terminal: + +```bash +sudo rm -rf "/Applications/Visual Studio.app" +rm -rf ~/Library/Caches/VisualStudio +rm -rf ~/Library/Preferences/VisualStudio +rm -rf ~/Library/Preferences/Visual\ Studio +rm -rf ~/Library/Logs/VisualStudio +rm -rf ~/Library/VisualStudio +rm -rf ~/Library/Preferences/Xamarin/ +rm -rf ~/Library/Application\ Support/VisualStudio +rm -rf ~/Library/Application\ Support/VisualStudio/7.0/LocalInstall/Addins/ +``` + +You may also want to remove the following directory containing various Xamarin files and folders. However, before you do you should be aware that this directory contains the Android signing keys. For more information refer to the section **[Uninstalling Android SDK and Java SDK](#uninstall-android-sdk-and-java-sdk)**: + +```bash +rm -rf ~/Library/Developer/Xamarin +``` + + +## Uninstall Mono SDK (MDK) + +Mono is an open-source implementation of Microsoft's .NET Framework and is used by all Xamarin Products—Xamarin.iOS, Xamarin.Android, and Xamarin.Mac to allow development of these platforms in C#. + +> [!WARNING] +> There are other applications outside of Visual Studio for Mac that also use Mono, such as Unity. +> Be sure that there are no other dependencies on Mono before uninstalling it. + +To remove the Mono Framework from a machine, run the following commands in Terminal: + +```bash +sudo rm -rf /Library/Frameworks/Mono.framework +sudo pkgutil --forget com.xamarin.mono-MDK.pkg +sudo rm -rf /etc/paths.d/mono-commands +``` + +## Uninstall Xamarin.Android + +There are a number of items required for the installation and use of Xamarin.Android, such as the Android SDK and Java SDK. + +Use the following commands to remove Xamarin.Android: + +```bash +sudo rm -rf /Developer/MonoDroid +rm -rf ~/Library/MonoAndroid +sudo pkgutil --forget com.xamarin.android.pkg +sudo rm -rf /Library/Frameworks/Xamarin.Android.framework +``` + +### Uninstall Android SDK and Java SDK + +The Android SDK is required for development of Android applications. To completely remove all parts of the Android SDK, locate the file at **~/Library/Developer/Xamarin/** and move it to **Trash**. + +> [!WARNING] +> You should be aware that Android signing keys that are generated by Visual Studio for Mac are located in `~/Library/Developer/Xamarin/Keystore`. Make sure to back these up appropriately, or avoid removing this directory if you wish to keep your keystore. + +The Java SDK (JDK) does not need to be uninstalled, as it is already pre-packaged as part of Mac OS X / macOS. + +### Uninstall Android AVD + +> [!WARNING] +> There are other applications outside of Visual Studio for Mac that also use Android AVD and these additional android components, such as Android Studio.Removing this directory may cause projects to break in Android Studio. + +To remove any Android AVDs and additional Android components use the following command: + +```bash +rm -rf ~/.android +``` + +To remove only the Android AVDs use the following command: + +```bash +rm -rf ~/.android/avd +``` + +## Uninstall Xamarin.iOS + +Xamarin.iOS allows iOS application development using C# or F# with Visual Studio for Mac. + +Use the following commands in Terminal to remove all Xamarin.iOS files from a file system: + +```bash +rm -rf ~/Library/MonoTouch +sudo rm -rf /Library/Frameworks/Xamarin.iOS.framework +sudo rm -rf /Developer/MonoTouch +sudo pkgutil --forget com.xamarin.monotouch.pkg +sudo pkgutil --forget com.xamarin.xamarin-ios-build-host.pkg +sudo pkgutil --forget com.xamarin.xamarin.ios.pkg +``` + +## Uninstall Xamarin.Mac + +Xamarin.Mac can be removed from your machine using the following two commands to eradicate the product and license from your Mac respectively: + +```bash +sudo rm -rf /Library/Frameworks/Xamarin.Mac.framework +rm -rf ~/Library/Xamarin.Mac +``` + +## Uninstall Workbooks and Inspector + +Starting with 1.2.2, Xamarin Workbooks & Inspector can be uninstalled from a terminal by running: + +```bash +sudo /Library/Frameworks/Xamarin.Interactive.framework/Versions/Current/uninstall +``` + +For older versions, you need to manually remove the following artifacts: + +* Delete the Workbooks app at `"/Applications/Xamarin Workbooks.app"` +* Delete the Inspector app at `"Applications/Xamarin Inspector.app"` +* Delete the add-ins: `"~/Library/Application Support/XamarinStudio-6.0/LocalInstall/Addins/Xamarin.Interactive"` and `"~/Library/Application Support/XamarinStudio-6.0/LocalInstall/Addins/Xamarin.Inspector"` +* Delete Inspector and supporting files here: `/Library/Frameworks/Xamarin.Interactive.framework` and `/Library/Frameworks/Xamarin.Inspector.framework` + +## Uninstall the Xamarin Profiler + +```bash +sudo rm -rf "/Applications/Xamarin Profiler.app" +``` + +## Uninstall the Visual Studio Installer + +Use the following commands to remove all traces of the Xamarin Universal Installer: + +```bash +rm -rf ~/Library/Caches/XamarinInstaller/ +rm -rf ~/Library/Caches/VisualStudioInstaller/ +rm -rf ~/Library/Logs/XamarinInstaller/ +rm -rf ~/Library/Logs/VisualStudioInstaller/ +rm -rf ~/Library/Preferences/Xamarin/ +rm -rf "~/Library/Preferences/Visual Studio/" +``` + +## See also + +- [Uninstall Visual Studio (on Windows)](/visualstudio/install/uninstall-visual-studio) \ No newline at end of file diff --git a/mac/2017/unity-tools.md b/mac/2017/unity-tools.md new file mode 100644 index 00000000000..8ede51a6139 --- /dev/null +++ b/mac/2017/unity-tools.md @@ -0,0 +1,59 @@ +--- +title: "Visual Studio for Mac Tools for Unity" +description: "Introducing the Visual Studio Tools for Unity extension" +author: therealjohn +ms.author: johmil +ms.date: 05/25/2018 +ms.assetid: 83FDD7A3-5D16-4B4B-9080-078E3FB5C623 +--- +# Visual Studio for Mac Tools for Unity + +![Stylized image of Unity and Visual Studio for Mac](media/vsmac-tools-unity-image1.png) + +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. + +Unity integration is included out of the box in Visual Studio for Mac, and starting from Unity 2018.1, Visual Studio for Mac is the default C# IDE for Unity projects. + +## Overview + +Here are some of the key features of Visual Studio for Mac Tools for Unity: + +### Compatible with Visual Studio for Mac Community Edition + +[Visual Studio for Mac Community Edition](https://visualstudio.microsoft.com/) is available for free, and bundled with Unity installs starting with Unity 2018.1. See the Visual Studio for Mac Tools for Unity [setup documentation](setup-vsmac-tools-unity.md) for more information. + +### IntelliSense for Unity messages + +IntelliSense makes it fast and easy to [implement Unity messages](using-vsmac-tools-unity.md#intellisense-for-unity-messages) like `OnCollisionEnter`, including their parameters. + +### Superior debugging + +Visual Studio for Mac Tools for Unity supports all the [debugging](using-vsmac-tools-unity.md#unity-debugging) features that you expect from Visual Studio: + +* Set breakpoints, including conditional breakpoints. +* Evaluate complex expressions in the Watch window. +* Inspect and modify the value of variables and arguments. +* Drill down into complex objects and data structures. + +### Powerful refactoring and context actions + +Write more usable code with quick menus and keyboard shortcuts for [renaming, refactoring, and context actions](refactoring.md). + +### Browse and add new files + +Browse Unity projects and [add folders, scripts, or shaders](using-vsmac-tools-unity.md#adding-new-unity-files-and-folders), all within the Visual Studio for Mac IDE. + +### Use familiar key bindings + +Boost productivity by using the key bindings that you know. Visual Studio for Mac provides familiar [key bindings](customizing-the-ide.md) for many popular IDEs, such as Visual Studio on Windows, ReSharper, Visual Studio Code, and Xcode. + +### Customize the Visual theme + +Give your eyes a rest with the included [dark theme](customizing-the-ide.md). + +## Tips for Unity developers getting started with Visual Studio for Mac + +These links explain useful features for Unity developers just starting with Visual Studio for Mac: + +* [Customizing the IDE](customizing-the-ide.md) – Learn how to [change the visual theme](customizing-the-ide.md#dark-theme) or switch to a more familiar [key binding](customizing-the-ide.md#key-bindings) scheme. +* [Source Editor](source-editor.md) – Learn how Visual Studio for Mac can make writing better code faster and easier, including common [keyboard shortcuts](keyboard-shortcuts.md). diff --git a/mac/2017/update.md b/mac/2017/update.md new file mode 100644 index 00000000000..8291fbfc1b3 --- /dev/null +++ b/mac/2017/update.md @@ -0,0 +1,52 @@ +--- +title: "Updating Visual Studio for Mac" +description: "Instructions for updating Visual Studio for Mac and accessing preview releases." +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.technology: vs-ide-install +ms.assetid: DB8DC9FE-FF21-4061-8A96-3F9FC08A4F8F +--- + +# Update Visual Studio for Mac + +Visual Studio for Mac distributes updates for the IDE and supported frameworks on a regular basis. These updates can be in the form of new features, improvements, and bug fixes. + +Visual Studio for Mac provides three channels to get these latest versions: + +* **Stable** - Provides thoroughly tested updates. This channel is recommended for the best development experience. +* **Beta** / **Alpha** - Provides early access to updates that are candidates for release in the Stable Channel. These releases may not be reliable for everyday use. + +## Checking for updates + +You can use the **Visual Studio Updater** box to check for new updates, change channels, and download and install updates. + +To open the **Visual Studio Updater**, browse to **Visual Studio > Check for Updates**: + +![Check for update option](media/update-image1.png) + +This displays the updater box: + +![updater box](media/update-image2.png) + +## Changing the Updater channel + +To change the channel select it from the channel drop down and press the **Switch Channel button**: + +![Change Channel drop down](media/update-image3.png) + +## Downloading and installing updates + +Switching channels automatically starts the download process of new updates. + +If you have selected the option to **Check Automatically**, the updater box will pop up when Visual Studio for Mac is open to let you know that new updates are available. It will also give you the option to start downloading them. + +To start installing updates, select the **Restart and Install Updates** button: + +![Button to start installing updates](media/update-image4.png) + +Depending on the components that need to be installed, you may need to accept additional licenses or enter your machine's administrator username and password. + +## See also + +- [Update Visual Studio (on Windows)](/visualstudio/install/update-visual-studio) \ No newline at end of file diff --git a/mac/2017/user-accounts.md b/mac/2017/user-accounts.md new file mode 100644 index 00000000000..70679385c71 --- /dev/null +++ b/mac/2017/user-accounts.md @@ -0,0 +1,19 @@ +--- +title: "User Accounts" +description: "Information about signing in to Visual Studio for Mac and enabling subscriptions in Visual Studio for Mac" +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: 17AB4F31-4921-4B4E-8D9D-95FB84294521 +--- + +# User Accounts + +Once you have downloaded and installed Visual Studio for Mac, you must sign in to activate your subscription in order to get access all features of Visual Studio for Mac. + +By signing-in, you enable access to all the services associated with your user account, as well as all the accounts that are linked to that account. Your account settings roam with you wherever you use Visual Studio. You can configure permissions levels on a specific Visual Studio instance for individual users. + +## In this section + +* [Signing in to Visual Studio for Mac](signing-in.md) +* [Enable Subscription](enable-subscription.md) \ No newline at end of file diff --git a/mac/2017/using-vsmac-tools-unity.md b/mac/2017/using-vsmac-tools-unity.md new file mode 100644 index 00000000000..5eedb324469 --- /dev/null +++ b/mac/2017/using-vsmac-tools-unity.md @@ -0,0 +1,108 @@ +--- +title: "Using Visual Studio for Mac Tools for Unity" +description: "This guide describes how to use Visual Studio for Mac Tools for Unity extension" +author: therealjohn +ms.author: johmil +ms.date: 07/17/2017 +ms.assetid: 83FDD7A3-5D16-4B4B-9080-078E3FB5C623 +--- +# Using Visual Studio for Mac Tools for Unity + +In this section, you'll learn how to use Visual Studio for Mac Tools for Unity's integration and productivity features, and how to use the Visual Studio for Mac debugger for Unity development. + +## Opening Unity scripts in Visual Studio for Mac + +Once Visual Studio for Mac is [set as the external script editor for Unity](setup-vsmac-tools-unity.md#configure-unity-for-use-with-visual-studio-for-mac), opening any script from the Unity editor will automatically launch or switch to Visual Studio for Mac, with the chosen script open. + +Alternatively, Visual Studio for Mac can be opened with no script open in the source editor by selecting **Open C# Project** from the **Assets** menu in Unity. + +![Open C# project](media/using-vsmac-tools-unity-image1.png) + +## Unity documentation access + +Visual Studio for Mac Tools for Unity includes a shortcut for accessing the Unity API documentation. To access Unity API documentation from Visual Studio for Mac, place the cursor over the Unity API you want to learn about and press **⌘ command + ‘**. + +## IntelliSense for Unity messages +The Unity engine broadcasts messages to MonoBehaviour scripts, allowing developers to write code that reacts to messages such as OnMouseDown, OnTriggerEnter, etc. Because these are not virtual methods in the base MonoBehaviour class, some IDEs such as MonoDevelop lack code completion functionality for Unity messages. + +However, Visual Studio for Mac Tools for Unity extends its IntelliSense functionality to Unity messages. This makes it easy to implement Unity messages in MonoBehaviour scripts, and assists with learning the Unity API. To use IntelliSense for Unity messages: + +1. Place the cursor on a new line inside the body of a class that derives from MonoBehaviour. + +2. Begin typing the name of a Unity message, such as `OnTriggerEnter`. + +3. Once the letters "**ont**" have been typed, a list of IntelliSense suggestions appears. + + ![Using IntelliSense](media/using-vsmac-tools-unity-image2.png) + +4. The selection on the list can be changed in three ways: + + * With the **Up** and **Down** arrow keys. + + * By clicking with the mouse on the desired item. + + * By continuing to type the name of the desired item. + +5. IntelliSense can insert the selected Unity message, including any necessary parameters: + + * By pressing **Tab**. + + * By pressing **Return**. + + * By double-clicking the selected item. + + ![Insert Unity message from IntelliSense](media/using-vsmac-tools-unity-image3.png) + +## Adding new Unity files and folders + +While you can always add new files to a Unity project in the Unity editor, Visual Studio for Mac allows for easily creating new Unity scripts, shaders, and folders from within Visual Studio. + +### Add a new C# MonoBehaviour script + +To add a new C# MonoBehaviour script, **right-click on the Assets folder** or one of its subdirectories in the Solution pad and select **Add > New MonoBehaviour**. + +![Add new MonoBehaviour](media/using-vsmac-tools-unity-image4.png) + +### Add a new Unity shader + +To add a new Unity shader, **right-click on the Assets folder** or a subdirectory in the Solution pad and select **Add > New Shader**. + +### Add a new folder + +To add a new folder, **right-click on the Assets folder** or a subdirectory in the Solution pad and select **Add > New Folder**. + +These additions are reflected in the Project window of the Unity editor. + +### To rename a file or folder +**right-click** on the item to rename in the Solution pad and select **Rename...**. + +> [!NOTE] +> If you have a new Unity project with no scripts and the Assets folder does not show up in the Solution pad in Visual Studio for Mac, add an initial C# script from within the Unity editor. + +## Unity debugging + +Unity projects can be debugged with Visual Studio for Mac. + +### Start debugging + +To start debugging: + +1. Connect Visual Studio to Unity by clicking the **Play** button, or type **Command + Return**, or **F5**. + + ![Click Play in Visual Studio](media/using-vsmac-tools-unity-image5.png) + +2. Switch to Unity and click the **Play** button to run the game in the editor. + + ![Click Play in Unity](media/using-vsmac-tools-unity-image6.png) + +3. When the game is running in the Unity editor while connected to Visual Studio, any breakpoints encountered will pause execution of the game and bring up the line of code where the game hit the breakpoint in Visual Studio for Mac. + +### Stop debugging + +To stop debugging: + +1. Click the **Stop** button in Visual Studio for Mac, or press **Shift + Command + Return**. + + ![Click Stop in Visual Studio](media/using-vsmac-tools-unity-image7.png) + +To learn more about debugging in Visual Studio for Mac, see [Using the debugger](debugging.md). diff --git a/mac/2017/version-control.md b/mac/2017/version-control.md new file mode 100644 index 00000000000..a3d4650f356 --- /dev/null +++ b/mac/2017/version-control.md @@ -0,0 +1,33 @@ +--- +title: Version Control +description: Using Git and Subversion in Visual Studio for Mac. +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: 49917483-28AA-4598-A847-71F1F2E0DCB5 +--- + +# Version control + +Version control is a system for managing files over many different versions, and - in software development - is generally contributed to by many developers. The principal purpose of any version control system (_VCS_) is to find a solution that enables all users to work on the codebase at the same time. + +At the core of any version control system is a _repository_, which acts as the central data store for all the different files - similar to a file server. However, unlike a file server, the repository contains the entire history of the project and all revisions that have been made. + +If the repository is the central data store, it is logical for each user to have a local store of the data, allowing them to work on it. This is called a _working copy_. In Visual Studio for Mac your working copy will appear just as any other local directory on your machine, allowing you to read from and write to any of the files. However, because Visual Studio for Mac has Version control system integration, you can use Subversion and Git without leaving the IDE. + +Subversion is a centralized version control system, which means that there is a single server that contains all files and revisions from which users can check out any version of any file. When files are checked out from a remote Subversion repository, the user gets a snapshot of the repository at that point in time. + +Git is a distributed version control system that allows teams to work on the same documents simultaneously. With Git there might be a single server that contains all the files, but the entire repository is cloned locally to your machine whenever a repository is checked out from this central source. + +## Basic Concepts + +Visual Studio for Mac provides support for both Git and Subversion version control systems. The following articles explore setting up Git and Subversion repositories through Visual Studio for Mac, as well as simple functionality such as reviewing, committing, and pushing changes. + +* [Setting Up a Git Repository](set-up-git-repository.md) +* [Working with Git](working-with-git.md) +* [Setting Up a Subversion Repository](set-up-subversion-repository.md) +* [Working with Subversion](working-with-subversion.md) + +## See also + +* [Version control in Visual Studio (on Windows)](/visualstudio/version-control/) \ No newline at end of file diff --git a/mac/2017/visual-studio-experience-improvement-program.md b/mac/2017/visual-studio-experience-improvement-program.md new file mode 100644 index 00000000000..02f23cb8630 --- /dev/null +++ b/mac/2017/visual-studio-experience-improvement-program.md @@ -0,0 +1,36 @@ +--- +title: Visual Studio Customer Experience Improvement Program +description: Find out how to manage privacy settings in Visual Studio for Mac. +author: conceptdev +ms.author: crdun +ms.date: 05/22/2018 +ms.assetid: 6F2ECF5A-E195-4890-8399-12A88C7D62FD +--- + +# Visual Studio Customer Experience Improvement Program + +The Visual Studio Customer Experience Improvement Program (VSCEIP) is a program designed to help Microsoft improve Visual Studio for Mac over time. This program collects information about computer hardware and how people use Visual Studio for Mac, without interrupting the users in their tasks at the computer. The information that is collected helps Microsoft identify which features to improve. This article describes how to opt in or out of the VSCEIP. + +For more information about the information collected, processed, or transmitted by the VSCEIP, see the [Microsoft Privacy Statement](https://privacy.microsoft.com/privacystatement). + +## Choice and control over the Visual Studio Customer Experience Improvement Program + +The VSCEIP is turned on by default. You can turn it off, or back on again, by following the instructions below. + +1. Open Visual Studio for Mac. + +1. From the menu bar, choose **Visual Studio > Preferences > Other > Feedback**. + +1. Select your preference for participation: + + ![Select a radio button to reflect your participation preference](media/visual-studio-experience-improvement-program-image1.png) + +[!INCLUDE [GDPR-related guidance](../../docs/misc/includes/gdpr-hybrid-note.md)] + +## See also + +* [Customer Experience Improvement Program (Visual Studio on Windows)](/visualstudio/ide/visual-studio-experience-improvement-program) +* [System-generated logs collected by Visual Studio (on Windows)](/visualstudio/ide/diagnostic-data-collection) +* [How to report a problem with Visual Studio for Mac](report-a-problem.md) +* [Visual Studio for Mac Developer Community](https://developercommunity.visualstudio.com/spaces/41/index.html) +* [Microsoft Privacy Statement](https://privacy.microsoft.com/privacystatement) diff --git a/mac/2017/web-app-deployment.md b/mac/2017/web-app-deployment.md new file mode 100644 index 00000000000..0e0f7a0160a --- /dev/null +++ b/mac/2017/web-app-deployment.md @@ -0,0 +1,20 @@ +--- +title: "ASP.NET Core Web App Deployment" +description: "Information about ASP.NET Core Web Application Deployment in Visual Studio for Mac." +author: sayedihashimi +ms.author: sayedha +ms.date: 01/25/2019 +ms.assetid: d746292d-0570-424a-bf43-e16ab85bbf0d +--- + +# ASP.NET Core Web App Deployment + +An important step in developing web applications is publishing (deployment). You can publish to a remote environment, so that others can use the application, or for testing purposes. Visual Studio for Mac offers two options to publish your application. Publish to Azure App Service enables you to publish your web application to Azure App Service. Publish to Folder enables you to publish your application to a folder. + +## Publish to Azure App Service + +Using Visual Studio for Mac you can publish your web application directly to Azure App Service. To publish your ASP.NET Core web application to Azure App Service refer to the [Publish to Azure App Service](publish-app-svc.md) article. + +## Publish to Folder + +You can also publish your ASP.NET Core web applications to a folder. To learn more about how you can publish your web application to a folder refer to [Publish to Folder](publish-folder.md). \ No newline at end of file diff --git a/mac/2017/working-with-git.md b/mac/2017/working-with-git.md new file mode 100644 index 00000000000..876f5ad5cbb --- /dev/null +++ b/mac/2017/working-with-git.md @@ -0,0 +1,101 @@ +--- +title: Working with Git +description: Using Git in Visual Studio for Mac. +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: 852B6A9D-AEFA-4EF4-A5DD-94A506019D20 +ms.custom: video +--- + +# Working with Git + +Git is a distributed version control system that allows teams to work on the same documents simultaneously. This means that there is a central server that contains all the files, but when a repository is checked out from this central source, the entire repository is cloned to the local machine. + +The sections below will explore how Git can be used for version control in Visual Studio for Mac. + +## Git version control menu + +The image below illustrates the options provided by Visual Studio for Mac by the Version Control menu item: + +![Version Control menu item](media/version-control-gitVersionControlMenu.png) + +## Push and Pull + +Pushing and Pulling are two of the most commonly used actions within Git. To synchronize changes that other people have made to the remote repository, you must **Pull** from there. This is done in Visual Studio for Mac by selecting **Version Control > Update Solution**. + +Once you have updated your files, reviewed and committed them, you must then **Push** them to the remote repository to allow others to access your changes. This is done in Visual Studio for Mac by selecting **Version Control > Push Changes**. This will display the Push dialog, allowing you to view the committed changes, and select the branch to push to: + +![Dialog showing the branch to commit to](media/version-control-gitPush.png) + +You can also Commit and Push your changes at the same time, via the Commit dialog: + +![Option showing how to commit and push at the same time.](media/version-control-commitPush.png) + +## Blame, Log, and Merge + +At the bottom of the window, there are five tabs displayed, as illustrated below: + +![Version Control tabs](media/version-control-gitTabs.png) + +These allow the following actions: + +* **Source** - Displays your source code file. +* **Changes** - Displays the change in code between your local file and the base file. You can also compare different versions of the file from different hashes: + + ![Changes tab](media/version-control-gitChange.png) + +* **Blame** - Displays the username of the user associated with each section of code. +* **Log** - Displays all the commits, times, dates, messages, and users that are responsible for the file: + + ![Log tab](media/version-control-gitLog.png) + +* **Merge** - This can be used if you have a merge conflict when committing your work. It shows a visual representation of the changes made by you and the other developer, allowing you to combine both sections of code cleanly. + +## Switching branches + +By default, the first branch created in a repository is known as the **Master** branch. There isn't technically anything different between the master branch and any other, but the master branch is the one that is most often thought of in development teams as the 'live' or 'production' branch. + +An independent line of development can be created by branching off Master (or any other branch, for that matter). This provides a new version of the master branch at a point in time, allowing for development independently of what is 'live.' Using branches in this way is often used for features in software development + +Users can create as many branches as they like for each repository, but it is recommended that once they have finished using a branch, it is deleted it to keep the repository organized. + +Branches are viewed in Visual Studio for Mac by browsing to **Version Control > Manage Branches and Remotes...**: + +![Branches view](media/version-control-gitBranch2.png) + +Switch to another branch by selecting it in the list and pressing the **Switch to Branch** button. + +To create a new branch select the **New** button in the Git repository configuration dialog. Enter the new branch name: + +![Create new branch](media/version-control-gitBranch.png) + +You can also set a remote branch to your _tracking_ branch. Read more about tracking branches in the [Git documentation](https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches#Tracking-Branches). + +See the current branch in the Solution Pad, next to the project name: + + ![Current branch displayed in solution pad](media/version-control-gitBranchName.png) + +## Reviewing and committing + +To review changes in the files, use the Changes, Blame, Log, and Merge tabs on each document, illustrated earlier in this topic. + +Review all changes in your project by browsing to the **Version Control > Review Solution and Commit** menu item: + +![Review code view](media/version-control-gitReviewCommit.png) + +This allows viewing of all the changes in each file of a project with the option to Revert, Create a Patch, or Commit. + +To commit a file to the remote repository, press **Commit**, enter a commit message, and confirm with the Commit Button: + +![Committing a file](media/version-control-gitCommit.png) + +Once you have committed your changes, push them to the remote repository to allow other users to see them. + +## Related Video + +> [!Video https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-for-Mac-Manage-Projects-with-Git/player] + +## See also + +* [Share your code with Visual Studio 2017 and Azure Repos Git](/azure/devops/repos/git/share-your-code-in-git-vs-2017) \ No newline at end of file diff --git a/mac/2017/working-with-subversion.md b/mac/2017/working-with-subversion.md new file mode 100644 index 00000000000..70221ac489a --- /dev/null +++ b/mac/2017/working-with-subversion.md @@ -0,0 +1,54 @@ +--- +title: Working with Subversion +description: Using Subversion in Visual Studio for Mac. +author: conceptdev +ms.author: crdun +ms.date: 05/06/2018 +ms.assetid: 2400ED9C-6236-4C0A-A3AB-9D7CBE1F0CF4 +--- + +# Working with Subversion + +Subversion is the centralized version control system that enables you to check out a single master copy of the centralized data. In contrast to Git, checking out a Subversion repository does not clone the entire repository, it only takes a snapshot at that point in time. + +Subversion uses a copy-modify-merge model to allow users to work on the same repository simultaneously. This means that each user creates a local, or working, copy of the centralized data, which they work on independently. The changes to users working copies are merged in a chronological fashion. + +For example, imagine that User A and User B both check out a copy from the remote repository and they each modify files. User A finishes the modifications and commits them remotely. Before User B commits their work, they must update their working copy with changes from the remote, merging in User A's changes. + +The following sections explore how Subversion can be used for version control in Visual Studio for Mac. + +The following image illustrates the options provided by Visual Studio for Mac by the Version Control menu item: + +![Version Control menu items](media/version-control-svnVersionControlMenu.png) + +## Checkout... + +Before starting to use a remote Subversion repository, check out the repo to create a working copy of that directory on your local machine. + +To find out about using the **Checkout** feature in Visual Studio for Mac, follow the steps in the [Setting up a Subversion repository](set-up-subversion-repository.md) section. + +## Update solution + +When using a remote repository, it's important to remember that other users may be modifying files, making your working copy outdated. In anticipation of conflicts, it's always recommended to pull any changes from the repository into your solution before starting work, and before committing. To do pull changes, select the **Version Control > Update Solution** menu item. + +## Review solution and commit + +To review changes in files, use the Changes, Blame, Log, and Merge tabs on each document, as illustrated in the following image: + +![Version Control Tabs](media/version-control-vcTabs.png) + +Review all changes in a project by browsing the **Version Control > Review Solution and Commit** menu item: + +![Review Solution](media/version-control-vcStatus.png) + +This allows viewing all the changes in each file of a project with the option to Revert, Create Patch, or Commit. + +To commit a file to the remote repository, press Commit..., enter a commit message, and confirm with the Commit Button: + +![Committing a file](media/version-control-svnCommit.png) + +This will send the changes to the repository where they create the new revision of all your modifications. + +## See also + +- [Set up a Subversion repository](set-up-subversion-repository.md) diff --git a/mac/2017/workloads.md b/mac/2017/workloads.md new file mode 100644 index 00000000000..5f673b94634 --- /dev/null +++ b/mac/2017/workloads.md @@ -0,0 +1,35 @@ +--- +title: "Visual Studio for Mac Workloads" +description: "This article describes the various workloads that can be used in Visual Studio for Mac, including Xamarin mobile apps, ASP.NET Core, and Unity for games." +author: conceptdev +ms.author: crdun +ms.date: 12/05/2018 +ms.assetid: DDC39599-8C5D-4CB9-8DA5-229E085384CA +--- +# Visual Studio for Mac Workloads + +Visual Studio for Mac comes pre-installed with workloads for developing the following types of app: + +* Cross-platform mobile apps with .NET using Xamarin, for Android, iOS, tvOS, and watchOS +* Mac desktop apps +* .NET Core apps +* ASP.NET Core Web apps +* Cross-platform Unity games + +## Mobile applications with Xamarin + +Xamarin allows you to create cross-platform mobile apps with .NET for Android, iOS, tvOS, watchOS, and Mac desktop apps. + +For information on using Xamarin in Visual Studio for Mac, refer to the [Xamarin Developer Center](https://developer.xamarin.com/) and check out the Mobile apps [hands-on lab](https://github.com/Microsoft/vs4mac-labs/tree/master/Mobile/Getting-Started). + +## .NET Core applications + +For more information on using .NET Core, refer to the [documentation](/dotnet/core/). + +## ASP.NET Core Web Applications + +For information on getting started using ASP.NET Core in Visual Studio for Mac, refer to the [Getting Started with ASP.NET Core](asp-net-core.md) guide or check out the ASP.NET Core web apps [hands-on lab](https://github.com/Microsoft/vs4mac-labs/tree/master/Web/Getting-Started). + +## Unity game development + +To start building games with Unity, see the [Setup page](setup-vsmac-tools-unity.md) and the [guide to using Unity Tools](using-vsmac-tools-unity.md), or check out the Unity [hands-on lab](https://github.com/Microsoft/vs4mac-labs/tree/master/Unity/Getting-Started). diff --git a/mac/2017/xamarin.md b/mac/2017/xamarin.md new file mode 100644 index 00000000000..9b475547d85 --- /dev/null +++ b/mac/2017/xamarin.md @@ -0,0 +1,56 @@ +--- +title: Xamarin in Visual Studio for Mac +description: "using Xamarin in Visual Studio for Mac allows you to create cross platform applications targeting iOS, Mac, Android, tvOS, and watchOS " +author: conceptdev +ms.author: crdun +ms.date: 02/12/2019 +ms.assetid: 339F6051-5F90-48DC-8237-EBBC8A03A32B +--- + +# Xamarin mobile app development + +First-class support for [Xamarin](/xamarin) allows you to develop rich native experiences for Android, macOS, iOS, tvOS, and watchOS. Xamarin.Forms cross-platform applications help you share XAML-based UI code between Android, iOS, and macOS without limiting access to native functionality. + +## Android + +Visual Studio for Mac has its own integrated Android SDK manager, allowing you access to the SDKs you want your app to target. + +For Android applications, Visual Studio for Mac includes its own designer, which works with Android `.axml` files to +visually construct user interfaces. Visual Studio for Mac will open these files in its Android Designer, as illustrated in the following image: + +![Android UI Designer](media/intro-image31.png) + +For more information on the Android Designer, see the [Xamarin.Android Designer Overview](/xamarin/android/user-interface/android-designer/index) guide. + +## iOS + +The iOS Designer is fully integrated with Visual Studio for Mac and enables visual editing of .xib and Storyboard files to create iOS, tvOS, and WatchOS UIs and transitions. The entire user interface can be built using drag-and-drop functionality between the Toolbox and Design Surface, while using an intuitive approach to handling events. The iOS Designer also supports [custom controls](/xamarin/ios/user-interface/designer/ios-designable-controls-overview) with the added benefit of design-time rendering. + +![iOS Storyboard designer](media/intro-image30.png) + +For more information on using the iOS Designer, see the [Designer](https://docs.microsoft.com/xamarin/ios/user-interface/designer/?tabs=macos) guides. + +### Mac + +Xamarin provides native Mac API bindings that allow you to create beautiful Mac applications. + +For more information on writing Mac applications with Visual Studio for Mac, refer to the [Xamarin.Mac](/xamarin/mac/get-started/index) guides. + +## Xamarin Enterprise features + +> [!Note] +> These products can only be used with a Visual Studio Enterprise subscription. + +### Profiler + +The Xamarin Profiler has three instruments available for profiling. The [Introduction to the Xamarin Profiler](/xamarin/tools/profiler/index?tabs=macos) guide explores what these instruments measure and how they analyze your application, and clarifies the meaning of the data presented on each screen. + +### Inspector + +The Xamarin Inspector provides an interactive C# console with user tools. It can be used as a debugging or diagnostics aid when inspecting live applications, as a teaching tool, as a documentation tool, or an experimentation tool. + +![Xamarin Inspector](media/intro-inspector.png) + +It consists of a standalone application that provides a rich C# console that can target various programming platforms (Android, iOS, Mac, and Windows) and integrate into your IDEs debugging workflow. + +For more information, see the [Xamarin Inspector](/xamarin/tools/inspector/) guide. \ No newline at end of file diff --git a/mac/2019/TOC.md b/mac/2019/TOC.md deleted file mode 100644 index 1efac1eb4d2..00000000000 --- a/mac/2019/TOC.md +++ /dev/null @@ -1,79 +0,0 @@ -# [Visual Studio for Mac](/visualstudio/mac/) -# [IDE Tour](ide-tour.md) - -# [Installation](installation.md) -## [Install and use behind a firewall or proxy](/visualstudio/mac/install-behind-a-firewall-or-proxy-server) -## [Install a preview release](/visualstudio/mac/install-preview) -## [Update](/visualstudio/mac/update) -## [Uninstall](/visualstudio/mac/uninstall) - - -# [User Accounts](/visualstudio/mac/user-accounts) -## [Signing In](/visualstudio/mac/signing-in) -## [Enable Subscription](/visualstudio/mac/enable-subscription) - -# [Customizing the IDE](/visualstudio/mac/customizing-the-ide) -## [Extending Visual Studio for Mac](/visualstudio/mac/extending-visual-studio-mac) - - -# [Projects and Solutions](/visualstudio/mac/projects-and-solutions) -## [Creating new Projects](/visualstudio/mac/create-new-projects) -## [Adding and removing Project Items](/visualstudio/mac/add-and-remove-project-items) -## [Managing Solutions and Project properties](/visualstudio/mac/managing-solutions-and-project-properties) -## [Managing references in a project](/visualstudio/mac/managing-references-in-a-project) -### [Walkthrough - Including a NuGet package in your project](/visualstudio/mac/nuget-walkthrough) -## [Managing App Resources](/visualstudio/mac/managing-app-resources) -## [How to: Open multiple solutions or instances](/visualstudio/mac/open-multiple-solutions) - -# [Source Editor](/visualstudio/mac/source-editor) -## [Refactoring](/visualstudio/mac/refactoring) -## [Comments](/visualstudio/mac/comments) -## [Editor Behavior](/visualstudio/mac/editor-behavior) -## [Task Comments](/visualstudio/mac/task-comments) -## [Snippets](/visualstudio/mac/snippets) -## [Block Selection](/visualstudio/mac/block-selection) -## [Editor Themes](/visualstudio/mac/editor-themes) -## [EditorConfig](/visualstudio/mac/editorconfig) -## [Common Keyboard Shortcuts](/visualstudio/mac/keyboard-shortcuts) - -# [Debugging](/visualstudio/mac/debugging) -## [Data Visualizations](/visualstudio/mac/data-visualizations) - -# [Compiling and Building](/visualstudio/mac/compiling-and-building) -## [Building and Cleaning Projects and Solutions](/visualstudio/mac/building-and-cleaning-projects-and-solutions) -## [Build Actions](/visualstudio/mac/build-actions) -## [Customizing the Build System](/visualstudio/mac/customizing-build-system) -## [Configurations](/visualstudio/mac/configurations) -### [Create and Edit configurations](/visualstudio/mac/create-and-edit-configurations) - -# [Version Control](/visualstudio/mac/version-control) -## [TF Version Control](/visualstudio/mac/tf-version-control) -## [Setting Up a Git Repository](/visualstudio/mac/set-up-git-repository) -## [Working with Git](/visualstudio/mac/working-with-git) -## [Setting Up a Subversion Repository](/visualstudio/mac/set-up-subversion-repository) -## [Working with Subversion](/visualstudio/mac/working-with-subversion) - -# [Web App Deployment](/visualstudio/mac/web-app-deployment.md) -## [Publish to Azure App Service](/visualstudio/mac/publish-app-svc.md) -## [Publish to Folder](/visualstudio/mac/publish-folder.md) - -# [Workloads](/visualstudio/mac/workloads) -## [ASP.NET Core](/visualstudio/mac/asp-net-core) -### [Razor](/visualstudio/mac/razor) -### [Javascript](/visualstudio/mac/javascript) -## [Azure](/visualstudio/mac/azure-workload) -### [Introduction to Azure Functions](/visualstudio/mac/azure-functions) -### [Tutorial: Azure Functions](/visualstudio/mac/azure-functions-lab) -### [Connected Services](/visualstudio/mac/connected-services) -## [Unity Game Development](/visualstudio/mac/unity-tools) -### [Setup](/visualstudio/mac/setup-vsmac-tools-unity) -### [Using Unity Tools](/visualstudio/mac/using-vsmac-tools-unity) -### [Using .NET 4.x in Unity](/visualstudio/mac//visualstudio/cross-platform/unity-scripting-upgrade/?context=visualstudio/mac/context) -### [Change Log](/visualstudio/mac//visualstudio/cross-platform/change-log-visual-studio-tools-for-unity-mac/?context=visualstudio/mac/context) -## [Mobile apps with Xamarin](/visualstudio/mac/xamarin) - -# [Accessibility](/visualstudio/mac/accessibility) - -# [Troubleshooting](/visualstudio/mac/troubleshooting) -## [Visual Studio Customer Experience Improvement Program](/visualstudio/mac/visual-studio-experience-improvement-program) -## [Report a Problem](/visualstudio/mac/report-a-problem) diff --git a/mac/TOC.md b/mac/TOC.md index b58856c8886..f856923fc73 100644 --- a/mac/TOC.md +++ b/mac/TOC.md @@ -1,7 +1,7 @@ # [Visual Studio for Mac](index.yml) -# [IDE Tour](/visualstudio/mac/ide-tour/) +# [IDE Tour](ide-tour.md) -# [Installation](/visualstudio/mac/installation/) +# [Installation](installation.md) ## [Install and use behind a firewall or proxy](install-behind-a-firewall-or-proxy-server.md) ## [Install a preview release](install-preview.md) ## [Update](update.md) diff --git a/mac/docfx.json b/mac/docfx.json index aa97504bf4d..22219edd904 100644 --- a/mac/docfx.json +++ b/mac/docfx.json @@ -18,27 +18,13 @@ ] },{ "group": "vsmac-2019", - "src": "2019", - "files": [ - "**/*.md", - "**/*.yml" - ], - "exclude": [ - "**/obj/**", - "**/includes/**", - "README.md", - "LICENSE", - "LICENSE-CODE", - "ThirdPartyNotices" - ] - },{ + "src": "./", "files": [ "**/*.md", "**/*.yml" ], "exclude": [ "2017/**", - "2019/**", "**/obj/**", "**/includes/**", "README.md", @@ -64,18 +50,7 @@ ] },{ "group": "vsmac-2019", - "src": "2019", - "files": [ - "**/*.png", - "**/*.jpg", - "**/*.svg", - "**/*.gif" - ], - "exclude": [ - "**/obj/**", - "**/includes/**" - ] - },{ + "src": "./", "files": [ "**/*.png", "**/*.jpg", @@ -84,7 +59,6 @@ ], "exclude": [ "2017/**", - "2019/**", "**/obj/**", "**/includes/**" ] @@ -104,7 +78,7 @@ "breadcrumb_path": "~/_breadcrumb/toc.yml", "extendBreadcrumb": true, "manager": "crdun", - "titleSuffix": "Visual Studio for Mac", + "titleSuffix": "Visual Studio 2019 for Mac", "ms.topic": "conceptual", "audience": "developer", "ms.prod": "visual-studio-mac", @@ -116,11 +90,11 @@ "fileMetadata": { "breadcrumb_path": { "2017/**/*.md": "/visualstudio/mac/_breadcrumb/toc.json", - "2019/**/*.md": "/visualstudio/mac/_breadcrumb/toc.json" + "2017/**/*.yml": "/visualstudio/mac/_breadcrumb/toc.json" }, "titleSuffix": { "2017/**/*.md": "Visual Studio 2017 for Mac", - "2019/**/*.md": "Visual Studio 2019 for Mac" + "2017/**/*.yml": "Visual Studio 2017 for Mac" } }, "template": [], diff --git a/mac/2019/ide-tour.md b/mac/ide-tour.md similarity index 100% rename from mac/2019/ide-tour.md rename to mac/ide-tour.md diff --git a/mac/index.yml b/mac/index.yml index 55df254e1c5..8a97e7a5449 100644 --- a/mac/index.yml +++ b/mac/index.yml @@ -1,6 +1,6 @@ ### YamlMime:YamlDocument documentType: LandingData -title: Visual Studio for Mac documentation +title: Visual Studio 2019 for Mac documentation metadata: description: This article introduces the features of Visual Studio for Mac. author: conceptdev @@ -29,11 +29,6 @@ sections: image: src: https://docs.microsoft.com/media/logos/logo_vs-mac.svg title: Tour Visual Studio for Mac - - href: ~/installation.md?view=vsmac-2019 - html: - image: - src: ~/media/index-2019-preview.png - title: Try 2019 Preview! - title: What apps can I build? items: - type: paragraph diff --git a/mac/install-preview.md b/mac/install-preview.md index 7e8fccfe68e..7f1178fefb0 100644 --- a/mac/install-preview.md +++ b/mac/install-preview.md @@ -10,11 +10,6 @@ ms.assetid: 0E1EF257-9DE4-4653-9DF4-805CE007A1A1 --- # Install a preview release -> [!NOTE] -> Visual Studio 2019 for Mac preview is [now available for installation](/visualstudio/mac/installation/?view=vsmac-2019) and testing. - -## Install an update for Visual Studio for Mac - Before a new version of Visual Studio for Mac is officially released, it's available as a preview. The preview release gives you a chance to try out new features and get the latest bug fixes before they are fully incorporated into the product. Preview releases to Visual Studio for Mac are distributed as an update, rather than through a separate download. Visual Studio for Mac has three updater channels, as described in the [update](update.md) article: Stable, Beta, and Alpha. diff --git a/mac/2019/installation.md b/mac/installation.md similarity index 100% rename from mac/2019/installation.md rename to mac/installation.md diff --git a/mac/2019/media/ide-tour-2019-start-projects.png b/mac/media/ide-tour-2019-start-projects.png similarity index 100% rename from mac/2019/media/ide-tour-2019-start-projects.png rename to mac/media/ide-tour-2019-start-projects.png diff --git a/mac/2019/media/ide-tour-2019-start-signin.png b/mac/media/ide-tour-2019-start-signin.png similarity index 100% rename from mac/2019/media/ide-tour-2019-start-signin.png rename to mac/media/ide-tour-2019-start-signin.png diff --git a/mac/2019/media/ide-tour-image1.png b/mac/media/ide-tour-image1.png similarity index 100% rename from mac/2019/media/ide-tour-image1.png rename to mac/media/ide-tour-image1.png diff --git a/mac/2019/media/ide-tour-image17.png b/mac/media/ide-tour-image17.png similarity index 100% rename from mac/2019/media/ide-tour-image17.png rename to mac/media/ide-tour-image17.png diff --git a/mac/2019/media/ide-tour-image18.png b/mac/media/ide-tour-image18.png similarity index 100% rename from mac/2019/media/ide-tour-image18.png rename to mac/media/ide-tour-image18.png diff --git a/mac/2019/media/ide-tour-image19.png b/mac/media/ide-tour-image19.png similarity index 100% rename from mac/2019/media/ide-tour-image19.png rename to mac/media/ide-tour-image19.png diff --git a/mac/media/ide-tour-image20.png b/mac/media/ide-tour-image20.png new file mode 100644 index 00000000000..130c594cceb Binary files /dev/null and b/mac/media/ide-tour-image20.png differ diff --git a/mac/2019/media/ide-tour-image21.png b/mac/media/ide-tour-image21.png similarity index 100% rename from mac/2019/media/ide-tour-image21.png rename to mac/media/ide-tour-image21.png diff --git a/mac/2019/media/ide-tour-image22.png b/mac/media/ide-tour-image22.png similarity index 100% rename from mac/2019/media/ide-tour-image22.png rename to mac/media/ide-tour-image22.png diff --git a/mac/2019/media/ide-tour-image23.png b/mac/media/ide-tour-image23.png similarity index 100% rename from mac/2019/media/ide-tour-image23.png rename to mac/media/ide-tour-image23.png diff --git a/mac/2019/media/install-preview-checking-sml.png b/mac/media/install-preview-checking-sml.png similarity index 100% rename from mac/2019/media/install-preview-checking-sml.png rename to mac/media/install-preview-checking-sml.png diff --git a/mac/2019/media/install-preview-checking.png b/mac/media/install-preview-checking.png similarity index 100% rename from mac/2019/media/install-preview-checking.png rename to mac/media/install-preview-checking.png diff --git a/mac/2019/media/install-preview-icons-sml.png b/mac/media/install-preview-icons-sml.png similarity index 100% rename from mac/2019/media/install-preview-icons-sml.png rename to mac/media/install-preview-icons-sml.png diff --git a/mac/2019/media/install-preview-icons.png b/mac/media/install-preview-icons.png similarity index 100% rename from mac/2019/media/install-preview-icons.png rename to mac/media/install-preview-icons.png diff --git a/mac/2019/media/install-preview-installer-sml.png b/mac/media/install-preview-installer-sml.png similarity index 100% rename from mac/2019/media/install-preview-installer-sml.png rename to mac/media/install-preview-installer-sml.png diff --git a/mac/2019/media/install-preview-installer.png b/mac/media/install-preview-installer.png similarity index 100% rename from mac/2019/media/install-preview-installer.png rename to mac/media/install-preview-installer.png diff --git a/mac/2019/media/install-preview-older-upgrade.png b/mac/media/install-preview-older-upgrade.png similarity index 100% rename from mac/2019/media/install-preview-older-upgrade.png rename to mac/media/install-preview-older-upgrade.png diff --git a/mac/2019/media/install-preview-privacy-sml.png b/mac/media/install-preview-privacy-sml.png similarity index 100% rename from mac/2019/media/install-preview-privacy-sml.png rename to mac/media/install-preview-privacy-sml.png diff --git a/mac/2019/media/install-preview-privacy.png b/mac/media/install-preview-privacy.png similarity index 100% rename from mac/2019/media/install-preview-privacy.png rename to mac/media/install-preview-privacy.png diff --git a/mac/2019/media/install-preview-selection-sml.png b/mac/media/install-preview-selection-sml.png similarity index 100% rename from mac/2019/media/install-preview-selection-sml.png rename to mac/media/install-preview-selection-sml.png diff --git a/mac/2019/media/install-preview-selection.png b/mac/media/install-preview-selection.png similarity index 100% rename from mac/2019/media/install-preview-selection.png rename to mac/media/install-preview-selection.png diff --git a/subscriptions/TOC.md b/subscriptions/TOC.md index 9bb7e447766..8ab0f672f71 100644 --- a/subscriptions/TOC.md +++ b/subscriptions/TOC.md @@ -68,6 +68,7 @@ #### [Search for a Subscription](search-license.md) #### [Export Subscriptions](exporting-subscriptions.md) #### [Overallocations](handle-overclaimed-license.md) +#### [Maximum Usage](maximum-usage.md) #### [Expired Subscriptions](handle-expired-license.md) #### [Subscribers with Personal Email Sign-ins](personal-email-sign-ins.md) ## Acquiring Visual Studio Subscriptions diff --git a/subscriptions/_img/maximum-usage/maximum-usage-full-report.png b/subscriptions/_img/maximum-usage/maximum-usage-full-report.png new file mode 100644 index 00000000000..ebce42267ab Binary files /dev/null and b/subscriptions/_img/maximum-usage/maximum-usage-full-report.png differ diff --git a/subscriptions/_img/maximum-usage/maximum-usage-menu.png b/subscriptions/_img/maximum-usage/maximum-usage-menu.png new file mode 100644 index 00000000000..2dda9e29b94 Binary files /dev/null and b/subscriptions/_img/maximum-usage/maximum-usage-menu.png differ diff --git a/subscriptions/_img/maximum-usage/maximum-usage-summary.png b/subscriptions/_img/maximum-usage/maximum-usage-summary.png new file mode 100644 index 00000000000..f89cf87d7fd Binary files /dev/null and b/subscriptions/_img/maximum-usage/maximum-usage-summary.png differ diff --git a/subscriptions/maximum-usage.md b/subscriptions/maximum-usage.md new file mode 100644 index 00000000000..3e49682fecf --- /dev/null +++ b/subscriptions/maximum-usage.md @@ -0,0 +1,48 @@ +--- +title: Using the Maximum Usage feature in the Administration Portal +author: evanwindom +ms.author: lank +manager: lank +ms.date: 03/24/2019 +ms.topic: conceptual +description: Learn how to view the maximum number of assigned subscriptions in the admin portal +searchscope: VS Subscription +--- +# Using the Maximum Usage feature to track the number of assigned subscriptions + +A new feature in the Visual Studio subscriptions administration portal helps you track how many subscriptions you've purchased and assigned, and identifies the peak number of subscriptions of each level you've assigned, both within the past year and throughout the duration of your agreement(s). + +## Viewing maximum usage + +To see the peak number of subscriptions assigned for any agreement and subscription level: + +1. Select the agreement you wish to view in the drop-down at the top left of the portal. (If you only have one agreement, it will already be selected.) + +2. Click on the **Maximum Usage** tab. + > [!div class="mx-imgBorder"] + > ![Maximum Usage Menu](_img/maximum-usage/maximum-usage-menu.png) + +3. The "Maximum Usage Summary" will appear, and the maximum number of subscriptions you've assigned within the past year for each level will be displayed, along with the date on which you reached that peak. If you reached that peak more than once, the first time you reached it will be displayed. + > [!div class="mx-imgBorder"] + > ![Maximum Usage Summary](_img/maximum-usage/maximum-usage-summary.png) + +4. To see the maximum number of subscriptions assigned for the life of the agreement, click the **Full-Term** tab. + +## Viewing assignment history + +In addition to seeing the peak assignments for each subscription level, you can see a running account of the activity on the agreement, including purchases and assignments, by clicking the **Export full report** button. + +> [!div class="mx-imgBorder"] +> ![Maximum Usage Full Report](_img/maximum-usage/maximum-usage-full-report.png) + +For each subscription level, the report shows the date you reached a new maximum assignment level and the number of subscriptions you had purchased as of that date, allowing you to easily see any dates where you had overallocations. + +For example, in the table above, you can see that on 12/13/2018 there were 123 Visual Studio Enterprise subscriptions in the agreement, and 120 were assigned. On 1/8/2019, one more subscription was assigned, bringing the total to 121. The next day, another six subscriptions were assigned, and another four subscriptions were added to the agreement to cover the new assignments. + +## Frequently asked questions +### Q: How is the information in the Maximum Usage different from the assignment information available in the "Overview" section on the left side of the portal? + +A: The information in the overview shows the current assignments and available subscriptions for each subscription level. This may be very different from the maximum number of subscriptions assigned for the agreement at any point. The Maximum Usage feature allows you to see when the maximum assignnment levels were reached and what the levels were. This is an important distinction, since billing for subscriptions during true-up is based on the maximum number of subscriptions assigned at any point. + +## Next steps +If you have any questions about subscription assignments or other aspects of the administration portal, please contact https://visualstudio.microsoft.com/subscriptions/support/ for assistance. \ No newline at end of file