在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); } }
其他也很类似,各位根据自己项目撸,作者就不在此装逼