1.代码片段的使用示例

在编写代码中常会使用代码片段来提高我们的编写代码的效率,如:在Visual Studio中编写一个

  1. for(int i = 0; i < length;i++)
  2. {
  3. }

这样的代码,我们只需要写 for 然后紧接着按2下”Tab键”即可实现上面的代码片段,如果需要编写一个

  1. private int myVar;
  2. public int MyProperty
  3. {
  4. get { return myVar; }
  5. set { myVar = value; }
  6. }

我们只需要写 propfull 然后紧接着按2下“Tab键”即可实现上面所示的代码片段。

可谓是非常的方便啊,提高了我们的工作效率。那么如何来自定义一个我们自己的代码片段呢?

2.创建自己的代码片段

在Visual Studio中依次点击:工具 >> 代码片段管理器
在代码管理器中的“语言”我们这里选择Visual C#(当然你也可以根据自己需求选择其他的语言),然后选择Visual C#文件夹,如下图所示:

到了这里就比较好办了,拷贝位置:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC#\Snippets\2052\Visual C# 在电脑中打开该路径可以拷贝一份出来,然后将拷贝出来的文件用VS打开进行修改,然后丢在该目录中重启你的Visual Studio即可。

如拷贝propfull.snippet 文件进行修改,我文件名修改为 propn.snippet ,内容修改后如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  3. <CodeSnippet Format="1.0.0">
  4. <Header>
  5. <Title>propn</Title>
  6. <Shortcut>propn</Shortcut>
  7. <Description>MVVM自动通知属性和支持字段的代码段</Description>
  8. <Author>Andrew</Author>
  9. <SnippetTypes>
  10. <SnippetType>Expansion</SnippetType>
  11. </SnippetTypes>
  12. </Header>
  13. <Snippet>
  14. <Declarations>
  15. <Literal>
  16. <ID>type</ID>
  17. <ToolTip>属性类型</ToolTip>
  18. <Default>int</Default>
  19. </Literal>
  20. <Literal>
  21. <ID>property</ID>
  22. <ToolTip>属性名</ToolTip>
  23. <Default>MyProperty</Default>
  24. </Literal>
  25. <Literal>
  26. <ID>field</ID>
  27. <ToolTip>支持此属性的变量</ToolTip>
  28. <Default>myVar</Default>
  29. </Literal>
  30. </Declarations>
  31. <Code Language="csharp">
  32. <![CDATA[private $type$ $field$;
  33. public $type$ $property$
  34. {
  35. get { return $field$;}
  36. set
  37. {
  38. $field$ = value;
  39. this.RaisePropertyChanged("$property$");
  40. }
  41. }
  42. $end$]]>
  43. </Code>
  44. </Snippet>
  45. </CodeSnippet>
  46. </CodeSnippets>

说明:其实不要看着上面的XML有这么多,其实非常非常简单,依葫芦画瓢的事情,稍微看一下用不了2分钟就画出这个”瓢”啦!

大功告成,重启VS 输入“propn” 然后按2次Tab键 弹出如下代码

  1. private int myVar;
  2. public int MyProperty
  3. {
  4. get { return myVar; }
  5. set
  6. {
  7. myVar = value;
  8. this.RaisePropertyChanged("MyProperty");
  9. }
  10. }

学会了这些VS中的神技,是不是事半功倍?嘿嘿嘿.
其实也有其他的插件可以对这些进行支持,不过我个人是不怎么喜欢插件的,请允许我保持这个自己的权利吧!

转载请注明:王旭博客 » Visual Studio使用技巧,创建自己的代码片段

