1.在任意位置创建文件夹(最好在跟项目相关的位置),文件夹名自定义,中英文都可以
2.在文件夹内部创建后缀名为 .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>快捷输入</Shortcut>
<Description>描述</Description>
<Author>作者</Author>
</Header>
<Snippet>
<Code Language="CPP">
<![CDATA[自定义的代码片段
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
其中标题、描述、作者都可以自定义,自己能看懂就行
最重要的是:快捷输入是在VS里输入的代码,CDATA[]里是代码片段,如果将快捷输入设为AAA,代码片段设为BBB,那么在VS里输入AAA,再按tab就会自动生成BBB
3.在VS的工具->代码片段管理器->选择语言->添加
然后找到刚才创建的文件夹,确定即可,在VS里可以测试效果
4.如果想自定义多个代码片段,则只需要将以下代码复制一份,也是放在<CodeSnippets>,修改标题片段,与刚才并列就行,如下片段一和片段二所示
<CodeSnippet Format="1.0.0">
<Header>
<Title>片段1</Title>
<Shortcut></Shortcut>
<Description></Description>
<Author></Author>
</Header>
<Snippet>
<Code Language="CPP">
<![CDATA[
]]>
</Code>
</Snippet>
</CodeSnippet>
//第二个模板
<CodeSnippet Format="1.0.0">
<Header>
<Title>片段2</Title>
<Shortcut>to/Shortcut>
<Description></Description>
<Author></Author>
</Header>
<Snippet>
<Code Language="CPP">
<![CDATA[
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
5.另外,VS还提供了两个保留字:$end$、$selected$。$end$是来给光标定位的,$selected$是用来自动默认赋值的。
$end$放哪里,光标就会出现在哪里。
$selected$不能单独使用,需要在code标签下面另加一个标签,其中$...$中间的内容可以自定义,但必须和ID标签内容一致,default标签里的值则是默认值
<Code Language="CPP">
<![CDATA[double root = Math.Sqrt($Number$);]]>
<![CDATA[$名字$ is a great color.]]>
</Code>
<Declarations>
<Literal>
<ID>名字</ID>
<ToolTip>默认值</ToolTip>
<Default>red</Default>
</Literal>
</Declarations>
下面提供一个我自己的完整模板作参考
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>template</Title>
<Shortcut>#c</Shortcut>
<Description>C语言的部分结构</Description>
<Author>Veggie</Author>
</Header>
<Snippet>
<Code Language="CPP">
<![CDATA[#include <iostream>
using namespace std;
int main()
{
$end$
printf("\n");
system("pause");
return 0;
}]]>
</Code>
</Snippet>
</CodeSnippet>
<CodeSnippet Format="1.0.0">
<Header>
<Title>cout</Title>
<Shortcut>cou</Shortcut>
<Description>输出</Description>
<Author>AAA</Author>
</Header>
<Snippet>
<Code Language="CPP">
<![CDATA[cout << "$end$" << endl;
]]>
</Code>
</Snippet>
</CodeSnippet>
<CodeSnippet Format="1.0.0">
<Header>
<Title>test</Title>
<Shortcut>go</Shortcut>
<Description></Description>
<Author></Author>
</Header>
<Snippet>
<Code Language="CPP">
<![CDATA[$selected$ is a great color.]]>
</Code>
<Declarations>
<Literal>
<ID>selected</ID>
<ToolTip>默认值</ToolTip>
<Default>red</Default>
</Literal>
</Declarations>
</Snippet>
</CodeSnippet>
</CodeSnippets>