SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Getting the Most from
Xamarin Studio
Michael Hutchinson
Software Engineer
Xamarin
mhutch@xamarin.com
Customizing
the Workspace
Your Workspace
DocumentSolution Pad
Global Search
Configuration/Target
Selectors Notification Area
Auto-hidden
Pads
Key Bindings
•  Do common things more quickly
•  See them in menus and global search
•  Find them and rebind them in Preferences
•  Preferencesè Generalè Key Bindings
•  Access many hidden commands!
Editor Behavior
•  Preferencesè Text Editor
•  Enable code folding, auto-formatter
•  Enable markers and visual guides
•  Change word breaking mode
•  Even vi emulation!
Build Behavior
•  Preferences è Projects è Build
•  Jump to errors, warnings, or neither
•  Message bubbles or error pad
•  Save files before build, ask or ignore
•  Whether to build before running
Policies
•  Solution-specific style settings: formatting, naming
conventions, file header, etc.
•  Edit in Solution Options
•  User Preferences only apply to new solutions
•  Manage policies in Custom Policies dialog
DEMO
Getting Around
Quickly
Global Search
•  Activate with ⌘. on Mac, Ctrl-, on Windows
•  Navigate to files, types, members, commands
•  Smart camelCase search
•  Type filter prefixes – file:, class:, command:
•  Location suffix – :line,column
Find and Replace
•  Inline search– click magnifying glass for options
•  Find in Files – search/replace in project/solution
Cmd-Shift-F (Mac), Ctrl-Shift-F (Windows)
•  Pin search output pads to keep results –
next search will use new pad
Navigation
•  Go To Declaration – go directly to type, local, member
Cmd-D (Mac), F12 (Windows)
•  Find References – find all places anything is used
Cmd-Shift-R (Mac), Shift-F12 (Windows)
•  Navigate back to where you were
Ctrl-Cmd-Left (Mac), Ctrl-Alt-Left (Windows)
DEMO
Efficient
Editing
Code Completion
•  Use camelCase to search
•  Import type, add the using automatically:
Ctrl-Alt-Space
•  Toggle suggestion mode, explicit commit:
Ctrl-Shift-Space
Hidden Editor Commands
•  Expand selection: Alt-Shift-Up
•  Move line up/down: Alt-Up/Down
•  Block selection – edit many columns at once
Alt (Mac), Ctrl (Windows) and mouse drag
Context Actions
•  Contextual code transformations
•  Over 70 available, see Preferences è
Source Code è C# è Context Actions
•  Access via context menu è Refactor
•  From keyboard, Alt-Enter
Source Analysis
•  Analyses source code on the fly
•  Warns of potential errors and style violations
•  Offers automatic fixes as context actions
•  Hints when context actions available
•  Customizable severity of rules
•  Preferences è Text Editor è Source Analysis
Experimental
DEMO
Advanced
Debugging
Debugger Options
•  Preferences è Projects è Debugger
•  Enable stepping into framework code
•  Speed up debugging by disabling automatic
ToString() and property evaluation
Advanced Breakpoints
•  Tracepoints – print expression and resume
•  Conditional breakpoints – automatically resume
unless expression evaluates to true
•  Run è New [Function] Breakpoint…
•  Context menu è Breakpoint Properties
Watches
•  Watch any expression, not just variables
•  Turn hover inspection into pinned watch on
editor surface by clicking pin icon
•  Watches/locals turn blue when value changes
DEMO
Adding Features
with Add-ins
Creating Add-ins
•  Whole IDE built on add-in model, extremely extensible
•  Commands, templates, build, syntax schemes, context
actions, pads, editors, analysis rules, project types…
•  Most of the IDE is open-source (MonoDevelop)
•  Publish at http://addins.monodevelop.com, install from
Add-in Manager
DEMO
Resources
•  My blog
http://mhut.ch
•  Xamarin Studio Forums
http://forums.xamarin.com/categories/xamarin-studio
•  Stack Overflow
http://stackoverflow.com/questions/tagged/xamarin-studio
•  MonoDevelop Developer Resources
http://monodevelop.com/Developers
Q&A
THANK YOU
Navigation Commands
Command Mac Windows
Go to Definition Cmd-D F12
Find References Cmd-Shift-R Shift-F12
Navigate Forward/Back Ctrl-Cmd-Left/Right Ctrl-Alt-Left/Right
Next/Previous Result Cmd-Opt-Up/Down F4 / Shift-F4
Find in Files Cmd-Shift-F Ctrl-Shift-F
Find Cmd-F Ctrl-F
Next/Previous Usage Cmd-Shift-Up/Down Ctrl-Shift-Up/Down
Hidden Editor Commands
Command Mac Windows
Expand selection Alt-Shift-Up
Insert line below Shift-Enter
Dynamic abbrev Ctrl-/ Alt-/
Delete to end of line Ctrl-K
Move line up/down Alt-Up/Down
Subword motion Ctrl-Left/Right Alt-Left/Right
Block selection Alt-Mouse-Drag Ctrl-Mouse-Drag
Debugger Commands
Command Mac Windows
Start/Resume Cmd-Enter F5
Pause Cmd-Opt-P Ctrl-Break
Toggle Breakpoint Cmd- F9
Step Over Cmd-Shift-O F10
Step Into Cmd-Shift-I F11
Step Out Cmd-Shift-U Shift-F11
THANK YOU
Code Generation Window
•  Contextual generation of members/statements
•  Depends on context
•  Edit è Show Code Generation Window
•  Alt-Insert on Windows
Catchpoints
•  Pause at the point an exception is thrown, even
if it’s handled
•  Run è Exceptions, add exception types to the list
•  Breaks on all subtypes
Code Templates
•  Code snippets with smart linked regions
•  Edit è Insert Template/Surround With...
•  Or type short name, Tab twice
•  Create and edit in Preferences è
Text Editor è Code Templates
Inspect Threads and Stack Frames
•  Double-click thread in threads pad to show stack
•  Double-click stack frame to show location
•  External code frames show in italic
•  Editor highlights current stack frame in yellow
and other frames in green