Visual Studio使用技巧,创建自己的代码片段的更多相关文章

  1. 【转载】在 Visual Studio 2012 中创建 ASP.Net Web Service

    在 Visual Studio 2012 中创建 ASP.Net Web Service,步骤非常简单.如下: 第一步:创建一个“ASP.Net Empty Web Application”项目 创建 ...

  2. Visual Studio 2010中创建ASP.Net Web Service

    转自:http://blog.csdn.net/xinyaping/article/details/7331375 很多人在论坛里说,在Visual Studio 2010中不能创建“ASP.Net ...

  3. 在 Visual Studio 2010 中创建 ASP.Net Web Service

    第一步:创建一个“ASP.Net Empty Web Application”项目 第二步:在项目中添加“Web Service”新项目 第一步之后,Visual Studio 2010会创建一个仅含 ...

  4. (转)在 Visual Studio 2010 中创建 ASP.Net Web Service

    很多人在论坛里说,在Visual Studio 2010中不能创建“ASP.Net Web Service”这种project了,下面跟帖者云云,有的说这是因为微软已经将Web Service整合进W ...

  5. 在 Visual Studio 2010 中创建 SharePoint 2010 事件接收器

    Microsoft Visual Studio 2010 提供了一个可用于生成事件接收器的项目类型,事件接收器会在 Microsoft SharePoint 2010 网站上选择事件之前或之后执行操作 ...

  6. Visual Studio中使用Macros插件给代码添加注释、时间和以及自动脚本

    title: Visual Studio中使用Macros插件给代码添加注释.时间和以及自动脚本 date: 2020-09-11 sidebarDepth: 2 tags: 代码 Visual st ...

  7. Visual Studio Entity Framework (EF) 生成SQL 代码 性能查询

    Visual Studio Entity Framework (EF) 生成SQL 代码 性能查询     SQL 中,有SQL Server Profiler可以用来查询性能以及查看外部调用的SQL ...

  8. 在 Visual Studio 2013 中创建 ASP.NET Web 项目(0):专题导航 [持续更新中]

    写在前面的话 随着 Visual Studio 2013 的正式推出,ASP.NET 和 Visual Studio Web 开发工具 也发布了各自的最新版本. 新版本在构建 One ASP.NET ...

  9. 在 Visual Studio 2013 中创建 ASP.NET Web 项目(1):概述 - 创建 Web 应用程序项目

    注:本文是“在 Visual Studio 2013 中创建 ASP.NET Web 项目”专题的一部分,详情参见 专题导航 . 预备知识 本专题适用于 Visual Studio 2013 及以上版 ...

随机推荐

  1. angular学习笔记(五)-阶乘计算实例(1)

    <!DOCTYPE html> <html ng-app> <head> <title>2.3.2计算阶乘实例1</title> <m ...

  2. ny214 单调递增子序列(二) 动态规划

    单调递增子序列(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 给定一整型数列{a1,a2...,an}(0<n<=100000),找出单调递增最长子序 ...

  3. 一:cocos2dx 3.2 尚不支持cubeMap?二:光照需要shader实现

    一: cocos2dx 3.2 尚不支持cubeMap? 因为需要调用cocos2dx 封装的bindTexture的方法,发现只能绑定2DTexture,对Cube_Map无能无力.顿感累觉不爱…… ...

  4. 将Java项目从maven迁移到gradle

    将Java项目从maven迁移到gradle 如何将一个java项目从maven迁移到gradle呢?gradle集成了一个很方便的插件:Build Init Plugin,使用这个插件可以很方便地创 ...

  5. 在IIS6上部署WebService

    在IIS6上部署WebService 2016-12-07 目录: 1 创建web service项目2 部署WebService3 浏览页面 1 创建web service项目 返回 用Visual ...

  6. git使用教程&&问题列表

    git教程[转] http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 git push ...

  7. mysql 8小时问题

    假设你的数据库是mysql,如果数据源配置不当,将可能发生经典的"8小时问题".原因是mysql在默认情况下,如果发现一个连接的空闲时间超过8小时,将会在数据库端自动关闭这个连接. ...

  8. dp之多维背包hdu4501

    思路:将v1,v2,k都当作一种体积,每种物品只能取一次,求max....... 反思:以前写背包,由于只有一个体积,所以习惯性的在for中,就所取的最小值限制,而在这次,因为这里导致wa了,具体是因 ...

  9. 10分钟-jQuery过滤选择器

    1.:first过滤选择器 本次我们介绍过滤选择器,该类型的选择器是依据某过滤规则进行元素的匹配.书写时以":"号开头,通经常使用于查找集合元素中的某一位置的单个元素. 在jQue ...

  10. 集群负载均衡LVS

    电子商务已经成为生活中不可缺少的一部分,给用户带来了方便和效率.随着计算机硬件的 发展,单台计算机的性能和可靠性越来越高.网络的飞速发展给网络宽带和服务器带来巨大的 挑战,网络宽带的增长速度远远高于内 ...