VS代码片段(snippet)创作工具——Snippet Editor(转)
原文: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的编辑器代码:
- for (int $index$ = 0; $index$ < $max$; $index$++)
- {
- $selected$ $end$
- }
解释一下:
用$符号包围起来并带有颜色的是需要由用户修改的位置($index$、$max$),用TAB键顺序在不同的$标记间切换。
$selected$ 表示在以“外侧代码”使用Snippet时,被选中内容的放置位置。(你可以试着在VS代码编辑器中选中一小段编码,右键->“外侧代码”)
$end$ 表示,完成Snippet录入后(按Enter键),光标所停留的位置。
下面是制作一个自己的代码片段例子:
在《懒人对话框:DialogForm》中,是一个WinForm的快速制作对话框风格的方法。
- using System;
- using System.Text;
- using System.Windows.Forms;
- namespace DialogFormDemo
- {
- public class DialogForm : Form
- {
- public DialogForm()
- : base()
- {
- ApplyDialogStyle(this);
- }
- /// <summary>
- /// 使普通Form应用具有对话框窗口的样式
- /// </summary>
- /// <param name="form"></param>
- /// <returns></returns>
- static public Form ApplyDialogStyle(Form form)
- {
- form.FormBorderStyle = FormBorderStyle.FixedDialog;
- form.MaximizeBox = false;
- form.MinimizeBox = false;
- form.ShowIcon = false;
- form.ShowInTaskbar = false;
- form.StartPosition = FormStartPosition.CenterParent;
- return form;
- }
- }
- }
现在,为了使用方便,我们为其创建Snippet。
首先,我在D盘创建了Develop/MySnippets文件夹,我想要把自己的代码片段存储在这里。
然后打开Snippet Editor工具,选择Visual C#分类,右键->Add Path,选择MySnippets文件夹。

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

双击刚刚创建的DialogForm,编辑它。输入一些信息,注意在Shortcut里输入“df”,作为快速插入代码片段的输入字符。
在Code里输入下面代码:
- Form df = DialogForm.ApplyDialogStyle(new Form()) as Form;
- DialogResult dr = df.ShowDialog();
- df.Dispose();
- if (DialogResult.Cancel == dr) return; //return
- $selected$ $end$
然后选中代码里的第一个“Form”,点击代码编辑框下面的Add New按钮(“+”图标),那么所有Form单词都会被$符号括上并彩色显示。

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

- $Form$ $df$ = DialogForm.ApplyDialogStyle(new $Form$($parameters$)) as $Form$;
- DialogResult $dr$= $df$.ShowDialog();
- $df$.Dispose();
- if (DialogResult.Cancel == $dr$) return; //return
- $selected$ $end$
最后的效果如上图所示,然后点击窗口上方的保存(Save)按钮。
重新启动VS,在代码编辑器中输入df,然后键入两下TAB,就会出现刚刚创作的代码片段。