Mais conteúdo relacionado

Mais procurados

Basic word press development
Basic word press developmentBasic word press development
Basic word press developmentDavid Wolfpaw
 
Drupal Camp LA 2011: Typography modules for Drupal
Drupal Camp LA 2011: Typography modules for DrupalDrupal Camp LA 2011: Typography modules for Drupal
Drupal Camp LA 2011: Typography modules for DrupalAshok Modi
 
WCBos13 intermediate workshop
WCBos13 intermediate workshopWCBos13 intermediate workshop
WCBos13 intermediate workshopBoston WordPress
 
Run around Chrome Inspector
Run around Chrome Inspector Run around Chrome Inspector
Run around Chrome Inspector Tiang Cheng
 
Drupal Backend Performance and Scalability
Drupal Backend Performance and ScalabilityDrupal Backend Performance and Scalability
Drupal Backend Performance and ScalabilityAshok Modi
 
Getting Under the Hood - WordPress File & Directory Structure
Getting Under the Hood -  WordPress File & Directory StructureGetting Under the Hood -  WordPress File & Directory Structure
Getting Under the Hood - WordPress File & Directory Structuregregdavispsu
 
19 free flash photo galleries
19 free flash photo galleries19 free flash photo galleries
19 free flash photo galleriestsonlinen
 
What’s new in joomla 3.7
What’s new in joomla 3.7What’s new in joomla 3.7
What’s new in joomla 3.7Tim Plummer
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Dutyreedmaniac
 
WordPress in NOT English - WordCamp Hamburg 2014
WordPress in NOT English - WordCamp Hamburg 2014WordPress in NOT English - WordCamp Hamburg 2014
WordPress in NOT English - WordCamp Hamburg 2014Yoav Farhi
 
