diff --git a/contributing-guidelines/template.md b/contributing-guidelines/template.md index a563f71c7..624458f77 100644 --- a/contributing-guidelines/template.md +++ b/contributing-guidelines/template.md @@ -176,7 +176,7 @@ When the UID contains the special characters \` or \#, the UID value needs to be - bulleted - list -##### Unordered list with an embedded list +#### Unordered list with an embedded list - This - bulleted @@ -207,7 +207,7 @@ You can use a [Markdown table generator tool](http://www.tablesgenerator.com/mar Use three backticks (\`\`\`) + a language ID to apply language-specific color coding to a code block. Here is the entire list of [GFM language IDs](https://github.com/jmm/gfm-lang-ids/wiki/GitHub-Flavored-Markdown-(GFM)-language-IDs). -##### C♯ +#### C♯ ```c# using System; diff --git a/docs/android/app-fundamentals/android-api-levels.md b/docs/android/app-fundamentals/android-api-levels.md index 655a38f83..f968f336a 100644 --- a/docs/android/app-fundamentals/android-api-levels.md +++ b/docs/android/app-fundamentals/android-api-levels.md @@ -41,6 +41,8 @@ Existing apps will be required to target API level 26 or higher beginning in November 2018. For more information, see [Improving app security and performance on Google Play for years to come](https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html). + + # [Visual Studio](#tab/windows) Normally, all three Xamarin.Android API levels are set to the same diff --git a/docs/android/app-fundamentals/permissions.md b/docs/android/app-fundamentals/permissions.md index b20b45530..2281d19bb 100644 --- a/docs/android/app-fundamentals/permissions.md +++ b/docs/android/app-fundamentals/permissions.md @@ -68,6 +68,8 @@ Permissions are added to the **AndroidManifest.xml** with the `uses-permission` ``` + + # [Visual Studio](#tab/windows) It is possible to declare the permissions using the tool support built into Visual Studio: diff --git a/docs/android/app-fundamentals/resources-in-android/resources-for-varying-screens.md b/docs/android/app-fundamentals/resources-in-android/resources-for-varying-screens.md index f0897739a..f4d3a4278 100644 --- a/docs/android/app-fundamentals/resources-in-android/resources-for-varying-screens.md +++ b/docs/android/app-fundamentals/resources-in-android/resources-for-varying-screens.md @@ -84,6 +84,8 @@ pixelated. Supported screen sixes are declared in the **Properites/AndroidManifest.xml** file of the solution: + + # [Visual Studio](#tab/windows) [![Android Manifest](resources-for-varying-screens-images/01-android-manifest-sml.w1581.png)](resources-for-varying-screens-images/01-android-manifest.w1581.png#lightbox) diff --git a/docs/android/data-cloud/google-messaging/remote-notifications-with-fcm.md b/docs/android/data-cloud/google-messaging/remote-notifications-with-fcm.md index 591a95d44..7c7f3073a 100644 --- a/docs/android/data-cloud/google-messaging/remote-notifications-with-fcm.md +++ b/docs/android/data-cloud/google-messaging/remote-notifications-with-fcm.md @@ -81,6 +81,8 @@ you specified a package name for the FCM-enabled app. This package name also serves as the [*application ID*](./firebase-cloud-messaging.md#fcm-in-action-app-id) that is associated with the [API key](firebase-cloud-messaging.md#fcm-in-action-api-key). Configure the app to use this package name: + + # [Visual Studio](#tab/windows) 1. Open the properties for the **FCMClient** project. diff --git a/docs/android/data-cloud/google-messaging/remote-notifications-with-gcm.md b/docs/android/data-cloud/google-messaging/remote-notifications-with-gcm.md index 66ebba134..4dbea98ef 100644 --- a/docs/android/data-cloud/google-messaging/remote-notifications-with-gcm.md +++ b/docs/android/data-cloud/google-messaging/remote-notifications-with-gcm.md @@ -425,7 +425,7 @@ The core functionality of `RegistrationIntentService` resides in the `OnHandleIntent` method. Let's walk through this code to see how it registers our app with GCM. -##### Request a Registration Token +#### Request a Registration Token `OnHandleIntent` first calls Google's [InstanceID.GetToken](https://developers.google.com/android/reference/com/google/android/gms/iid/InstanceID.html#getToken(java.lang.String,%20java.lang.String)) @@ -454,7 +454,7 @@ catch (Exception e) Log.Debug ... ``` -##### Forward the Registration Token to the App Server +#### Forward the Registration Token to the App Server If we get a registration token (that is, no exception was thrown), we call `SendRegistrationToAppServer` to associate the user's registration @@ -477,7 +477,7 @@ server. If this boolean is false, `SendRegistrationToAppServer` sends the token to the app server – otherwise, the token was already sent to the app server in a previous call. -##### Subscribe to the Notification Topic +#### Subscribe to the Notification Topic Next, we call our `Subscribe` method to indicate to GCM that we want to subscribe to a notification topic. In `Subscribe`, we diff --git a/docs/android/deploy-test/publishing/publishing-to-google-play/index.md b/docs/android/deploy-test/publishing/publishing-to-google-play/index.md index bd407bc3c..3122cd95f 100644 --- a/docs/android/deploy-test/publishing/publishing-to-google-play/index.md +++ b/docs/android/deploy-test/publishing/publishing-to-google-play/index.md @@ -145,6 +145,8 @@ application. ### Publishing to Google Play + + # [Visual Studio](#tab/windows) Xamarin Android 7.0 introduces an integrated workflow for publishing diff --git a/docs/android/deploy-test/release-prep/index.md b/docs/android/deploy-test/release-prep/index.md index df1956a34..2dd9d8e7e 100644 --- a/docs/android/deploy-test/release-prep/index.md +++ b/docs/android/deploy-test/release-prep/index.md @@ -60,6 +60,8 @@ allow an Android application to be published without one. The `Icon` property of the `Application` attribute is used to specify the application icon for a Xamarin.Android project. + + # [Visual Studio](#tab/windows) In Visual Studio 2017 and later, specify the application icon through diff --git a/docs/android/deploy-test/release-prep/proguard.md b/docs/android/deploy-test/release-prep/proguard.md index b469f7737..5e5c5a6cd 100644 --- a/docs/android/deploy-test/release-prep/proguard.md +++ b/docs/android/deploy-test/release-prep/proguard.md @@ -392,6 +392,8 @@ wrong encoding. ProGuard cannot handle _byte order mark_ (BOM) which may be present in text files. If a BOM is present, then ProGuard will exit with the above error. + + # [Visual Studio](#tab/windows) To prevent this problem, edit the custom configuration file from a text diff --git a/docs/android/get-started/installation/android-emulator/device-manager.md b/docs/android/get-started/installation/android-emulator/device-manager.md index 398ce9c24..c7ef5ec40 100644 --- a/docs/android/get-started/installation/android-emulator/device-manager.md +++ b/docs/android/get-started/installation/android-emulator/device-manager.md @@ -513,6 +513,8 @@ The following sections explain how to diagnose and work around problems that may occur when using the Android Device Manager to configure virtual devices. + + # [Visual Studio](#tab/windows) ### Android SDK in Non-Standard Location diff --git a/docs/android/platform/maps-and-location/maps/obtaining-a-google-maps-api-key.md b/docs/android/platform/maps-and-location/maps/obtaining-a-google-maps-api-key.md index 150cde12a..89371be9f 100644 --- a/docs/android/platform/maps-and-location/maps/obtaining-a-google-maps-api-key.md +++ b/docs/android/platform/maps-and-location/maps/obtaining-a-google-maps-api-key.md @@ -31,6 +31,8 @@ Typically, this means you will have to determine the SHA-1 fingerprint for the debug keystore, and then the SHA-1 fingerprint for the keystore that is used to sign your application for release. + + # [Visual Studio](#tab/windows) By default the keystore that is used to sign debug versions of a diff --git a/docs/android/platform/oreo.md b/docs/android/platform/oreo.md index 6562f1211..20d9d9f0d 100644 --- a/docs/android/platform/oreo.md +++ b/docs/android/platform/oreo.md @@ -69,6 +69,8 @@ Each of these steps is explained in the following sections: To add Android Oreo support to Visual Studio, do the following: + + # [Visual Studio](#tab/windows) - For Visual Studio 2019, use the [SDK Manager](~/android/get-started/installation/android-sdk.md) to install API level 26.0 or later. diff --git a/docs/android/user-interface/android-designer/designer-walkthrough.md b/docs/android/user-interface/android-designer/designer-walkthrough.md index a69fa0bcf..11c93886d 100644 --- a/docs/android/user-interface/android-designer/designer-walkthrough.md +++ b/docs/android/user-interface/android-designer/designer-walkthrough.md @@ -43,6 +43,8 @@ how to modify widgets interactively on the **Design Surface** or by using the Designer's **Properties** pane. Finally, you'll see how the design looks when the app runs on a device or emulator. + + # [Visual Studio](#tab/windows) ### Creating a new project diff --git a/docs/android/user-interface/layouts/recycler-view/parts-and-functionality.md b/docs/android/user-interface/layouts/recycler-view/parts-and-functionality.md index d4576630c..b657bfdbd 100644 --- a/docs/android/user-interface/layouts/recycler-view/parts-and-functionality.md +++ b/docs/android/user-interface/layouts/recycler-view/parts-and-functionality.md @@ -93,7 +93,7 @@ and -### How View Recycling Works +## How View Recycling Works `RecyclerView` does not allocate an item view for every item in your data source. Instead, it allocates only the number of item views @@ -133,7 +133,7 @@ holder uses `FindViewById` to get references to the views inside the inflated item-layout file. These references are used to load new data into the views every time the layout is recycled to show new data. -### The Layout Manager +## The Layout Manager The layout manager is responsible for positioning items in the `RecyclerView` display; it determines the presentation type (a list @@ -171,7 +171,7 @@ predefined layout manager by default. For more information about the layout manager, see the [RecyclerView.LayoutManager class reference](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager.html). -### The View Holder +## The View Holder The view holder is a class that you define for caching view references. The adapter uses these view references to bind each view to @@ -189,7 +189,7 @@ A detailed example of a `ViewHolder` implementation is presented in For more information about `RecyclerView.ViewHolder`, see the [RecyclerView.ViewHolder class reference](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder.html). -### The Adapter +## The Adapter Most of the "heavy-lifting" of the `RecyclerView` integration code takes place in the adapter. `RecyclerView` requires that you provide @@ -227,9 +227,9 @@ When you implement an adapter, you must override the following - **`ItemCount`** – Returns the number of items in the data source. The layout manager calls these methods while it is positioning items -within the `RecyclerView`. +within the `RecyclerView`. -### Notifying RecyclerView of Data Changes +## Notifying RecyclerView of Data Changes `RecyclerView` does not automatically update its display when the contents of its data source changes; the adapter must notify diff --git a/docs/android/wear/get-started/hello-wear.md b/docs/android/wear/get-started/hello-wear.md index c71ed5c54..f0c910978 100644 --- a/docs/android/wear/get-started/hello-wear.md +++ b/docs/android/wear/get-started/hello-wear.md @@ -23,6 +23,8 @@ Follow these steps to create your first Xamarin.Android Wear app: Create a new **Android Wear Application**: + + # [Visual Studio](#tab/windows) [![Creating a new Android Wear Application in the New Project dialog](hello-wear-images/vs/new-solution-sml.w157.png)](hello-wear-images/vs/new-solution.w157.png#lightbox) diff --git a/docs/cross-platform/app-fundamentals/building-cross-platform-applications/case-study-tasky.md b/docs/cross-platform/app-fundamentals/building-cross-platform-applications/case-study-tasky.md index 886af53ad..305636349 100644 --- a/docs/cross-platform/app-fundamentals/building-cross-platform-applications/case-study-tasky.md +++ b/docs/cross-platform/app-fundamentals/building-cross-platform-applications/case-study-tasky.md @@ -575,7 +575,7 @@ The resulting applications look like this on each platform: -#### iOS +### iOS The application uses iOS-standard user interface design, such as the ‘add’ button being positioned in the navigation bar and using the built-in **plus (+)** icon. It also uses the default @@ -586,7 +586,7 @@ The application uses iOS-standard user interface design, such as the -#### Android +### Android The Android app uses built-in controls including the built-in layout for rows that require a ‘tick’ displayed. The hardware/system back behavior is @@ -596,7 +596,7 @@ supported in addition to an on-screen back button. -#### Windows Phone +### Windows Phone The Windows Phone app uses the standard layout, populating the app bar at the bottom of the screen instead of a nav bar at the top. diff --git a/docs/cross-platform/macios/32-and-64/index.md b/docs/cross-platform/macios/32-and-64/index.md index b04a2e596..089807f0f 100644 --- a/docs/cross-platform/macios/32-and-64/index.md +++ b/docs/cross-platform/macios/32-and-64/index.md @@ -37,6 +37,8 @@ use the [Unified API](~/cross-platform/macios/unified/index.md) For Xamarin.iOS mobile applications that have been converted to the Unified API, developers must manually update the build settings to target 64-bit: + + # [Visual Studio for Mac](#tab/macos) 1. In the **Solution Pad**, double-click the app's project to open the **Project Options** window. diff --git a/docs/cross-platform/macios/http-stack.md b/docs/cross-platform/macios/http-stack.md index d2a64ae03..d9d84225e 100644 --- a/docs/cross-platform/macios/http-stack.md +++ b/docs/cross-platform/macios/http-stack.md @@ -18,7 +18,7 @@ Projects must reference the **System.Net.Http** assembly. > > In order to ensure your apps continue to work with these servers and services, **you should update your Xamarin projects with the `NSUrlSession` setting shown below, then re-build and re-deploy your apps** to your users. -### Selecting an HttpClient stack +## Selecting an HttpClient stack To adjust the `HttpClient` being used by your app: diff --git a/docs/get-started/quickstarts/database.md b/docs/get-started/quickstarts/database.md index 84e3665c7..b9e099c4e 100644 --- a/docs/get-started/quickstarts/database.md +++ b/docs/get-started/quickstarts/database.md @@ -25,7 +25,7 @@ The quickstart walks through how to store data in a local SQLite.NET database. T [![](database-images/screenshots1-sml.png "Notes Page")](database-images/screenshots1.png#lightbox "Notes Page") [![](database-images/screenshots2-sml.png "Note Entry Page")](database-images/screenshots2.png#lightbox "Note Entry Page") -### Prerequisites +## Prerequisites You should successfully complete the [previous quickstart](multi-page.md) before attempting this quickstart. Alternatively, download the [previous quickstart sample](https://docs.microsoft.com/samples/xamarin/xamarin-forms-samples/getstarted-notes-multipage/) and use it as the starting point for this quickstart. diff --git a/docs/ios/deploy-test/testflight.md b/docs/ios/deploy-test/testflight.md index de280997c..9a0af8f04 100644 --- a/docs/ios/deploy-test/testflight.md +++ b/docs/ios/deploy-test/testflight.md @@ -86,6 +86,8 @@ Once the iTunes Connect record has been created, you will be able to upload new First, build your [final distributable](~/ios/deploy-test/app-distribution/app-store-distribution/publishing-to-the-app-store.md) in the IDE, then [submit your app to Apple](~/ios/deploy-test/app-distribution/app-store-distribution/publishing-to-the-app-store.md) through either the Application Loader, or the archive function in Xcode. + + # [Visual Studio for Mac](#tab/macos) ### Create an Archive diff --git a/docs/ios/platform/message-app-integration/intro-to-message-app-extensions.md b/docs/ios/platform/message-app-integration/intro-to-message-app-extensions.md index a872443f2..8b6fd90c2 100644 --- a/docs/ios/platform/message-app-integration/intro-to-message-app-extensions.md +++ b/docs/ios/platform/message-app-integration/intro-to-message-app-extensions.md @@ -110,6 +110,8 @@ What are the benefits of creating a Custom Sticker Experience? To creating a Custom Sticker Experience, do the following: + + # [Visual Studio for Mac](#tab/macos) 1. Start Visual Studio for Mac. diff --git a/docs/ios/platform/sirikit/implementing-sirikit.md b/docs/ios/platform/sirikit/implementing-sirikit.md index db6440600..7fe5512bc 100644 --- a/docs/ios/platform/sirikit/implementing-sirikit.md +++ b/docs/ios/platform/sirikit/implementing-sirikit.md @@ -62,6 +62,8 @@ In the case of the example app MonkeyChat, the data models and processing code s Do the following: + + # [Visual Studio for Mac](#tab/macos) 1. Start Visual Studio for Mac and open the MonkeyChat app. diff --git a/docs/ios/platform/user-notifications/advanced-user-notifications.md b/docs/ios/platform/user-notifications/advanced-user-notifications.md index cfeee4c5e..e40a567d2 100644 --- a/docs/ios/platform/user-notifications/advanced-user-notifications.md +++ b/docs/ios/platform/user-notifications/advanced-user-notifications.md @@ -157,6 +157,8 @@ If the user interacts with the Custom Actions (presented below the Notification) To implement a Custom User Notification UI in a Xamarin.iOS app, do the following: + + # [Visual Studio for Mac](#tab/macos) 1. Open the app's solution in Visual Studio for Mac. diff --git a/docs/ios/tvos/user-interface/text-fields-and-search.md b/docs/ios/tvos/user-interface/text-fields-and-search.md index c562505a4..531cedce8 100644 --- a/docs/ios/tvos/user-interface/text-fields-and-search.md +++ b/docs/ios/tvos/user-interface/text-fields-and-search.md @@ -91,6 +91,8 @@ The easiest way to work with Text Fields in a Xamarin.tvOS app is to add them to Do the following: + + # [Visual Studio for Mac](#tab/macos) 1. In the **Solution Pad**, double-click the `Main.storyboard` file to open it for editing. diff --git a/docs/ios/user-interface/designer/introduction.md b/docs/ios/user-interface/designer/introduction.md index 9ad56a89b..2f2ed32cb 100644 --- a/docs/ios/user-interface/designer/introduction.md +++ b/docs/ios/user-interface/designer/introduction.md @@ -31,6 +31,8 @@ The iOS Designer allows developers to visually design an application's user inte A view controller has two parts: a visual representation in the iOS Designer and an associated C# class: + + # [Visual Studio for Mac](#tab/macos) [![A view controller in the iOS Designer](introduction-images/1-storyboardwithviewcontroller-vsmac.png "A view controller in the iOS Designer")](introduction-images/1-storyboardwithviewcontroller-vsmac-large.png#lightbox) diff --git a/docs/tools/profiler/index.md b/docs/tools/profiler/index.md index abab2bc9d..2ed9345e7 100644 --- a/docs/tools/profiler/index.md +++ b/docs/tools/profiler/index.md @@ -47,6 +47,8 @@ Profiling is helpful in all types of development, but it is especially crucial i The Xamarin Profiler provides developers with a way to profile applications from inside Visual Studio for Mac or Visual Studio. The profiler collects and displays information about the app, which can then be used by the developer to analyze an application’s behavior. There are a number of different ways to profile an application with the Xamarin Profiler, namely memory profiling and statistical sampling. These are carried out through the Allocations and Time Profiler instruments respectively. + + # [Visual Studio for Mac](#tab/macos) Currently, the Xamarin Profiler can be used to test Xamarin.iOS, Xamarin.Android, and Xamarin.Mac applications on Mac (Via Visual Studio for Mac). The profiler is a separate process from the IDE, and so, in addition to launching from Visual Studio for Mac, it can be used as a standalone application to examine .exe and `.mlpd` files which have been produced from the [mono log profiler](https://www.mono-project.com/docs/debug+profile/profile/profiler/). diff --git a/docs/tools/workbooks/install.md b/docs/tools/workbooks/install.md index d91954dc9..21f730ee9 100644 --- a/docs/tools/workbooks/install.md +++ b/docs/tools/workbooks/install.md @@ -14,6 +14,8 @@ ms.date: 06/19/2018 ## Download and Install + + # [Windows](#tab/windows) 1. Check the [requirements](#requirements) below. diff --git a/docs/xamarin-forms/app-fundamentals/localization/text.md b/docs/xamarin-forms/app-fundamentals/localization/text.md index f036c4216..5e5a315ed 100644 --- a/docs/xamarin-forms/app-fundamentals/localization/text.md +++ b/docs/xamarin-forms/app-fundamentals/localization/text.md @@ -76,6 +76,8 @@ Select the **AppResources.resx** file and show the **Properties** pad to see where this build tool is configure. The screenshot below shows the **Custom Tool: ResXFileCodeGenerator**. + + # [Visual Studio](#tab/windows) [![](text-images/vs-resx-internal-sml.png "Properties Window for AppResources.Resx")](text-images/vs-resx-internal.png#lightbox) diff --git a/docs/xamarin-forms/user-interface/images.md b/docs/xamarin-forms/user-interface/images.md index ae5cc4122..54dcd30f7 100644 --- a/docs/xamarin-forms/user-interface/images.md +++ b/docs/xamarin-forms/user-interface/images.md @@ -112,6 +112,8 @@ Embedded images are also shipped with an application (like local images) but ins To embed an image in a project, right-click to add new items and select the image/s you wish to add. By default the image will have **Build Action: None**; this needs to be set to **Build Action: EmbeddedResource**. + + # [Visual Studio](#tab/windows) ![](images-images/vs-buildaction.png "Set Build Action: EmbeddedResource") diff --git a/docs/xamarin-forms/xaml/xaml-basics/get-started-with-xaml.md b/docs/xamarin-forms/xaml/xaml-basics/get-started-with-xaml.md index 537d4e1dd..34fa2381f 100644 --- a/docs/xamarin-forms/xaml/xaml-basics/get-started-with-xaml.md +++ b/docs/xamarin-forms/xaml/xaml-basics/get-started-with-xaml.md @@ -21,6 +21,8 @@ The code-behind file provides code support for the markup. Together, these two f To begin editing your first XAML file, use Visual Studio or Visual Studio for Mac to create a new Xamarin.Forms solution. (Select the tab below corresponding to your environment.) + + # [Visual Studio](#tab/windows) In Windows, use Visual Studio to select **File > New > Project** from the menu. In the **New Project** dialog, select **Visual C# > Cross Platform** at the left, and then **Mobile App (Xamarin.Forms)** from the list in the center.