`
lindexi-gd
  • 浏览: 139857 次
社区版块
存档分类
最新评论

代码段

 
阅读更多

我们有时候会打出很多重复的代码,只是结构一样。
例如属性

        /// <summary>
        /// 编码
        /// </summary>
        public Encoding encoding
        {
            set
            {
                _encoding = value;
            }
            get
            {
                return _encoding;
            }
        }
        private Encoding _encoding=Encoding.UTF8;

属性我们可以使用
prop*按两次tab输入
例如
propfull

        private string myVar;

        public string MyProperty
        {
            get { return myVar; }
            set { myVar = value; }
        }

propfull

但很多时候我们需要
使用通知OnPropertyChanged

这样每个都来增加一句OnPropertyChanged工作量重复很多。

在之前,我就知道了有代码段,但是实在复杂,好在最近时间多,仔细看了一下。

代码片段是小块可重用的代码,可使用上下文菜单命令或热键组合将其插入代码文件中。 代码片段通常包含常用的代码块(如 try-finally 或 if-else 块),可用于插入整个类或方法。

代码段使用很简单
在类中,如果我们需要输入try-catch,我们可以按

try tab tab

try tab tab

    try 
    {           

    }
    catch (Exception)
    {

        throw;
    }

可以使用

Ctrl+K 和 X 或 Ctrl+K 和 S

visual studio有的参见:https://msdn.microsoft.com/zh-cn/library/z41h7fat.aspx

创建代码段可以使用snippet editor

但是这个是比较旧

我们可以使用创建模板

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
    xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title></Title>
    </Header>
    <Snippet>
      <Code Language="">
        <![CDATA[]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

我们可以在visual studio创建xml文件写

如果使用笔记本,编码为utf-8开始我弄成ascii就错了

代码段最先是CodeSnippets

CodeSnippets说明xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"
然后是格式

<CodeSnippet Format="1.0.0">

下来Header

里面有标题、作者、描述、快捷键信息
标题是必填

<Title>标题</Title>

作者可以选,描述可以选

<Author>lindexi_gd</Author>
 <Description>描述</Description>

快捷键不是按下同时键,是输入一段代码就可以按tab的文字

<Shortcut>ps</Shortcut>

代码段核心是<Snippet>
里面有<Declarations>描述,code
<Declarations>可以写每个参数的描述
例如do

            <Declarations>
                <Literal>
                    <ID>expression</ID>
                    <ToolTip>要计算的表达式</ToolTip>
                    <Default>true</Default>
                </Literal>
            </Declarations>

ID写在![CDATA[使用变量名,<ToolTip>描述,<Default>默认值

do

代码写在![CDATA[
需要先写语言Language="csharp"
我们用do代码

            <Code Language="csharp"><![CDATA[do
    {
            $selected$ $end$
    } while ($expression$);]]>
            </Code>

模板参数:
模板参数声明和启用用两个$$把变量名写在$parameter$
![CDATA[可以使用$parameter$变量
有一些变量名不能使用,可以在https://msdn.microsoft.com/zh-cn/library/eehb4faa.aspx

导入代码段
导入代码段

这里写图片描述

这里写图片描述

我们可以把之前写的prop导入到代码段,按ps tab
这里写图片描述

我们可以使用$selected$$end$ 来定位代码光标的开始

在code可以加上Delimiter
Delimiter 可选特性。指定用于描述代码中的文本和对象的分隔符。默认情况下,分隔符为 $。
kind 代码段必须插入位置,方法,类中

https://msdn.microsoft.com/zh-cn/library/ms171418.aspx

一些常用
ps

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>ps</Title>
      <Author>lindexi</Author>
      <Description>插入属性</Description>
      <HelpUrl />
      <SnippetTypes />
      <Keywords />
      <Shortcut>ps</Shortcut>
    </Header>
    <Snippet>
            <Declarations>
                <Literal>
                    <ID>string</ID>
                    <Default>string</Default>
                    <ToolTip>类型名</ToolTip>
                </Literal>
                <Literal>
                    <ID>name</ID>
                    <Default>name</Default>
                    <ToolTip>属性名</ToolTip>
                </Literal>
            </Declarations>
      <Code Language="csharp" kind="method decl"><![CDATA[public $string$ $name$
{
    set
    {
         _$name$=value;         
    }
    get
    {
         return _$name$;
    }
}
$slected$ $end$
private $string$ _$name$;]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

pvs

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>pvs</Title>
      <Author>lindexi</Author>
      <Description>插入属性</Description>
      <HelpUrl />
      <SnippetTypes />
      <Keywords />
      <Shortcut>pvs</Shortcut>
    </Header>
    <Snippet>
            <Declarations>
                <Literal>
                    <ID>string</ID>
                    <Default>string</Default>
                    <ToolTip>类型名</ToolTip>
                </Literal>
                <Literal>
                    <ID>name</ID>
                    <Default>name</Default>
                    <ToolTip>属性名</ToolTip>
                </Literal>
            </Declarations>
      <Code Language="csharp" kind="method decl"><![CDATA[public $string$ $name$
{
    set
    {
         _$name$=value;
         OnPropertyChanged("$name$");
    }
    get
    {
         return _$name$;
    }
}
$slected$ $end$
private $string$ _$name$;]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>cla</Title>
      <Author>lindexi</Author>
      <Description></Description>
      <Shortcut>cla</Shortcut>
    </Header>
    <Snippet>
            <Declarations>
                <Literal>
                    <ID>name</ID>
                    <Default>name</Default>
                    <ToolTip></ToolTip>
                </Literal>
            </Declarations>
      <Code Language="csharp" kind="method decl"><![CDATA[
/// <summary>
///
/// </summary>
public class $name$
{
        public $name$()
        {

        }
$slected$ $end$
}
]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    UE4vs代码段.zip

    "UE4vs代码段.zip" 文件集合就是这样一个实用资源,它包含了一些预定义的代码片段,可以帮助开发者快速实现特定功能,提高开发效率。 首先,让我们详细了解一下这些代码段的具体内容: 1. **快捷创建碰撞事件的三...

    C# 代码段 官方扩充的代码段

    在编程领域,代码段(Code Snippets)是一种非常实用的功能,尤其对于提高开发效率而言。在C#编程中,代码段允许开发者快速插入常见的代码结构,例如循环、条件语句或者常用的类定义,而无需手动编写全部代码。C# ...

    vb.net代码段编辑器

    代码段是编程中一个非常实用的概念,它允许开发者将常用的代码片段存储起来,以便在需要时快速插入,提高了开发效率。"vb.net代码段编辑器"就是这样一个工具,专为VB.NET程序员设计,帮助他们更好地管理和利用这些...

    ASP.NET学习积累的代码段

    ASP.NET学习积累的代码段.rarASP.NET学习积累的代码段.rarASP.NET学习积累的代码段.rarASP.NET学习积累的代码段.rarASP.NET学习积累的代码段.rarASP.NET学习积累的代码段.rarASP.NET学习积累的代码段.rarASP.NET学习...

    超实用的JS代码段-源码.zip

    超实用的JavaScript代码段基于实用、实践、前瞻性、学习的原则,笔者精选了近300段JavaScript代码和400种解决方案,覆盖了几乎所有的脚本处理模块,最大程度地帮助读者学习、实践JavaScript的各个方面,让读者成为一...

    Linux中代码段和数据段的加载

    Linux中代码段和数据段的加载 Linux操作系统中,代码段和数据段的加载是非常重要的知识点。代码段和数据段是程序的基本组成部分,代码段主要存储程序的指令,数据段主要存储程序的变量和数据。Linux中代码段和数据...

    c#代码段(csharp snippets)收集

    这些代码段只是C#编程中的一小部分,实际上,C#的生态系统还包括大量库和框架,如ASP.NET、Entity Framework、Unity3D等,每个都有自己的常见代码段和最佳实践。持续学习和积累C#代码段,能够使开发者更高效地编写高...

    .net的代码段资源

    .NET框架中的代码段资源是一种非常实用的开发工具,它们允许开发者快速输入和插入常见的代码模式,从而提高编程效率。在给定的压缩包文件中,我们看到一个名为"BellwareNUnit.snippet"的文件,这暗示了它可能包含与...

    《超实用的jQuery代码段》.(周敏).[PDF]@ckook

    《超实用的jQuery代码段》精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台...

    超实用的Node.js代码段

    资源名称:超实用的Node.js代码段内容简介:《超实用的Node.js代码段》精选300余段Node.js代码,涵盖了服务器端脚本开发中的绝大多数要点、技巧与方法,堪称史上最实用的Node.js框架开发方面的参考书籍,是网站建设...

    超实用的jQuery代码段

    《超实用的jQuery代码段》精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台...

    Visual Studio C# 代码段

    Visual Studio C# 代码段,可以直接使用的代码段模块,而不是编辑代码段的工具. &lt;Header&gt; &lt;Title&gt;simple singleton&lt;/Title&gt; &lt;Shortcut&gt;sngltn &lt;Author&gt;Matias Wald &lt;Description&gt;simple ...

    陈灯可重用代码段管理器VS插件版4.0

    陈灯可重用代码段管理器为一款个人软件作品,其可作为一款个人和团队内部的代码段管理软件使用,实现了可重用代码段的入库、搜索和共享等功能。软件具有代码搜索准确方便、代码颜色标识、搜索词导航以及类似Google的...

    《超实用的jQuery代码段》 PDF

    《超实用的jQuery代码段》精选近350个jQuery代码段,涵盖页面发中绝大多数要、技巧与方法,堪称*实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台、跨设备、...

    推荐两个代码段编辑器

    在IT领域,选择一款合适的代码段编辑器对于程序员和开发者来说至关重要。代码段编辑器能够帮助我们高效地管理和重用代码片段,提升编程效率。在众多的代码编辑工具中,"SnippyDog"受到了您的推荐。下面将详细介绍这...

    超实用的css代码段 源码

    "超实用的css代码段"是一本由赵荣娇和任建智编著的书籍,旨在提供一系列实际、高效的CSS代码示例,帮助开发者提升网站设计和布局的能力。这本书的源码可能是为了读者能够更直观地理解并应用这些代码段。 首先,CSS...

    线程同步的三种方式,事件,关键代码段,互斥变量,3个示例工程

    本篇文章将详细讲解三种主要的线程同步机制:事件、关键代码段和互斥变量,并通过实例来展示它们的用法。 1. 事件(Event): 事件是一种信号机制,允许一个线程通知其他线程发生了某个特定的事件。在Windows API中...

    《超实用的jQuery代码段》周敏(作者)epub

    本书精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。本书的代码跨平台、跨设备、跨浏览器,充分向读者演示了如何...

    400个超实用的CSS代码段

    【标题】"400个超实用的CSS代码段"是一个集合了大量实用CSS技巧和样例的资源,旨在帮助开发者提升网页设计和布局的能力。CSS(层叠样式表)是网页设计的核心技术之一,用于定义HTML或XML(包括如SVG、MathML等各种...

Global site tag (gtag.js) - Google Analytics