zoukankan      html  css  js  c++  java
  • 创建自己的代码片段(CodeSnippet)

    前言

    工作中经常会写一些重复的代码片段,如自动属性、for循环、Action等等,针对这种情况,VisualStudio已经给我们提供了一个非常方便的功能——代码片段,是我们可以简单的输入几个字母就能生成大段代码。

    但是,工作中总会遇到一些重复代码是VisualStudio没有提供的,这时就需要我们自己去编写片段模板了,本文我将简单讲一下如何创建并使用自己的代码片段。

    一、模板文件在哪

     在工具-代码片段管理器(快捷键Ctrl+K,B)可以打开代码片段管理器,如下图:

    选择模板所属语言,之后就可以看到该语言所拥有的分组,点开分组就可以看到组内的片段模板了,如下图:

    在这里就可以看到模板所在的路径了

    从资源管理器进入该路径就可以看到后缀名为Snippet的模板文件了,该文件本质为XML文件,可以直接用VS或记事本打开编辑。

    二、模板文件格式

     打开后的模板文件是这样的(这里以for为例),各个节点对应的含义我做出了备注

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
     3     <CodeSnippet Format="1.0.0">
     4         <Header>
     5             <Title>for</Title>                              <!--显示在提示界面及管理器中的标题-->
     6             <Shortcut>for</Shortcut>                        <!--调用时的快捷代码及管理器中的快捷方式-->
     7             <Description>for 循环的代码片段</Description>   <!--显示在提示界面及管理器中的描述-->
     8             <Author>Microsoft Corporation</Author>          <!--显示管理器中的作者信息-->
     9             <SnippetTypes>                                  <!--显示管理器中的片段类型,这段一般只保留Expansion即可-->
    10                 <SnippetType>Expansion</SnippetType>          <!--扩展类型,基本所有片段模板均包含此类型-->
    11                 <SnippetType>SurroundsWith</SnippetType>      <!--外侧代码,可在光标所在代码外围插入该代码块,快捷键Ctrl+K,S-->
    12         <!--有的模板还是Refactoring类型,该类型没有快捷键,也不包含Expansion类型,我们这里不多说明了-->
    13             </SnippetTypes>
    14         </Header>
    15         <Snippet>
    16             <Declarations>                                  <!--模板变量-->
    17                 <Literal>
    18                     <ID>index</ID>                              <!--变量ID,在模板中通过$ID$的方式调用-->
    19                     <Default>i</Default>                        <!--变量默认值-->
    20                     <ToolTip>索引</ToolTip>                     <!--焦点在变量上时变量的注释-->
    21                 </Literal>
    22                 <Literal>
    23                     <ID>max</ID>
    24                     <Default>length</Default>
    25                     <ToolTip>最大长度</ToolTip>
    26                 </Literal>
    27             </Declarations>
    28       <!--下面是模板内容-->
    29             <Code Language="csharp"><![CDATA[for (int $index$ = 0; $index$ < $max$; $index$++)
    30             {
    31             $selected$ $end$
    32             }]]>
    33             </Code>
    34         </Snippet>
    35     </CodeSnippet>
    36 </CodeSnippets>

     我们创建模板时可以直接导出一份VS自带的模板进行更改,代码主体写在Code标记处,用<![CDATA[和]]>括起来

     我们可以看到,上面的模板中还有两个标识并没有在Declarations中声明,分别如下

    $selecteds$ 因为该代码片段是扩展类型,编码时可在当前选定代码外围添加(Ctrl+K,S),故此标识代表当前所选代码

    $end$  此标识表示结束时(变量调整好后按Enter或者没变量片段的初始)光标所处位置

    三、模板文件导入

     这个就简单了,将编辑好的模板直接拷贝到系统模板所在的路径下就可以了。

    作者:Vulper

    欢迎转载,转载请注明出处!

  • 相关阅读:
    CentOS linux系统搭建LAMP环境
    网站跳出率高的优化方案
    IT痴汉的工作现状24-Just for fun
    windows下远程连接ubantu
    Hibernate基础映射
    我院同学在2013年第四届“蓝桥杯”全国软件专业人才设计与创业大赛全国总决赛中获得佳绩
    Linux下打开串口设置
    zoj 3261 Connections in Galaxy War
    Android之startActivityForResult的使用
    当心Azure跨区域数据传输产生额外费用
  • 原文地址:https://www.cnblogs.com/Vulpers/p/7190695.html
Copyright © 2011-2022 走看看