一  、简述

  我们在开发当中,避免不了一些重复的开发工作,在你漫长的开发以及学习当中,你会发现有这么一部分代码是你时常会使用到的。我想这个工具也是针对这个原因出来的吧,它就是预先把你需要的这部分代码的主干部分给它提练出来,然后你只要修改局部的某些部分内容,从而完成你代码的编辑工作。这样的好处,就是当你使用一个快捷键的方式,就可以把你这部分常用的代码直接插入到你需要的代码文件当中。而不需要你由头到尾地重复一些额外的工作,缩短你的开发时间,提高你的工作效率。这就是今天要说到的Code Snippet

二 、Code Snippet介绍

  一个 CodeSnippet 则主要包含 <Header> 和 <Snippet> 两部分。一个 <CodeSnippets> 元素可以包含多个不同的 <CodeSnippet> 。其中 <Header> 部分主要是对这个 Snippet 的一个声明,包括 Snippet 的名称、描述、作者及 Snippet 的类型。

1.Header

  <Title>表示此代码段标题

  <Shortcut>设置快捷键

  <Description>对代码段的描述

  <SnippetTypes>可以包含多个<SnippetType>其取值有三种Expansion、SurroundsWith、Refactoring 。Expansion允许代码插入在光标处;SurroundsWith允许代码围绕在选中代码两边;Refactoring指定了C#重构过程中所使用的Snippet,在自定义Snippet中不能使用。如果该值不做设置,则Snippet可以放在任何地方。

<Snippet>节点是实现代码管理的地方,其包含四个子节点<Code><Declarations><Imports><References>

2.Snippet

<Code>

