vs中的强大的代码段管理
vs中的代码段管理可以实现大段固定文本的快捷输入,方法:
首先编写.snippet文件如:
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>类成员变量</Title>
<Shortcut>cybl</Shortcut>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>proname</ID>
<Default>xxyy</Default>
</Literal>
<Literal>
<ID>type</ID>
<Default>string</Default>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[/// <summary>
/// $end$
/// </summary>
public $type$ $proname$ {set;get;}]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
每个.snippet文件包括一个<CodeSnippets>结构,其中可以包括多个单独的<CodeSnippet>
重要关键字:
<header> 代码段声明区
<Title> 代码段的外部显示名称
<Shortcut>快捷键,输入快捷键后,屏幕上将出现提示,连按两下tab键可输入此代码段。
<Snippet>代码段主体部分,包括<Declarations>和<Code>两部分。
如果仅需快捷插入固定静态文本,只用<Code>部分即可。但如果想在插入代码段后能快捷替换其中某些关键字,就必须在<Declarations>设置关键字。例如for循环结构插入后,可一键改写所有循环变量i。
<Declarations>主要作用是定义替换文本的别名<ID>和默认值<Default>,别名就是和<Code>部分中的$name$对应的name,它可以被快速替换。例如for循环中的变量i在<Declarations>设置为:
<ID>index</ID>
<Default>i</Default>
在<Code>中,表示为for (int $index$ = 0; $index$ < $max$; $index$++)
这样,插入后的代码段中,$index$将被替换为默认值i,同时可用tab键定位到第一个i后高亮显示,并可将i改为t后,全部替换所有$index$出现位置的i为t。
一个代码段中可以设置多个这样的类似$xx$结构,方法是在<Declarations>中连续书写多个<Literal>结构。这样按tab键时将在各个$ss$x结构中顺序获得焦点,改动其默认值。
<![CDATA[.......]]中,就是填写代码段的位置。
其中
$$两个$代表转义一个$
$end$ 固定代表回车后光标停留在代码段的位置,可以设置在任意地方
$selected$ 固定代表输入代码段前选择的文本,实现外侧代码功能。用CTR+K+S添加外侧代码段时有用。
然后,装载snippet文件
snippet文件编写好后,工具—代码段管理器—导入—该文件;
随后在界面中选择存放此代码段的位置,一般放在自己定义的文件夹中。自定义文件夹通过上一步的添加按钮选择。点击完成。
此后,在编辑区输入设置的快捷键<Shortcut>cybl</Shortcut>,按两下tab就可插入预先设定的固定代码段。
要编辑系统自带的snippet代码段可在上一步界面中,语言下拉框选择CSharp,观察系统文件路径,如C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC#\Snippets\2052\Visual C#,打开该文件夹,编辑需要的文件如,for.snippet,完成后按上步重新加载,就可改动系统自动代码段。