Xamarin Studio Tour
The Xamarin Integrated Development Environment
- PDF for offline use
- Related Articles:
- Related Recipes:
- Related Videos:
Let us know how you feel about this
last updated: 2017-03
This document provides an overview of Xamarin Studio, the Integrated Development Environment (IDE) used to create iOS, Mac and Android applications, presenting the functionality that makes it an excellent tool for creating native mobile and desktop applications on the Xamarin platform.
Xamarin Studio is a modern, sophisticated IDE with many features for creating Xamarin.iOS, Xamarin.Mac, Xamarin.Android, and Xamarin.Forms applications. It includes a rich editor, debugging, native platform integration with iOS, Mac and Android, and integrated source control to name just of few of its many features.
This guide surveys various sections of Xamarin Studio, providing a look at some of the features that make it a powerful tool for creating applications.
- IDE Tour
- Source Editor
- Navigation and Search
- Version Control Integration
- Release Notes
Xamarin Studio is organized into several sections for managing application files and settings, creating application code, and debugging.
When launched, Xamarin Studio displays a Welcome Screen as shown below:
The Welcome Screen contains the following sections:
- Toolbar - Provides shortcuts to the Xamarin Developer Center, Support and Forums, as well as quick access to your Xamarin Account.
- Solutions - Provides quick access to recently opened solutions, as well as convenience buttons to open or create projects.
- Xamarin News - News feed to stay up to date on the latest Xamarin information.
- Pre-Built Apps - Complete applications to help bootstrap application development.
- Start Enterprise Trial - Provides quick access to begin a free 30 day trial of Xamarin Studio Enterprise.
Solutions and Projects
The image below shows Xamarin Studio with an application loaded:
The following sections provide an overview of the major areas in Xamarin Studio.
The Solution Pad organizes the project(s) in a solution, as shown below:
This is where files for the source code, resources, user interface, and assembly references are organized into platform-specific Projects.
Right-clicking on an item in the Solution Pad allows access to the item’s context menu. The following screenshot shows the context menu for a C# source code file:
For more information on using Projects, Solutions, and Configurations in Xamarin Studio, refer to the Projects, Solutions, and Configurations guide.
Assembly references for each project are available under the References folder, shown below:
Additional references can be added via the the Edit References dialog, which can be displayed by double-clicking on the References folder, or by select Edit References on its context menu actions:
The list of selected assemblies is shown in the list on the right side of the dialog. Any assemblies selected in the Edit References dialog are added to the project when the dialog’s OK button is selected.
Xamarin Components are a powerful feature that allows user interface components as well as libraries and themes to easily be added to a project. The Components store can be accessed by right-clicking on the Components folder and clicking on Get More Components...:
A project can specify the directory Xamarin Components will be extracted to before being referenced by a project. This allows multiple solutions to use the same directory and prevents the assembly references from being modified when a project is opened within the context of a different solution.
For more information on using Components in Xamarin Studio see the Including a Component in your project Walkthrough.
NuGet is the most popular package manager for .NET development. With Xamarin Studio's NuGet support you can easily search for and add packages to your project to application.
Information on using a NuGet package in an application can be found in the Including a NuGet in your project
Xamarin Studio features a modern, sophisticated source code editor. The editor area features a tabbed interface for editing source files as shown below:
The editing experience includes various features, presented in the following sections.
Code in the editor is highlighted according to various language keywords and constructs, as shown below where the keywords, types and string literals have different colors:
Types are discoverable in a popup window while you type. This allows easy exploration of APIs. The following screen shows the completion list:
Xamarin Studio includes support for both finding declarations of any variable or type, as well as any references where they are used. These are available from the editor’s context menu:
Selecting Go to declaration navigates the editor to either the variable declaration or to the type in the assembly browser. Find references presents a list of all places in the project where the variable or type is used, as shown below:
Just below the tabs is the breadcrumb menu, which allows exploration of the class structure contained within the selected file.
Rich, detailed tooltips are presented when hovering over various code elements within the editor. These display information such as function signatures, summary descriptions and code template previews, as shown below:
Indentation and Comments
The editor includes support for automatic indention of code, which can be applied across an entire file by selecting Edit > Format > Format Document from the main menu.
Additionally, indentation as well as comment toggling is available in the editor’s context menu:
Xamarin Studio includes support for code templates, which allow common code constructs to be easily added. The full list of snippets is available in the Toolbox:
When typing in the editor, snippets appear in the code completion list,
where they can be selected to inject the associated code into the editor, as shown below for the snippet that injects an
Xamarin Studio provides two useful ways to refactor your code: Context Actions, and Source Analysis. You can read more about them in the Refactoring guide.
The following screenshot shows the refactoring context menu that is displayed when right-clicking on a variable:
Xamarin Studio is able to suggest changes to your code which either simplify or optimize the code. When the IDE finds such a change, a blue box will appear under the code that can potentially be changed. Placing the mouse on the line produces a pop up suggesting potential changes:
Navigation and Search
Xamarin Studio includes unified search, located in the top-right corner of the IDE, which searches a solution’s types and files as well as available commands.
Matching results are grouped into the following sections:
- Top Result - Shows the top matching result for the search string.
- Solution - Shows a list of matching types within the solution.
- Files - Shows a list of matching files for the search string.
- Commands - Shows a list of available commands for the search string.
The following screenshot shows the result of searching for the string “app” in a solution:
Selecting an item in the result list navigates to that item in the editor.
Xamarin Studio also includes an Assembly Browser for navigating types in any referenced assembly. Double-clicking on an assembly from the Solution Pad loads it into the Assembly Browser.
For example, the following screenshot shows the
System assembly loaded in the Assembly Browser:
The Assembly Browser also supports search with auto-complete. For example, typing CAD in the search box displays the following types:
The Assembly Browser is also integrated with the code editor, where selecting Go to declaration
on a type that exists in a referenced assembly will navigate to that type in the Assembly Browser. For example, the
following shows the Assembly Browser with the
UIWindow loaded after it was selected in the code editor:
Xamarin Studio has a native debugger allowing debugging support for Xamarin.iOS, Xamarin.Mac and Xamarin.Android applications. Xamarin Studio uses the Mono Soft Debugger, which is implemented into the Mono runtime allowing Xamarin Studio to debug managed code across all platforms. For additional information on debugging, visit the Debugging with Xamarin guide.
The following image shows the debugger stopped at a breakpoint with the inline watch popup displayed when hovering over a variable:
Xamarin Studio's debugger contains rich visualizers for special types such as strings, colors, URLs as well as the sizes, co-ordinates and bézier curves.
For more information on the debugger's data visualizations visit the Data Visualizations guide.
Version Control Integration
Xamarin Studio integrates with Git and Subversion source control systems. Projects under source control are denoted with an annotation on their icons in the Solution Pad, as shown below:
For a project under source control, the context menu of the item in the Solution Pad will have its Version Control menu enabled, showing various commands, as shown below:
Also, the main menu’s Version Control menu includes a variety of additional commands for working with source control:
Differences, History and Merging
There are buttons at the bottom of the editor area that allow you to inspect differences in the selected file, change history, view individual code commits, view logs, and perform merges:
For example, the following screenshot shows the differences the source file and all the commits that have been made to that file:
For more information on using version control in Xamarin Studio, refer to the Version Control guide.
The latest release notes for all installed Xamarin products can all be accessed via the Help menu bar item in Xamarin Studio. This will open a link in your browser:
This document presented various parts of Xamarin Studio. It showed the areas of the IDE used for file management, such as the Solution Pad and Version Control integration. It also exhibited the rich source code editor, search, code completion, and code navigation features that make working with a complex code base a breeze.