原文:http://blog.csdn.net/oyi319/article/details/5605502

从Visual Studio 2005开始,IDE支持代码片段。代码片段以代码缩写和TAB自动切换输入点的方式,提高书写代码的开发效率,比较常用的代码,如下面演示中的:class、ctor、for、cw...

其实这些代码片段,分别对应一个扩展名为“.snippet”的XML格式文件,我们可以到类似“C:/Program Files/Microsoft Visual Studio 9.0/VC#/Snippets/2052/Visual C#”目录,找到C#的常用代码片段。

同样,我们可以依照范例格式创作自己的snippet。

创作方法,观看:.NET 快速开发系列--代码段(Code Snippet)

 

Snippet Editor是一个编辑VS代码片段的工具,同类工具中,它是免费实用的。

官方页面:http://snippeteditor.codeplex.com/

图示中,是通过Snippet Editor查看C#的代码片段for的编辑器代码:

  1. for (int $index$ = 0; $index$ < $max$; $index$++)
  2. {
  3. $selected$ $end$
  4. }

解释一下:

用$符号包围起来并带有颜色的是需要由用户修改的位置($index$、$max$),用TAB键顺序在不同的$标记间切换。

$selected$ 表示在以“外侧代码”使用Snippet时,被选中内容的放置位置。(你可以试着在VS代码编辑器中选中一小段编码,右键->“外侧代码”)

$end$ 表示,完成Snippet录入后(按Enter键),光标所停留的位置。

下面是制作一个自己的代码片段例子:

《懒人对话框:DialogForm》中,是一个WinForm的快速制作对话框风格的方法。

  1. using System;
  2. using System.Text;
  3. using System.Windows.Forms;
  4. namespace DialogFormDemo
  5. {
  6. public class DialogForm : Form
  7. {
  8. public DialogForm()
  9. : base()
  10. {
  11. ApplyDialogStyle(this);
  12. }
  13. /// <summary>
  14. /// 使普通Form应用具有对话框窗口的样式
  15. /// </summary>
  16. /// <param name="form"></param>
  17. /// <returns></returns>
  18. static public Form ApplyDialogStyle(Form form)
  19. {
  20. form.FormBorderStyle = FormBorderStyle.FixedDialog;
  21. form.MaximizeBox = false;
  22. form.MinimizeBox = false;
  23. form.ShowIcon = false;
  24. form.ShowInTaskbar = false;
  25. form.StartPosition = FormStartPosition.CenterParent;
  26. return form;
  27. }
  28. }
  29. }

现在,为了使用方便,我们为其创建Snippet。

首先,我在D盘创建了Develop/MySnippets文件夹,我想要把自己的代码片段存储在这里。

然后打开Snippet Editor工具,选择Visual C#分类,右键->Add Path,选择MySnippets文件夹。

展开它,右键->Add New Snippet,创建一个新的代码片段,起名为“DialogForm”

双击刚刚创建的DialogForm,编辑它。输入一些信息,注意在Shortcut里输入“df”,作为快速插入代码片段的输入字符。

在Code里输入下面代码:

  1. Form df = DialogForm.ApplyDialogStyle(new Form()) as Form;
  2. DialogResult dr = df.ShowDialog();
  3. df.Dispose();
  4. if (DialogResult.Cancel == dr) return; //return
  5. $selected$ $end$

然后选中代码里的第一个“Form”,点击代码编辑框下面的Add New按钮(“+”图标),那么所有Form单词都会被$符号括上并彩色显示。

用同样的方法,添加df、parameters、dr,注意顺序,其中$parameters$是加入在new $Form$()的构造参数中,默认值(Defaults to)设定为空的。

  1. $Form$ $df$ = DialogForm.ApplyDialogStyle(new $Form$($parameters$)) as $Form$;
  2. DialogResult $dr$= $df$.ShowDialog();
  3. $df$.Dispose();
  4. if (DialogResult.Cancel == $dr$) return; //return
  5. $selected$ $end$

最后的效果如上图所示,然后点击窗口上方的保存(Save)按钮。

重新启动VS,在代码编辑器中输入df,然后键入两下TAB,就会出现刚刚创作的代码片段。

另外,这个代码片段创作需要是免费的,最新版本已经支持VS2010。

