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. Codeforces Round #250 (Div. 2)D

    给你一张无向图,每个点有一个权值,对于一条从l到r 的边权值是l到r路径上最小的点的权值,(多条路取最大的权值),然后求每两个点之间的权值和/点对数 题解:并查集维护,先从点大的边排序,然后依次加边, ...

  2. IOS-导航路线

    1.可以将需要导航的位置丢给系统自带的APP进行导航 2.发送网络请求到公司服务器获取导航数据, 然后自己手动绘制导航 3.利用三方SDK实现导航(百度) >当点击开始导航时获取用户输入的起点和 ...

  3. saltstack笔记

    Saltstack类似于puppet salt的核心功能使用命令 发送到远程系统是并行的而不是串行的使用安全加密的协议使用最小最快的网络载荷提供简单的编程接口 Python编写,相当轻量级通讯层采用z ...

  4. opencv:图像模糊处理

    接口: blur(sourceImage,dstImage,Size(,)); // 图像模糊处理 示例代码: #include <opencv.hpp> #include <img ...

  5. Makefile的补充学习2

    Makefile中使用通配符(1)* 若干个任意字符(2)? 1个任意字符(3)[] 将[]中的字符依次去和外面的结合匹配 还有个%,也是通配符,表示任意多个字符,和*很相似,但是%一般只用于规则描述 ...

  6. 条款1:将c++视作一个语言联邦

    c++是一个多重泛型编程语言,其所支持的泛型有: 面向过程编程(procedual) 面向对象编程(object-oriented) 面向函数编程(functional) 泛型编程(generic) ...

  7. 如何切换到自定义的Activity

    一. 新建一个空的工程,并添加一个按钮 二.新建一个布局文件,命名为my_aty, 并添加一个文本 三.新建一个类,命名为MyAty,并重写onCreate函数 public void onCreat ...

  8. 血的教训 password写成passward,教训应该从首页赋值 参数名

    血的教训 password写成passward,教训应该从首页赋值 参数名

  9. Android系统自带分享功能的实现(可同时分享文字和图片)

     /** * 分享功能 * * @param context * 上下文 * @param activityTitle * Activity的名字 * @param msgTitle * 消息标题 ...

  10. I.MX6 fbset 使用

    /****************************************************************************** * I.MX6 fbset 使用 * 说 ...