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. web 安全问题(一):CSRF 攻击

    什么是CSRF CSRF是怎么产生的 CSRF的攻击对象 CSRG的攻击手段 CSRF的防御措施 什么是CSRF 全称是(Cross Site Request Forgery)跨站请求伪造.也就是恶意 ...

  2. nyoj 715 Adjacent Bit Counts

    描述 For a string of n bits x1, x2, x3, …, xn,  the adjacent bit count of the string  is given by      ...

  3. Livepool

    LivePool Fiddler Like cross platform debugging proxy for web developers base on NodeJS LivePool 是一个基 ...

  4. Oracle PLSQL Demo - 10.For Loop遍历游标[FOR LOOP CURSOR]

    declare cursor cur_emp is select t.* from scott.emp t; begin for r_emp in cur_emp loop dbms_output.p ...

  5. Oracle PLSQL Demo - 09.Open、Fetch遍历游标[Open, Fetch, Close Record CURSOR]

    declare r_emp scott.emp%rowtype; cursor cur_emp is select t.* from scott.emp t; begin open cur_emp; ...

  6. spark结构化数据处理:Spark SQL、DataFrame和Dataset

    本文讲解Spark的结构化数据处理,主要包括:Spark SQL.DataFrame.Dataset以及Spark SQL服务等相关内容.本文主要讲解Spark 1.6.x的结构化数据处理相关东东,但 ...

  7. innerHTML与innerText区别

    document 对象中有innerHTML和innerText 两个属性, 这两个属性都是获取document对象的文本内容的,这两个属性间有哪些区别呢?通过几个例子来看一下. 示例1 <ht ...

  8. 我对C++的一些疑问

    我对C++的一些疑问,最近使用C++,总感觉有些东西自己没有抓住,也可能是自己基础学的不是很扎实,所以对一些基本的东西理解不够透彻导致的.因为自己在学校也学过C#和java,C#它是一个完全的面向对象 ...

  9. 【WPF】对话框/消息弹窗

    非模式对话框 需求:弹窗是非模式对话框,即可以多个弹窗弹出,且弹窗后面的窗体可以被操作,不会被锁定. 自定义的窗体Window实现以下步骤: 在C#代码中弹出窗体时,使用 window.Show() ...

  10. 【WPF】弹窗定位、弹窗关闭后再打开的报错

    需求:点击按钮,打开一个弹窗. // 获得窗体实例 Window window = openDesignViewModel.View as Window; // 这是使用了WAF框架 //Window ...