Anatomy and Architecture of a WordPress Theme
Anatomy and Architecture of a WordPress ThemeAnatomy and Architecture of a WordPress Theme
Anatomy and Architecture of a WordPress ThemeJulie Kuehl
 
Mautic landing page setup & case study
Mautic landing page setup & case studyMautic landing page setup & case study
Mautic landing page setup & case studyTim Plummer
 
Wordcamp St. Louis - Clean Coding
Wordcamp St. Louis - Clean CodingWordcamp St. Louis - Clean Coding
Wordcamp St. Louis - Clean Codinginspector_fegter
 
WordPress Customization and Security
WordPress Customization and SecurityWordPress Customization and Security
WordPress Customization and SecurityJoe Casabona
 
Demystifying WordPress
Demystifying WordPressDemystifying WordPress
Demystifying WordPressMykl Roventine
 
NEPA BlogCon 2013 - WordPress Customization & Security
NEPA BlogCon 2013 - WordPress Customization & SecurityNEPA BlogCon 2013 - WordPress Customization & Security
NEPA BlogCon 2013 - WordPress Customization & SecurityMichelle Davies (Hryvnak)
 
WortdPress Child themes: Why and How
WortdPress Child themes: Why and HowWortdPress Child themes: Why and How
WortdPress Child themes: Why and HowPaul Bearne
 
Quick start website manually installing word press pdf
Quick start website manually installing word press pdfQuick start website manually installing word press pdf
Quick start website manually installing word press pdfviet nghiem
 

Mais procurados (20)

Basic word press development
Basic word press developmentBasic word press development
Basic word press development
 
Drupal Camp LA 2011: Typography modules for Drupal
Drupal Camp LA 2011: Typography modules for DrupalDrupal Camp LA 2011: Typography modules for Drupal
Drupal Camp LA 2011: Typography modules for Drupal
 
WCBos13 intermediate workshop
WCBos13 intermediate workshopWCBos13 intermediate workshop
WCBos13 intermediate workshop
 
Run around Chrome Inspector
Run around Chrome Inspector Run around Chrome Inspector
Run around Chrome Inspector
 
Drupal Backend Performance and Scalability
Drupal Backend Performance and ScalabilityDrupal Backend Performance and Scalability
Drupal Backend Performance and Scalability
 
Getting Under the Hood - WordPress File & Directory Structure
Getting Under the Hood -  WordPress File & Directory StructureGetting Under the Hood -  WordPress File & Directory Structure
Getting Under the Hood - WordPress File & Directory Structure
 
19 free flash photo galleries
19 free flash photo galleries19 free flash photo galleries
19 free flash photo galleries
 
What’s new in joomla 3.7
What’s new in joomla 3.7What’s new in joomla 3.7
What’s new in joomla 3.7
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Duty
 
WordPress in NOT English - WordCamp Hamburg 2014
WordPress in NOT English - WordCamp Hamburg 2014WordPress in NOT English - WordCamp Hamburg 2014
WordPress in NOT English - WordCamp Hamburg 2014
 
Anatomy and Architecture of a WordPress Theme
Anatomy and Architecture of a WordPress ThemeAnatomy and Architecture of a WordPress Theme
Anatomy and Architecture of a WordPress Theme
 
Mautic landing page setup & case study
Mautic landing page setup & case studyMautic landing page setup & case study
Mautic landing page setup & case study
 
PowerShell custom properties
PowerShell custom propertiesPowerShell custom properties
PowerShell custom properties
 
Wordcamp St. Louis - Clean Coding
Wordcamp St. Louis - Clean CodingWordcamp St. Louis - Clean Coding
Wordcamp St. Louis - Clean Coding
 
WordPress Customization and Security
WordPress Customization and SecurityWordPress Customization and Security
WordPress Customization and Security
 
