在c#里面我们经常用到

1、if 然后按2下Tab,出来下面一段代码

if (true)
{ }

2、propfull

private int myVar;

public int MyProperty
{
get { return myVar; }
set { myVar = value; }
}

……

然后这些在多次项目使用中,总有写不方便,比如mvvm开发winrt应用 有这样子属性写法

private string _gameId;
[JsonProperty("GAME_ID")]
public string GameId
{
get { return _gameId; }
set { this.Set(ref _gameId, value); }
}

  

每次都这么写这样代码,感觉是不是很卵疼?当然你可以自己写一个代码生成器去生成这些属性,这篇文章重点不是讲这个,忽略过。。

于是乎作者去百度搜索 if propfull存储位置在C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC#\Snippets\2052\Visual C#(win8.1 64位系统)

随便找一个文件来打开,本人以profull文件为例子

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>propfull</Title>
<Shortcut>propfull</Shortcut>
<Description>属性和支持字段的代码片段</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>type</ID>
<ToolTip>属性类型</ToolTip>
<Default>int</Default>
</Literal>
<Literal>
<ID>property</ID>
<ToolTip>属性名</ToolTip>
<Default>MyProperty</Default>
</Literal>
<Literal>
<ID>field</ID>
<ToolTip>支持此属性的变量</ToolTip>
<Default>myVar</Default>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[private $type$ $field$; public $type$ $property$
{
get { return $field$;}
set { $field$ = value;}
}
$end$]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>

应该有一个 Snippet Editor 编辑器,这个貌似是vb版本,

各位自行去百度c#版本

http://snippy.codeplex.com/releases/view/9316

https://github.com/mmanela/SnippetDesigner

各个节点介绍:http://www.cnblogs.com/anderslly/archive/2009/02/16/vs2008-code-snippets.html

然后我自己修改代码如下:

文件名:propvm.snippet

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>propvm</Title>
<Shortcut>propvm</Shortcut>
<Description>属性和支持字段的代码片段</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>type</ID>
<ToolTip>属性类型</ToolTip>
<Default>int</Default>
</Literal>
<Literal>
<ID>property</ID>
<ToolTip>属性名</ToolTip>
<Default>MyProperty</Default>
</Literal>
<Literal>
<ID>field</ID>
<ToolTip>支持此属性的变量</ToolTip>
<Default>myVar</Default>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[private $type$ $field$; public $type$ $property$
{
get { return $field$;}
set {this.Set(ref $field$, value);}
}
$end$]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>

保存到目录:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC#\Snippets\2052\Visual C#(win8.1 64位系统) 开头我给出目录

(注意要重启vs,都不会生效。。重启电脑这个作者没试过)

本人是在Tools->code sinppets manager add 上面目录(C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC#\Snippets\2052\Visual C#)进去,然后remove原来visual c#目录

上面修改地方:

1、set {this.Set(ref $field$, value);}
2、还有快捷键
<Title>propvm</Title>
<Shortcut>propvm</Shortcut> 测试效果:
 private int myVar;

 public int MyProperty
{
get { return myVar; }
set { this.Set(ref myVar, value); }
}

其他也很类似,各位根据自己项目撸,作者就不在此装逼

  

  

  

05-28 16:20