原文: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. 身份证号码15位转18位 C#实现

    [身份证最后一位神秘X的由来]身份证中的“冷知识”1999年的今天,<国务院关于实行公民身份号码制度的决定>被发布,当年10月1日实施.为什么有的有X?这位数是根据前17位计算出的校验码. ...

  2. Searching External Data in SharePoint 2010 Using Business Connectivity Services

    from:http://blogs.msdn.com/b/ericwhite/archive/2010/04/28/searching-external-data-in-sharepoint-2010 ...

  3. android 多屏幕适配 : 第一部分

    1.在xml布局文件中,控件的宽度和高度用  dp ;   字体大小用 sp 2.根据屏幕的宽高来动态的适配 , 获取屏幕的宽高的两种方法: 第一种方法: /** * 屏幕的宽度 * 屏幕的高度 * ...

  4. Android文件操作

    将数据写入Internal Storage: String fileName = "myfile.txt"; String str="保存数据到内部存储"; t ...

  5. SqlSever大数据分页

    在sql sever中大数据的分页一直是难以处理的一块,利用id自增列分页也存在不足之处.从一个相对全面的分页看,sql sever2005中新增的row_number()函数解决了这个问题.还是从一 ...

  6. Cocos2d-X-3.0之后的版本的环境搭建

    由于cocos2d游戏开发引擎更新十分频繁,官方文档同步不够及时和完善.所以不要照着官方文档来照做生成工程. <点击图片就能进入网站> 具体的步骤: 1.获取cocos2d-X的源码v3. ...

  7. swipe js dynamic content

    swipe js dynamic content swipe 动态改变内容时,需要用 update 一下. swiper.update(true); 实例: HTML Code  页面用的FreeMa ...

  8. 关于EditText的一点深入的了解

    最近在开发android下的记事本程序时,频繁的使用EditText控件,折腾来折腾去,算是对其的了解更深入了一些.特将这些收获记录如下: 一.几个属性的介绍 android:gravity=&quo ...

  9. Remote Desktop Connection Manager (RDCMan) 介绍

    Remote Desktop Connection Manager介绍 Remote Desktop Connection Manager (RDCMan) 是微软Windows Live体验团队的主 ...

  10. nginx根据IP限制访问

    nginx有两个模块可以控制访问 HttpLimitZoneModule    限制同时并发访问的数量 HttpLimitReqModule     限制访问数据,每秒内最多几个请求 http{ ## ...