Demystifying WordPress
Demystifying WordPressDemystifying WordPress
Demystifying WordPress
 
<?php + WordPress
<?php + WordPress<?php + WordPress
<?php + WordPress
 
NEPA BlogCon 2013 - WordPress Customization & Security
NEPA BlogCon 2013 - WordPress Customization & SecurityNEPA BlogCon 2013 - WordPress Customization & Security
NEPA BlogCon 2013 - WordPress Customization & Security
 
WortdPress Child themes: Why and How
WortdPress Child themes: Why and HowWortdPress Child themes: Why and How
WortdPress Child themes: Why and How
 
Quick start website manually installing word press pdf
Quick start website manually installing word press pdfQuick start website manually installing word press pdf
Quick start website manually installing word press pdf
 

Semelhante a Getting the Most from Xamarin Studio - Michael Hutchinson

Working Effectively with Routine Tasks
Working Effectively with Routine TasksWorking Effectively with Routine Tasks
Working Effectively with Routine TasksIvan Katunou
 
Эффективная работа с рутинными задачами
Эффективная работа с рутинными задачамиЭффективная работа с рутинными задачами
Эффективная работа с рутинными задачамиCOMAQA.BY
 
Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...
Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...
Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...Rainer Stropek
 
Being Smart about C/C++ Development on AIX and Linux
Being Smart about C/C++ Development on AIX and Linux Being Smart about C/C++ Development on AIX and Linux
Being Smart about C/C++ Development on AIX and Linux Strongback Consulting
 
Drupal Camp Victoria
Drupal Camp VictoriaDrupal Camp Victoria
Drupal Camp VictoriaImage X Media
 
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...Noopur Gupta
 
WordPress Theming Best Practices
WordPress Theming Best PracticesWordPress Theming Best Practices
WordPress Theming Best PracticesBrian Krogsgard
 
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!Noopur Gupta
 
PowerShell Plus v4.7 Overview
PowerShell Plus v4.7 OverviewPowerShell Plus v4.7 Overview
PowerShell Plus v4.7 OverviewRichard Giles
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyLeslie Doherty
 
Yapc10 Cdt World Domination
Yapc10   Cdt World DominationYapc10   Cdt World Domination
Yapc10 Cdt World DominationcPanel
 
How to Use Selenium, Successfully
How to Use Selenium, SuccessfullyHow to Use Selenium, Successfully
How to Use Selenium, SuccessfullySauce Labs
 
WordPress
WordPressWordPress
WordPressrisager
 
PHPMaker - The Best PHP Code Generator Ever !
PHPMaker - The Best PHP Code Generator Ever !PHPMaker - The Best PHP Code Generator Ever !
PHPMaker - The Best PHP Code Generator Ever !Masino Sinaga
 
Metadata & Interoperability: Free Tools
Metadata & Interoperability: Free ToolsMetadata & Interoperability: Free Tools
Metadata & Interoperability: Free ToolsMike Jennings
 
Chelberg ptcuser 2010
Chelberg ptcuser 2010Chelberg ptcuser 2010
Chelberg ptcuser 2010Clay Helberg
 
Sublime Text3 for Django Development
Sublime Text3 for Django DevelopmentSublime Text3 for Django Development
Sublime Text3 for Django DevelopmentWilly Liu
 

Semelhante a Getting the Most from Xamarin Studio - Michael Hutchinson (20)

Working Effectively with Routine Tasks
Working Effectively with Routine TasksWorking Effectively with Routine Tasks
Working Effectively with Routine Tasks
 
Эффективная работа с рутинными задачами
Эффективная работа с рутинными задачамиЭффективная работа с рутинными задачами
Эффективная работа с рутинными задачами
 
Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...
Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...
Coding Like the Wind - Tips and Tricks for the Microsoft Visual Studio 2012 C...
 