VS代码片段(snippet)创作工具——Snippet Editor(转)的更多相关文章

  1. VS Code 折腾记 - (6) 基本配置/快捷键定义/代码片段的录入(snippet)

    前言 本来分成三篇来写的,但是想了想没必要,大家都是聪明人...简单的东西点一下就晓得了. 基本配置 快捷键自定义(Ctrl+K Ctrl + S) 那个when支持条件表达式返回一个布尔值 支持的快 ...

  2. vscode 用户代码片段 vue初始化模板 Snippet #新加入开头注释 自动生成文件名 开发日期时间等内容

    vue文件模板 模板变量 https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variables vue.json { // ...

  3. [代码片段-C#]工具代码片段 及 版本信息等

    标题: [SD.TEAM]XXXX 公司: 宝宝巴士(福建)网络科技有限公司 商标: 宝宝巴士 版权: © Babybus SD.Team 版权+作者(简): © Babybus SD.Team - ...

  4. elasticsearch代码片段,及工具类SearchEsUtil.java

    ElasticSearchClient.java package com.zbiti.framework.elasticsearch.utils; import java.util.Arrays; i ...

  5. sublime text 2代码片段(Snippet)功能的使用

    “snippet”在英语里面是“片段”的意思.当我们编码时候,通常想要打几个简略的字符串,就出来一些固定的模板. 例如:使用snippet在新建文件时快速生成HTML头部信息等. 定义很简单,菜单:t ...

  6. sublime text 2自定义代码片段

    本文引用   http://www.blogjava.net/Hafeyang/archive/2012/08/17/how_to_create_code_snippet_in_subline_tex ...

  7. subllime text 创建可复用的代码片段

    对于前端工程师来讲,写一个html页面的基本结构是体力活,每次去拷贝一个也麻烦,sublime text 2 提供了一个很好的复用代码片段.下面介绍一下创建一个html5的代码片段的过程. 在菜单上点 ...

  8. Sublime Text 2创建可复用的代码片段

    对于前端工程师来讲,写一个html页面的基本结构是体力活,每次去拷贝一个也麻烦,sublime text 2 提供了一个很好的复用代码片段.下面介绍一下创建一个html5的代码片段的过程.在菜单上点击 ...

  9. sublime text 2学习(二):创建可复用的代码片段

    对于前端工程师来讲,写一个html页面的基本结构是体力活,每次去拷贝一个也麻烦,sublime text 2 提供了一个很好的复用代码片段.下面介绍一下创建一个html5的代码片段的过程. 在菜单上点 ...

随机推荐

  1. JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法

    今天在程序中出现一个bugger ,调试了好久,最后才发现,原来是这个问题. 做了一个实验: alert(parseInt("01")),当这个里面的值为01====>07时 ...

  2. Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39

    Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39 V1  初步实现sina csdn cnblogs V2  实现qzone sohu 的发帖 ...

  3. 用doxygen+graphviz自动化生成代码文档(附详细教程)

    一.引子 用这两个工具可以自动的遍历代码,并且产生代码文档,我们先来看看效果,然后放出这两个工具的下载地址. 二.工具的下载地址 doxygen:http://www.stack.nl/~dimitr ...

  4. 浅谈ClickableSpan , 实现TextView文本某一部分文字的点击响应

    超文本:http://www.baidu.com 这么一个效果:一行文本当中 前面显示黑色颜色的“超文本:”,后面显示红色颜色的“http://www.baidu.com” 并且要求红色字体的部分可以 ...

  5. Mac 以太网连接 报无效的服务器地址 BasicIPv6ValidationError

    Mac 以太网连接 报无效的服务器地址 BasicIPv6ValidationError 用Mac这么久,一直是用WiFi连接网络,没搞过以太网连接,我也是醉了 显然 Mac 不能像 Windows ...

  6. iOS之Cookie

    iOS之Cookie使用 简介 概念:Cookie中文名称叫做"小型文本文件",指某些网站为了辨别用户身份而存储在用户本地终端上的数据(通常经过加 密). Web服务器可以用过Se ...

  7. 拿什么守护你的Node.JS进程: Node出错崩溃了怎么办? foreverjs, 文摘随笔

    守护进程 方案一 npm install forever https://github.com/foreverjs/forever 方案二 npm install -g supervisor http ...

  8. JJ Ying:越来越跨界的界面设计

    2013年6月29号  星期六  小雨  @大众点评 利用非界面设计的专业知识来提升界面设计 向平面设计跨界 向工业设计的跨界 向摄影跨界 向动向的的跨界 向程序跨界 讲师介绍: JJ Ying /  ...

  9. javascript简介和基本语法

    javascript简介 1.javascript是个脚本语言,需要有宿主文件,他的宿主文件是html文件. 用法:为了保险起见一般写在</html>之后<javascript   ...

  10. java微信接口之三—上传多媒体文件

    一.微信上传多媒体接口简介 1.请求:该请求是使用post提交from来实现的,我们可以在网页上进行表单提交来实现.地址为: http://file.api.weixin.qq.com/cgi-bin ...