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. mongodb分片介绍—— 基于范围(数值型)的分片 或者 基于哈希的分片

    数据分区 MongoDB中数据的分片是以集合为基本单位的,集合中的数据通过 片键 被分成多部分. 片键 对集合进行分片时,你需要选择一个 片键 , shard key 是每条记录都必须包含的,且建立了 ...

  2. asp.net获取URL和IP地址

    (转自:http://www.cnblogs.com/JuneZhang/archive/2010/11/26/1888863.html) HttpContext.Current.Request.Ur ...

  3. OLE剪切板与拖拽

    https://www.xuebuyuan.com/1074399.html https://blog.csdn.net/uda1985/article/details/6179801

  4. selenium webdriver入门

    写在前面:最近在研究UI自动化测试的过程中,发现公司里通常用的是AutomanX框架,而这个框架实际上是基于selenium webdriver框架的,所以在编写测试用例时,很多语法都是直接使用sel ...

  5. Java IO流读写文件的几个注意点

     平时写IO相关代码机会挺少的,但却都知道使用BufferedXXXX来读写效率高,没想到里面还有这么多陷阱,这两天突然被其中一个陷阱折腾一下:读一个文件,然后写到另外一个文件,前后两个文件居然不 ...

  6. VS2017连接到中国区的Azure

    1. 安装Azure Environment Select扩展 2. 选择中国区的Azure 3. 之后就可以使用中国区的账号登录了 参考链接:https://docs.azure.cn/zh-cn/ ...

  7. Ubuntu16.04配置apache+php+mysql

    命令行配置apache input sudo apt-get install apache2 done! 命令行配置mysql 参见: MySQL install and setting 命令行配置p ...

  8. HihoCoder 1122二分图二 ---最大匹配之匈牙利算法

    二分图二•二分图最大匹配之匈牙利算法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上一回我们已经将所有有问题的相亲情况表剔除了,那么接下来要做的就是安排相亲了.因为过 ...

  9. 转载 matlab矩阵数组常用操作

    一. length             返回矩阵最长维的的长度    ndims       返回维数          numel      返回矩阵元素个数size               ...

  10. ecmall分页

    在Ecmall的二次开发中,分页是必不可少的.这个系统已经自带了分页功能,下面来看看如何使用这个分页. 下面是一个自定义的类,用于查看订单的详细情况.关键在于get_order_data()这个方法, ...