Being Smart about C/C++ Development on AIX and Linux
Being Smart about C/C++ Development on AIX and Linux Being Smart about C/C++ Development on AIX and Linux
Being Smart about C/C++ Development on AIX and Linux
 
Drupal Camp Victoria
Drupal Camp VictoriaDrupal Camp Victoria
Drupal Camp Victoria
 
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
 
WordPress Theming Best Practices
WordPress Theming Best PracticesWordPress Theming Best Practices
WordPress Theming Best Practices
 
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
 
PowerShell Plus v4.7 Overview
PowerShell Plus v4.7 OverviewPowerShell Plus v4.7 Overview
PowerShell Plus v4.7 Overview
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Duty
 
presentation
presentationpresentation
presentation
 
Yapc10 Cdt World Domination
Yapc10   Cdt World DominationYapc10   Cdt World Domination
Yapc10 Cdt World Domination
 
presentation
presentationpresentation
presentation
 
How to Use Selenium, Successfully
How to Use Selenium, SuccessfullyHow to Use Selenium, Successfully
How to Use Selenium, Successfully
 
WordPress
WordPressWordPress
WordPress
 
PHPMaker - The Best PHP Code Generator Ever !
PHPMaker - The Best PHP Code Generator Ever !PHPMaker - The Best PHP Code Generator Ever !
PHPMaker - The Best PHP Code Generator Ever !
 
Metadata & Interoperability: Free Tools
Metadata & Interoperability: Free ToolsMetadata & Interoperability: Free Tools
Metadata & Interoperability: Free Tools
 
Chelberg ptcuser 2010
Chelberg ptcuser 2010Chelberg ptcuser 2010
Chelberg ptcuser 2010
 
Learning to code
Learning to codeLearning to code
Learning to code
 
Sublime Text3 for Django Development
Sublime Text3 for Django DevelopmentSublime Text3 for Django Development
Sublime Text3 for Django Development
 

Mais de Xamarin

Xamarin University Presents: Building Your First Intelligent App with Xamarin...
Xamarin University Presents: Building Your First Intelligent App with Xamarin...Xamarin University Presents: Building Your First Intelligent App with Xamarin...
Xamarin University Presents: Building Your First Intelligent App with Xamarin...Xamarin
 
Xamarin University Presents: Ship Better Apps with Visual Studio App Center
Xamarin University Presents: Ship Better Apps with Visual Studio App CenterXamarin University Presents: Ship Better Apps with Visual Studio App Center
Xamarin University Presents: Ship Better Apps with Visual Studio App CenterXamarin
 
Get the Most Out of iOS 11 with Visual Studio Tools for Xamarin
Get the Most Out of iOS 11 with Visual Studio Tools for XamarinGet the Most Out of iOS 11 with Visual Studio Tools for Xamarin
Get the Most Out of iOS 11 with Visual Studio Tools for XamarinXamarin
 
Get the Most out of Android 8 Oreo with Visual Studio Tools for Xamarin
Get the Most out of Android 8 Oreo with Visual Studio Tools for XamarinGet the Most out of Android 8 Oreo with Visual Studio Tools for Xamarin
Get the Most out of Android 8 Oreo with Visual Studio Tools for XamarinXamarin
 
Creative Hacking: Delivering React Native App A/B Testing Using CodePush
Creative Hacking: Delivering React Native App A/B Testing Using CodePushCreative Hacking: Delivering React Native App A/B Testing Using CodePush
Creative Hacking: Delivering React Native App A/B Testing Using CodePushXamarin
 
Build Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft AzureBuild Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft AzureXamarin
 
Exploring UrhoSharp 3D with Xamarin Workbooks
Exploring UrhoSharp 3D with Xamarin WorkbooksExploring UrhoSharp 3D with Xamarin Workbooks
Exploring UrhoSharp 3D with Xamarin WorkbooksXamarin
 
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinDesktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinXamarin
 