包含<![CDATA[]]>中,放置模版代码,此节点设置Language(C# VB XML),Kind(类型:如方法体,方法声明),Delimiter(分隔符,默认值是$)

private $type$ $field$;

public $type$ $property$
{
get { return $field$;}
set { $field$ = value;}
}

为定义的模板代码,type,field,property为定义的变量,变量在Declarations的Literal中声明。

$end$为当按enter键后光标的默认位置

<Declarations>

包含多个<Literal>和<Object>节点,<Literal>用于设定变量值<Object>用于声明模版对象。

这里只说明Literal

ID 默认属性名称

ToolTip 属性说明

Default 默认类型

<Imports>

引入命名空间,只支持vb .  - -#.

<References>

添加程序集引用,只支持vb .  - -#.

三 、Code Snippet简单使用

  首先可以在      工具  >>  代码片段管理器    中找到系统定义的snippet代码片段。如for,if等,可以看到对应语言和存储位置。

下面以propfull自动属性为例讲解:

创建文件propfull.snippet,实质为xml文件

<?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>

定义好放在C#对于路径下,然后就可以在VS中敲入propfull,就会实现以下输出

        private int myVar;

        public int MyProperty
{
get { return myVar; }
set { myVar = value; }
}

VS自定义代码块Code Snippet的更多相关文章

  1. Xcode10 代码块(Code Snippet)添加和删除

    https://blog.csdn.net/lg767201403/article/details/82761448 Code Snippets 使用 https://blog.csdn.net/lv ...

  2. vs 自定义代码块

    代码自动生成,让代码飞~ 我目前用的是vs2013,c,c++用的多,vs自带了一套代码块规则,下面我们就以for举例子. 1 原生代码块怎么使用 输入for后按Tab键: 这时候可以修改 size_ ...

  3. Xcode自定义代码块

    到现在才发现原来Xcode有自定义代码块这么神奇的功能,能简化很多无聊的敲重复代码的工作,真是感叹我怎么才知道!!! 具体的设置流程见:http://nshipster.cn/xcode-snippe ...

  4. Visual Studio 如何使用代码片段Code Snippet提高编程速度!!!

      使用Code Snippet简化Coding 在开发的项目的时候,你是否经常遇到需要重复编写一些类似的代码,比如是否经常会使用 for.foreach ? 在编写这两个循环语句的时候,你是一个字符 ...

  5. HBuilder js 自定义代码块

    =begin 本文档是HBuilder预置的js代码块的文件.注意不要把其他语言的设置放到js里来. 如果用户修改此文档,HBuilder升级后会覆盖用户的修改,建议进入菜单 工具→扩展代码块 扩展相 ...

  6. webstrom自定义代码块的设置方法

    webstrom里面的自定义代码块叫做活动模版 在文件 -> 设置 -> 编辑器 -> 活动模版可以打开 里面的$var$ 代表一个变量  两个相同的$var$在不全后可以同时修改, ...

  7. IDE MAC下的快捷键,自定义代码块。

    快捷键 参考博客:http://blog.csdn.net/iguiyi/article/details/51853728 alt+f7查找在哪里使用 相当于eclipse的ctrl+shift+G ...

  8. vscode自定义代码块

    vscode中设置自定义代码块打开首选项,选择用户代码片段,打开后选择编程语言选中后打开文件,按照格式编辑内容 "Print to console log": { "pr ...

  9. vs2015常用代码块与自定义代码块

    常用代码块 代码段名 描    述 #if 该代码段用#if和#endif命令围绕代码 #region 该代码段用#region和#endregion命令围绕代码 ~ 该代码段插入一个析构函数 att ...

随机推荐

  1. tensorflow几个常见错误

    错误一:二分类,标签y ValueError: Cannot feed value of shape (128,1) for Tensor u'input_y_2:0', which has shap ...

  2. java之jvm

    1.JVM内存模型 线程独占:栈,本地方法栈,程序计数器线程共享:堆,方法区 回答以上问题是需回答两个要点:1. 各部分功能2. 是否是线程共享 2.JMM与内存可见性JMM是定义程序中变量的访问规则 ...

  3. 如何用pycharm 控制远程服务器来跑代码!!!!!!!!!!!!非常牛逼

    2019-09-04,10点58 想弄一个pycharm的插件,就是用deployment同步代码的时候,在pycharm里面运行代码,的时候本机不动,而是远程服务器运行,然后把结果返回!!!!!!挺 ...

  4. airflow--Error: Already running on PID 22603 (or pid file '/home/rdev/airflow/airflow-webserver.pid' is stale)

    kill这个残留进程然后直接重新启动airflow webserver就OK (wqbin) rdev@testhk1:~/etl/py_etl/warehouse$ cat /home/rdev/a ...

  5. C# 动态加载程序集

    定义动态程序集 namespace DynamicAssembly { public class CodeDriver : MarshalByRefObject { private string pr ...

  6. [Google Guava] 3-缓存

    原文地址  译文地址    译者:许巧辉  校对:沈义扬 范例 01 LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder() ...

  7. SIGAI深度学习第七集 卷积神经网络1

    讲授卷积神经网络核心思想.卷积层.池化层.全连接层.网络的训练.反向传播算法.随机梯度下降法.AdaGrad算法.RMSProp算法.AdaDelta算法.Adam算法.迁移学习和fine tune等 ...

  8. Linux之基础命令

    常用命令 查看ip地址的两种方式 ifconfig ip addr show Linux的两种ip地址: 127.0.0.1 本机回环地址 0.0.0.0 全网地址/绑定所有网卡/所有地址 Linux ...

  9. ZOJ 2592 Think Positive ——(xjbg)

    做法是,先求出前缀和pre.然后枚举端点i,[i+1,n]中pre最小的找出来,减去pre[i-1]大于0,这是第一个条件:第二个条件是,从i开始的后缀和和i之前的最小的一个pre相加大于0.只要满足 ...

  10. vs.net2017在编辑的wpf的xaml文件引用本程序集下的类提示“找不到”

    local对应就是当前exe程序下的类,会提示“...命令空间...找不到...” 因为我调整过生成的,于是尝试调回来anyCPU 问题解决. 看了一下vs.net2017的所在目录"C:\ ...