使用Code Snippet简化Coding  在开发的项目的时候,你是否经常遇到需要重复编写一些类似的代码,比如是否经常会使用 for、foreach ? 在编写这两个循环语句的时候,你是一个字符一个字符敲还是使用 Visual Studio 提供的Code Snippet 工具自动帮你生成呢?
神奇之处
  你只需要在代码编辑器中输入for,就会看到 Visual Studio 的自动提示框中出现了如下红框框起来的部分,这个时候只需要连按两下 tab 键,便会自动补全 for 循环语句(如图2所示),并且默认选中索引,以便你进行修改。


图 1  自动提示框


图 2  自动补全循环语句
  是不是很神奇? 与之类似的还有switch、cw (Console.WriteLine)、ctor(构造器)、prop(属性)等,灵活运用这些就可以让你的 Coding 工作事半功倍,更多默认 CodeSnippet 请查看参考资源[1]。
  但是,每个项目都有每个项目的特殊性,默认的这些 Code Snippet 如果无法满足您的需求,这个时候就需要自动动手来扩展了。
Code Snippet 的神秘面纱【C#】
  在动手开始写自己的 Code Snippet 之前,得先搞清楚这个玩意儿是怎么做到的。
  它其实只是一个 xml,只不过包含了一些只有 Visual Studio 才认识的元素,这些元素就定义了如何去替我们补全代码(,Code Snippet 针对不同的语言如VB、C#、CSS使用不同的元素,本文全部按照 C# 语言进行介绍)。

attribute.Snippet 文件源码  :C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC#\Snippets\2052\Visual C#

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>attribute</Title>
            <Shortcut>Attribute</Shortcut>
            <Description>使用建议模式的特性的代码片段</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>name</ID>
                    <ToolTip>特性的名称</ToolTip>
                    <Default>My</Default>
                </Literal>
                <Literal>
                    <ID>target</ID>
                    <Default>All</Default>
                </Literal>
                <Literal>
                    <ID>inherited</ID>
                    <Default>false</Default>
                </Literal>
                <Literal>
                    <ID>allowmultiple</ID>
                    <Default>true</Default>
                </Literal>
                <Literal Editable="false">
                    <ID>SystemAttribute</ID>
                    <Function>SimpleTypeName(global::System.Attribute)</Function>
                </Literal>
                <Literal Editable="false">
                    <ID>SystemAttributeUsage</ID>
                    <Function>SimpleTypeName(global::System.AttributeUsage)</Function>
                </Literal>
                <Literal Editable="false">
                    <ID>SystemAttributeTargets</ID>
                    <Function>SimpleTypeName(global::System.AttributeTargets)</Function>
                </Literal>
                <Literal Editable="false">
                    <ID>Exception</ID>
                    <Function>SimpleTypeName(global::System.NotImplementedException)</Function>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[[$SystemAttributeUsage$($SystemAttributeTargets$.$target$, Inherited = $inherited$, AllowMultiple = $allowmultiple$)]
sealed class $name$Attribute : $SystemAttribute$
{
    // See the attribute guidelines at
    //  http://go.microsoft.com/fwlink/?LinkId=85236
    readonly string positionalString;
    
   // This is a positional argument
   public $name$Attribute (string positionalString)
   {
        this.positionalString = positionalString;
        
       // TODO: Implement code here
       $end$throw new $Exception$();       
   }
   
    public string PositionalString
    {
        get { return positionalString; }
    }
   
   // This is a named argument
   public int NamedInt { get; set; }
}]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

待续。。。

Visual Studio 如何使用代码片段Code Snippet提高编程速度!!!的更多相关文章

  1. VS里的 代码片段(Code snippet)很有用,制作也很简单

    工欲善其事必先利其器,而 Visual Studio 就是我们的开发利器. 上一篇文章,介绍了一个很棒的快捷键,如果你还没用过这个快捷键,看完之后应该会豁然开朗.如果你已经熟练的应用它,也会温故而知新 ...

  2. Visual Studio中自定义代码段!

    Visual Studio中自定义代码段! 第一步:在编辑器中进行快捷键的输入[ctrl + shift + p] 或者 点击 查看 第一个选项就是!请看下图 第二步:选择你要配置代码段的语言, 这里 ...

  3. 艾伦 Visual Studio 批量自动化代码操作工具-VS插件发布

    艾伦 Visual Studio 批量自动化代码操作工具 以下简称--艾伦工具箱. 艾伦工具箱是一个多文件批量处理插件,目的是为了广大开发者提高开发效率,减少项目代码规范化审计,缩短开发者的项目开发周 ...

  4. Sublime Text自定制代码片段(Code Snippets)

    在编写代码的整个过程中,开发人员经常会一次又一次的改写或者重用相同的代码段,消除这种重复过程的方法之一是把我们经常用到的代码保存成代码片段(snippets),这使得我们可以方便的检索和使用它们. 为 ...

  5. Visual Studio Online & Web 版 VS Code

    Visual Studio Online & Web 版 VS Code https://online.visualstudio.com https://devblogs.microsoft. ...

  6. 用Visual Studio编辑Linux代码

    估计很多人都是用惯了Visual Studio的主,怎么也不适应Linux的一套编辑器,比如vim.source insight这些东西,可视化的eclipse效果还好点,但一般以远程共享一台Linu ...

  7. VS自定义代码块Code Snippet

    一  .简述 我们在开发当中,避免不了一些重复的开发工作,在你漫长的开发以及学习当中,你会发现有这么一部分代码是你时常会使用到的.我想这个工具也是针对这个原因出来的吧,它就是预先把你需要的这部分代码的 ...

  8. Xcode10 代码块(Code Snippet)添加和删除

    https://blog.csdn.net/lg767201403/article/details/82761448 Code Snippets 使用 https://blog.csdn.net/lv ...

  9. VS.PHP详细破解教程,用Visual Studio编写PHP代码插件PhpTools

    一.准备文件:(下载地址:http://download.csdn.net/detail/wulang1988/9662363) Default.aspx是解决在线破解文件:PhptoolCracke ...

随机推荐

  1. 如何读懂复杂的C语言声明

    本文已迁移至: http://www.danfengcao.info/c/c++/2014/02/25/howto-understand-complicated-declaration-of-c.ht ...

  2. 把Tomcat注册为windows服务

    配置环境变量 JAVA_HOME=D:\java CLASSPATH=.;%JAVA_HOME%\lib; PATH=%JAVA_HOME%\bin; 提示:一般jre默认在jdk目录下%JAVA_H ...

  3. Mac OS X常用操作入门指南

    前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右)            =鼠标左键 control+按下        ...

  4. ubuntu kylin 14.04编译openjdk-7u40

    1.ubuntu kylin 14.04安装依赖 sudo apt-get install build-essential gawk m4 libasound2-dev libcups2-dev li ...

  5. LLVM 笔记(三)—— 了解传统编译器设计

    ilocker:关注 Android 安全(新手) QQ: 2597294287 传统的静态编译器 (如大多数的 C 语言编译器) 通常将编译工作分为三个阶段,分别由三个组件来完成:前端.优化器和后端 ...

  6. 找不到mysql.sock,mysql.sock丢失问题解决方法

    Can 't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '(2) "; 是你的mysql ...

  7. Python class and function json

    # coding=utf-8 __author__ = 'student' ''' how to define a class how to extend a class how to make a ...

  8. 374&375. Guess Number Higher or Lower 1&2

    做leetcode的题 We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You ...

  9. PhotoShop算法原理解析系列 - 风格化---》查找边缘。

    之所以不写系列文章一.系列文章二这样的标题,是因为我不知道我能坚持多久.我知道我对事情的表达能力和语言的丰富性方面的天赋不高.而一段代码需要我去用心的把他从基本原理-->初步实现-->优化 ...

  10. 第10章 Java类的三大特性之一:多态

    1.Java中的多态 多态是指对象的多种形态,主要包括这两种: 1.1引用多态 a.父类的引用可以指向本类的对象b.父类的引用可以指向子类的对象举个例子:父类Anmail,子类Dog,可以使用父类An ...