Developer’s Intro to Azure Machine Learning
Developer’s Intro to Azure Machine LearningDeveloper’s Intro to Azure Machine Learning
Developer’s Intro to Azure Machine LearningXamarin
 
Customizing Xamarin.Forms UI
Customizing Xamarin.Forms UICustomizing Xamarin.Forms UI
Customizing Xamarin.Forms UIXamarin
 
Session 4 - Xamarin Partner Program, Events and Resources
Session 4 - Xamarin Partner Program, Events and ResourcesSession 4 - Xamarin Partner Program, Events and Resources
Session 4 - Xamarin Partner Program, Events and ResourcesXamarin
 
Session 3 - Driving Mobile Growth and Profitability
Session 3 - Driving Mobile Growth and ProfitabilitySession 3 - Driving Mobile Growth and Profitability
Session 3 - Driving Mobile Growth and ProfitabilityXamarin
 
Session 2 - Emerging Technologies in your Mobile Practice
Session 2 - Emerging Technologies in your Mobile PracticeSession 2 - Emerging Technologies in your Mobile Practice
Session 2 - Emerging Technologies in your Mobile PracticeXamarin
 
Session 1 - Transformative Opportunities in Mobile and Cloud
Session 1 - Transformative Opportunities in Mobile and Cloud Session 1 - Transformative Opportunities in Mobile and Cloud
Session 1 - Transformative Opportunities in Mobile and Cloud Xamarin
 
SkiaSharp Graphics for Xamarin.Forms
SkiaSharp Graphics for Xamarin.FormsSkiaSharp Graphics for Xamarin.Forms
SkiaSharp Graphics for Xamarin.FormsXamarin
 
Building Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and AzureBuilding Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and AzureXamarin
 
Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017Xamarin
 
Connected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft AzureConnected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft AzureXamarin
 
Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Xamarin
 
Building Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual StudioBuilding Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual StudioXamarin
 

Mais de Xamarin (20)

Xamarin University Presents: Building Your First Intelligent App with Xamarin...
Xamarin University Presents: Building Your First Intelligent App with Xamarin...Xamarin University Presents: Building Your First Intelligent App with Xamarin...
Xamarin University Presents: Building Your First Intelligent App with Xamarin...
 
Xamarin University Presents: Ship Better Apps with Visual Studio App Center
Xamarin University Presents: Ship Better Apps with Visual Studio App CenterXamarin University Presents: Ship Better Apps with Visual Studio App Center
Xamarin University Presents: Ship Better Apps with Visual Studio App Center
 
Get the Most Out of iOS 11 with Visual Studio Tools for Xamarin
Get the Most Out of iOS 11 with Visual Studio Tools for XamarinGet the Most Out of iOS 11 with Visual Studio Tools for Xamarin
Get the Most Out of iOS 11 with Visual Studio Tools for Xamarin
 
Get the Most out of Android 8 Oreo with Visual Studio Tools for Xamarin
Get the Most out of Android 8 Oreo with Visual Studio Tools for XamarinGet the Most out of Android 8 Oreo with Visual Studio Tools for Xamarin
Get the Most out of Android 8 Oreo with Visual Studio Tools for Xamarin
 
Creative Hacking: Delivering React Native App A/B Testing Using CodePush
Creative Hacking: Delivering React Native App A/B Testing Using CodePushCreative Hacking: Delivering React Native App A/B Testing Using CodePush
Creative Hacking: Delivering React Native App A/B Testing Using CodePush
 
Build Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft AzureBuild Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft Azure
 
Exploring UrhoSharp 3D with Xamarin Workbooks
Exploring UrhoSharp 3D with Xamarin WorkbooksExploring UrhoSharp 3D with Xamarin Workbooks
Exploring UrhoSharp 3D with Xamarin Workbooks
 
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinDesktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
 
Developer’s Intro to Azure Machine Learning
Developer’s Intro to Azure Machine LearningDeveloper’s Intro to Azure Machine Learning
Developer’s Intro to Azure Machine Learning
 
