vs中的代码段管理可以实现大段固定文本的快捷输入,方法:

首先编写.snippet文件如:

<?xml version="1.0" encoding="utf-8"?>

<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">

<CodeSnippet Format="1.0.0">

<Header>

<Title>类成员变量</Title>

<Shortcut>cybl</Shortcut>     

</Header>

<Snippet>

<Declarations>

<Literal>

                <ID>proname</ID>

                <Default>xxyy</Default>               

            </Literal>

<Literal>

<ID>type</ID>

<Default>string</Default>

</Literal>

</Declarations>

<Code Language="csharp">

<![CDATA[/// <summary>

/// $end$

/// </summary>

public $type$ $proname$ {set;get;}]]>

</Code>

</Snippet>

</CodeSnippet>

</CodeSnippets>

每个.snippet文件包括一个<CodeSnippets>结构,其中可以包括多个单独的<CodeSnippet>

重要关键字:

<header> 代码段声明区

<Title> 代码段的外部显示名称

<Shortcut>快捷键,输入快捷键后,屏幕上将出现提示,连按两下tab键可输入此代码段。

<Snippet>代码段主体部分,包括<Declarations>和<Code>两部分。

如果仅需快捷插入固定静态文本,只用<Code>部分即可。但如果想在插入代码段后能快捷替换其中某些关键字,就必须在<Declarations>设置关键字。例如for循环结构插入后,可一键改写所有循环变量i。

<Declarations>主要作用是定义替换文本的别名<ID>和默认值<Default>,别名就是和<Code>部分中的$name$对应的name,它可以被快速替换。例如for循环中的变量i在<Declarations>设置为:

<ID>index</ID>

<Default>i</Default>

在<Code>中,表示为for (int $index$ = 0; $index$ < $max$; $index$++)

这样,插入后的代码段中,$index$将被替换为默认值i,同时可用tab键定位到第一个i后高亮显示,并可将i改为t后,全部替换所有$index$出现位置的i为t。

一个代码段中可以设置多个这样的类似$xx$结构,方法是在<Declarations>中连续书写多个<Literal>结构。这样按tab键时将在各个$ss$x结构中顺序获得焦点,改动其默认值。

<![CDATA[.......]]中,就是填写代码段的位置。

其中

$$两个$代表转义一个$

$end$  固定代表回车后光标停留在代码段的位置,可以设置在任意地方

$selected$ 固定代表输入代码段前选择的文本,实现外侧代码功能。用CTR+K+S添加外侧代码段时有用。

然后,装载snippet文件

snippet文件编写好后,工具—代码段管理器—导入—该文件;

随后在界面中选择存放此代码段的位置,一般放在自己定义的文件夹中。自定义文件夹通过上一步的添加按钮选择。点击完成。

此后,在编辑区输入设置的快捷键<Shortcut>cybl</Shortcut>,按两下tab就可插入预先设定的固定代码段。

要编辑系统自带的snippet代码段可在上一步界面中,语言下拉框选择CSharp,观察系统文件路径,如C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC#\Snippets\2052\Visual C#,打开该文件夹,编辑需要的文件如,for.snippet,完成后按上步重新加载,就可改动系统自动代码段。

