为了偷懒,便开始懂得使用代码段管理。- -。
Snippet文件剖析
snippet 是xml文件。 但以.snippet后缀名。基本结构
<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>DependencyProperty - EventHandler</Title> <Author>Microsoft Corporation</Author> <Shortcut>wde</Shortcut> <Description _locID="csEventDesc1">用于在 Windows 工作流程活动中创建依赖项属性(EventHandler)的代码段</Description> <SnippetTypes> <SnippetType>Expansion</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations> <Literal> <ID>type</ID> <ToolTip _locID="csEventTip1">属性类型</ToolTip> <Default>string</Default> </Literal> </Declarations> <Code Language="csharp"> <!--[CDATA[ ]]--> </Code> </Snippet> </CodeSnippet> </CodeSnippets>
根节点是CodeSnippets, 其节点下可以有多个CodeSnippet节点,必须包含Format属性(用于表示snippet版本)
CodeSnipeet节点下必须有<Header>和<Snippet>节点
对于<Header>节点下
<Title>表示此代码段标题。<Shortcut>设置快捷键<Description>对代码段的描述<SnippetTypes>可以包含多个<SnippetType>其取值有三种Expansion、SurroundsWith、Refactoring 。Expansion允许代码插入在光标处;SurroundsWith允许代码围绕在选中代码两边;Refactoring指定了C#重构过程中所使用的Snippet,在自定义Snippet中不能使用。如果该值不做设置,则Snippet可以放在任何地方。
<Snippet>节点是实现代码管理的地方,其包含四个子节点<Code><Declarations><Imports><References>
1.<Code>
包含<![CDATA[]]>中,放置模版代码,此节点设置Language(C# VB XML),Kind(类型:如方法体,方法声明),Delimiter(分隔符,默认值是$)2.<Declarations>
包含多个<Literal>和<Object>节点,<Literal>用于指定文本值<Object>用于声明模版对象。笔者自理解为一个函数。以便code调用.
3.<Imports>
引入命名空间,只支持vb . - -#.
4.<References>
添加程序集引用,只支持vb . - -#.
Code Snippet 函数
函数只适合于C# 总共3个函数
1.GenerateSwitchCases(EnumerationLiteral),根据枚举生成switch代码.
2.ClassName() 返回类名
<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> </Header> <Snippet> <Declarations> <Literal Editable="false"> <ID>classname</ID> <Function>ClassName()</Function> <Default>ClassNamePlaceholder</Default> </Literal> </Declarations> <Code Language="csharp"> <!--[CDATA[ public class $EventHandlerType$ { //to do .... }]]--> </Code> </Snippet> </CodeSnippet> </CodeSnippets>
3.SimpleTypeName(TypeName),在Snippet所在的上下文中推断出TypeName参数的最简单形式。
<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> </Header> <Snippet> <Declarations> <Literal Editable="false"> <ID>EventHandlerType</ID> <Function>SimpleTypeName(global::System.EventHandler)</Function> </Literal> </Declarations> <Code Language="csharp"> <!--[CDATA[ public class $EventHandlerType$ { // to do ... } }]]--> </Code> </Snippet> </CodeSnippet> </CodeSnippets>
最后一步。就是把文件添加到vs代码管理器里就可以啦
工具->代码管理器->导入选择您的snippet文件完成就ok啦。
在代码里输入您设置的快捷键按tab两次就出来啦。O(∩_∩)O
本文详细介绍了如何使用代码段管理技术,并以.xml文件为例,解析了代码段的基本结构和实现方式,包括Header和Snippet节点的内容,以及CodeSnippet函数的应用。
1006

被折叠的 条评论
为什么被折叠?



