Use xamcomm tab tab to generate commands in ViewModels with this snippet
Save the snippet file as {name}.snippet in Visual Studio’s folder: C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC#\Snippets\1033\Visual C#
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Xamarin Lazy Command</Title>
<Shortcut>xamcomm</Shortcut>
<Description>Xamarin Command declaration code snippet for MVVM design pattern</Description>
<Author>banditoth.hu</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>BackFieldName</ID>
<ToolTip>Backfield Name</ToolTip>
<Default>_backfieldname</Default>
</Literal>
<Literal>
<ID>CommandName</ID>
<ToolTip>Command name</ToolTip>
<Default>CommandName</Default>
</Literal>
<Literal>
<ID>ActionToExecute</ID>
<ToolTip>Action to execute</ToolTip>
<Default>() => { return; /*TODO: Implement logic for this Command*/ }</Default>
</Literal>
<Literal>
<ID>ActionCanExecute</ID>
<ToolTip>Action to determine can execute</ToolTip>
<Default>() => true</Default>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[
private Command $BackFieldName$Command;
public Command $CommandName$Command
{
get { return $BackFieldName$Command ?? ($BackFieldName$Command = new Command($ActionToExecute$,$ActionCanExecute$)); }
}
$end$]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>