Customizing Xamarin.Forms UI
Customizing Xamarin.Forms UICustomizing Xamarin.Forms UI
Customizing Xamarin.Forms UI
 
Session 4 - Xamarin Partner Program, Events and Resources
Session 4 - Xamarin Partner Program, Events and ResourcesSession 4 - Xamarin Partner Program, Events and Resources
Session 4 - Xamarin Partner Program, Events and Resources
 
Session 3 - Driving Mobile Growth and Profitability
Session 3 - Driving Mobile Growth and ProfitabilitySession 3 - Driving Mobile Growth and Profitability
Session 3 - Driving Mobile Growth and Profitability
 
Session 2 - Emerging Technologies in your Mobile Practice
Session 2 - Emerging Technologies in your Mobile PracticeSession 2 - Emerging Technologies in your Mobile Practice
Session 2 - Emerging Technologies in your Mobile Practice
 
Session 1 - Transformative Opportunities in Mobile and Cloud
Session 1 - Transformative Opportunities in Mobile and Cloud Session 1 - Transformative Opportunities in Mobile and Cloud
Session 1 - Transformative Opportunities in Mobile and Cloud
 
SkiaSharp Graphics for Xamarin.Forms
SkiaSharp Graphics for Xamarin.FormsSkiaSharp Graphics for Xamarin.Forms
SkiaSharp Graphics for Xamarin.Forms
 
Building Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and AzureBuilding Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and Azure
 
Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017
 
Connected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft AzureConnected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft Azure
 
Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017
 
Building Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual StudioBuilding Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual Studio
 

Último

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 