vs中的强大的代码段管理的更多相关文章

  1. 【转】在Visual Studio中怎样快速添加代码段

    原文网址:http://blog.csdn.net/yl2isoft/article/details/9735527 以前一直只知道,键入prop,再按两次tab键,会生成自动属性代码. 今天闲着无事 ...

  2. AngularJS中页面呈现html代码段

    如何在页面呈现一段html代码段呢? 在textarea中我们这样写: <textarea name="" id="" cols="30&quo ...

  3. 在VS中自定义代码段

    这个功能不怎么实用,但毕竟是VS存在的一个功能点嘛,知道一点也好!说它不怎么实用是有原因的,因为现在强大的VS编辑器拥有不计其数的插件,而且这些插件也有很多很强大的!比如Resharper,Code ...

  4. VS中自定义代码段

    如果数据属性的数量比较多,那么输入总是要花费较多的时间,这里有个小技巧,就是使用快捷的输入方法,但是VS自身提供的代码段是有限的,幸运的是我们可以通过:工具> 代码段管理器>添加来添加自定 ...

  5. VS中常用C#代码段快速输入总结

    转自:https://blog.csdn.net/a980433875/article/details/12231673 Visual Studio 中有很多代码段都可以直接简写然后按TAB快速输入编 ...

  6. 用Handler的post()方法来传递线程中的代码段到主线程中执行

    自定义的线程中是不能更新UI的,但是如果遇到更新UI的事情,我们可以用handler的post()方法来将更新UI的方法体,直接传送到主线程中,这样就能直接更新UI了.Handler的post()方法 ...

  7. WPF自定义RoutedEvent事件代码段

    今天在写东西的时候,发现常用的代码段里没有RoutedEvent的,因此,写了一个代码段,方便以后使用,顺便记录一下,如何做代码段. 1.在项目中新建一个XML文件,将扩展名修改为snippet. 2 ...

  8. vs代码段快捷键设置

    1 工具->代码段管理器

  9. linux进程的堆栈空间_代码段(指令,只读)、数据段(静态变量,全局变量)、堆栈段(局部变量)、栈【转】

    转自:http://blog.csdn.net/gongweijiao/article/details/8207333 原文参见:http://blog.163.com/xychenbaihu@yea ...

随机推荐

  1. 获得Ztree选择的节点

    $('#save').click(function(){ if($("#roleForm").form("validate")){ var treeObj = ...

  2. datagrid拖动列头更换排列顺序

    在做这个功能的时候在网上找了大量资料,发现都不适用,要不然就是代码太冗余,所以另起炉灶,自己封装了这个函数 下面是完整的代码: <!DOCTYPE html> <html> & ...

  3. C#外部类、内部类(嵌套类)之间的成员访问特点

    最近程序中需要用到多线程工作下的单例模式.而其多种实现方法中,利用内部类实现懒汉模式是一种值得推荐的方式.顺便也就对内部类和外部类之间的关系做了一下研究,总结如下(理解不困难,不粘贴代码了,有需要的留 ...

  4. nyoj-1316-二分

    acm.nyist.edu.cn/JudgeOnline/problem.php?pid=1316题目链接 Interval 时间限制:2000 ms  |  内存限制:65535 KB 难度:3 描 ...

  5. 转:大数据时代快速SQL引擎-Impala

    本文来自:http://blog.csdn.net/yu616568/article/details/52431835 如有侵权 可立即删除 背景 随着大数据时代的到来,Hadoop在过去几年以接近统 ...

  6. AutoLayout 使用详细

    1.实际应用中,这Compact,Any,Regular如何运用呢? w:Any h:Any 是我们刚建立工程时候默认选择的,算是一切描述的父类.其他的种类描述都是在此基础上变化的,比如:如果weig ...

  7. vue仿京东画线验证码,前端手指位置数据获取

    需求是这样的,京东H5移动端登录,有个安照箭头方向,画线登录的验证,看看是怎么实现的: 直接上代码了: <template> <div v-if="visible" ...

  8. delete和truncate区别

    相同之处:truncate在功能上与不带WHERE子句的delete 语句相同:二者均删除表中的全部行.小心使用truncate,删除后就没有了 1.delete : 删除"表格记录&quo ...

  9. As3 Practises : use TheMiner do as3 project swf performance profile , find memory leak!

    The second and most universal way is to launch it from the mm.cfg fileTheMiner.swf must be trusted1: ...

  10. 深入理解java虚拟机-第二章

    第2章 Java内存区域与内存溢出异常 运行数据区域 1.程序计数器(Program Counter Register) 是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器. 2.J ...