另外,这个代码片段创作需要是免费的,最新版本已经支持VS2010。
VS代码片段(snippet)创作工具——Snippet Editor(转)的更多相关文章
- VS Code 折腾记 - (6) 基本配置/快捷键定义/代码片段的录入(snippet)
前言 本来分成三篇来写的,但是想了想没必要,大家都是聪明人...简单的东西点一下就晓得了. 基本配置 快捷键自定义(Ctrl+K Ctrl + S) 那个when支持条件表达式返回一个布尔值 支持的快 ...
- vscode 用户代码片段 vue初始化模板 Snippet #新加入开头注释 自动生成文件名 开发日期时间等内容
vue文件模板 模板变量 https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variables vue.json { // ...
- [代码片段-C#]工具代码片段 及 版本信息等
标题: [SD.TEAM]XXXX 公司: 宝宝巴士(福建)网络科技有限公司 商标: 宝宝巴士 版权: © Babybus SD.Team 版权+作者(简): © Babybus SD.Team - ...
- elasticsearch代码片段,及工具类SearchEsUtil.java
ElasticSearchClient.java package com.zbiti.framework.elasticsearch.utils; import java.util.Arrays; i ...
- sublime text 2代码片段(Snippet)功能的使用
“snippet”在英语里面是“片段”的意思.当我们编码时候,通常想要打几个简略的字符串,就出来一些固定的模板. 例如:使用snippet在新建文件时快速生成HTML头部信息等. 定义很简单,菜单:t ...
- sublime text 2自定义代码片段
本文引用 http://www.blogjava.net/Hafeyang/archive/2012/08/17/how_to_create_code_snippet_in_subline_tex ...
- subllime text 创建可复用的代码片段
对于前端工程师来讲,写一个html页面的基本结构是体力活,每次去拷贝一个也麻烦,sublime text 2 提供了一个很好的复用代码片段.下面介绍一下创建一个html5的代码片段的过程. 在菜单上点 ...
- Sublime Text 2创建可复用的代码片段
对于前端工程师来讲,写一个html页面的基本结构是体力活,每次去拷贝一个也麻烦,sublime text 2 提供了一个很好的复用代码片段.下面介绍一下创建一个html5的代码片段的过程.在菜单上点击 ...
- sublime text 2学习(二):创建可复用的代码片段
对于前端工程师来讲,写一个html页面的基本结构是体力活,每次去拷贝一个也麻烦,sublime text 2 提供了一个很好的复用代码片段.下面介绍一下创建一个html5的代码片段的过程. 在菜单上点 ...
随机推荐
- 导出你的GAC Assembly中的DLLS -- 金大昊(jindahao)
导出你的GAC Assembly中的DLLS 方法1: CMD命令中,进入C:\windows\assembly,然后XCOPY GAC_MSIL c:\temp /E 这样就得到了dlls了,以 ...
- Docker: 解决Docker无法在电信网络中访问外网
在电信网络中,Docker在build和run时会无法访问外网,原因是docker的默认dns地址是8.8.8.8,由于众所周知的原因,我们需要改写这个地址,方法如下: 修改/etc/sysconfi ...
- Silverlight项目笔记1:UI控件与布局、MVVM、数据绑定、await/async、Linq查询、WCF RIA Services、序列化、委托与事件
最近从技术支持转到开发岗,做Silverlight部分的开发,用的Prism+MVVM,框架由同事搭好,目前做的主要是功能实现,用到了一些东西,侧重于如何使用,总结如下 1.UI控件与布局 常用的主要 ...
- 做一些Spring AOP做过的事,封装 jdk动态代理成为一个黑盒子
怎么使用eclise 抽取方法,请看 利用eclipse 抽取代码片段为方法 抽取完成之后,还需要 ① 将Collection.class换成 target.getClass(),targ ...
- 一个SharePoint定时器 (SPJobDefinition)
需要写一个自定义的sharepoint timer job, 目的是要定时到Site Collection Images这个List里检查图片的过期日期,如果即将过期的话,需要发送email到相关的人 ...
- oracle-删除归档日志
rman target user/password; DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
- C#.net Winform获取文件路径
C# 获取路径 string str1 =Process.GetCurrentProcess().MainModule.FileName;//获得当前执行的exe的文件名.string str2=En ...
- jQuery实现联动下拉列表查询框
<!DOCTaYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org ...
- Myeclipse6.0 在线安装svn插件
一.官网地址 1.SVN 官方网站:http://subversion.apache.org/ 二.安装步骤 1. 打开Myeclipse,在菜单栏中选择Help→Software Updates→F ...
- poj 3694 Network 边双连通+LCA
题目链接:http://poj.org/problem?id=3694 题意:n个点,m条边,给你一个连通图,然后有Q次操作,每次加入一条边(A,B),加入边后,问当前还有多少桥,输出桥的个数. 解题 ...