Último (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 

Getting the Most from Xamarin Studio - Michael Hutchinson

  • 1. Getting the Most from Xamarin Studio Michael Hutchinson Software Engineer Xamarin mhutch@xamarin.com
  • 3. Your Workspace DocumentSolution Pad Global Search Configuration/Target Selectors Notification Area Auto-hidden Pads
  • 4. Key Bindings •  Do common things more quickly •  See them in menus and global search •  Find them and rebind them in Preferences •  Preferencesè Generalè Key Bindings •  Access many hidden commands!
  • 5. Editor Behavior •  Preferencesè Text Editor •  Enable code folding, auto-formatter •  Enable markers and visual guides •  Change word breaking mode •  Even vi emulation!
  • 6. Build Behavior •  Preferences è Projects è Build •  Jump to errors, warnings, or neither •  Message bubbles or error pad •  Save files before build, ask or ignore •  Whether to build before running
  • 7. Policies •  Solution-specific style settings: formatting, naming conventions, file header, etc. •  Edit in Solution Options •  User Preferences only apply to new solutions •  Manage policies in Custom Policies dialog
  • 9.
  • 11. Global Search •  Activate with ⌘. on Mac, Ctrl-, on Windows •  Navigate to files, types, members, commands •  Smart camelCase search •  Type filter prefixes – file:, class:, command: •  Location suffix – :line,column
  • 12. Find and Replace •  Inline search– click magnifying glass for options •  Find in Files – search/replace in project/solution Cmd-Shift-F (Mac), Ctrl-Shift-F (Windows) •  Pin search output pads to keep results – next search will use new pad
  • 13. Navigation •  Go To Declaration – go directly to type, local, member Cmd-D (Mac), F12 (Windows) •  Find References – find all places anything is used Cmd-Shift-R (Mac), Shift-F12 (Windows) •  Navigate back to where you were Ctrl-Cmd-Left (Mac), Ctrl-Alt-Left (Windows)
  • 14. DEMO
  • 15.
  • 17. Code Completion •  Use camelCase to search •  Import type, add the using automatically: Ctrl-Alt-Space •  Toggle suggestion mode, explicit commit: Ctrl-Shift-Space
  • 18. Hidden Editor Commands •  Expand selection: Alt-Shift-Up •  Move line up/down: Alt-Up/Down •  Block selection – edit many columns at once Alt (Mac), Ctrl (Windows) and mouse drag
  • 19. Context Actions •  Contextual code transformations •  Over 70 available, see Preferences è Source Code è C# è Context Actions •  Access via context menu è Refactor •  From keyboard, Alt-Enter
  • 20. Source Analysis •  Analyses source code on the fly •  Warns of potential errors and style violations •  Offers automatic fixes as context actions •  Hints when context actions available •  Customizable severity of rules •  Preferences è Text Editor è Source Analysis Experimental
  • 21. DEMO
  • 22.
  • 24. Debugger Options •  Preferences è Projects è Debugger •  Enable stepping into framework code •  Speed up debugging by disabling automatic ToString() and property evaluation
  • 25. Advanced Breakpoints •  Tracepoints – print expression and resume •  Conditional breakpoints – automatically resume unless expression evaluates to true •  Run è New [Function] Breakpoint… •  Context menu è Breakpoint Properties
  • 26. Watches •  Watch any expression, not just variables •  Turn hover inspection into pinned watch on editor surface by clicking pin icon •  Watches/locals turn blue when value changes
  • 27. DEMO
  • 28.
  • 30. Creating Add-ins •  Whole IDE built on add-in model, extremely extensible •  Commands, templates, build, syntax schemes, context actions, pads, editors, analysis rules, project types… •  Most of the IDE is open-source (MonoDevelop) •  Publish at http://addins.monodevelop.com, install from Add-in Manager
  • 31. DEMO
  • 32.
  • 33. Resources •  My blog http://mhut.ch •  Xamarin Studio Forums http://forums.xamarin.com/categories/xamarin-studio •  Stack Overflow http://stackoverflow.com/questions/tagged/xamarin-studio •  MonoDevelop Developer Resources http://monodevelop.com/Developers
  • 34. Q&A
  • 36. Navigation Commands Command Mac Windows Go to Definition Cmd-D F12 Find References Cmd-Shift-R Shift-F12 Navigate Forward/Back Ctrl-Cmd-Left/Right Ctrl-Alt-Left/Right Next/Previous Result Cmd-Opt-Up/Down F4 / Shift-F4 Find in Files Cmd-Shift-F Ctrl-Shift-F Find Cmd-F Ctrl-F Next/Previous Usage Cmd-Shift-Up/Down Ctrl-Shift-Up/Down
  • 37. Hidden Editor Commands Command Mac Windows Expand selection Alt-Shift-Up Insert line below Shift-Enter Dynamic abbrev Ctrl-/ Alt-/ Delete to end of line Ctrl-K Move line up/down Alt-Up/Down Subword motion Ctrl-Left/Right Alt-Left/Right Block selection Alt-Mouse-Drag Ctrl-Mouse-Drag
  • 38. Debugger Commands Command Mac Windows Start/Resume Cmd-Enter F5 Pause Cmd-Opt-P Ctrl-Break Toggle Breakpoint Cmd- F9 Step Over Cmd-Shift-O F10 Step Into Cmd-Shift-I F11 Step Out Cmd-Shift-U Shift-F11
  • 40. Code Generation Window •  Contextual generation of members/statements •  Depends on context •  Edit è Show Code Generation Window •  Alt-Insert on Windows
  • 41. Catchpoints •  Pause at the point an exception is thrown, even if it’s handled •  Run è Exceptions, add exception types to the list •  Breaks on all subtypes
  • 42. Code Templates •  Code snippets with smart linked regions •  Edit è Insert Template/Surround With... •  Or type short name, Tab twice •  Create and edit in Preferences è Text Editor è Code Templates
  • 43. Inspect Threads and Stack Frames •  Double-click thread in threads pad to show stack •  Double-click stack frame to show location •  External code frames show in italic •  Editor highlights current stack frame in yellow and other frames in green