当前位置:  开发笔记 > 编程语言 > 正文

您使用什么ReSharper 4+ C#的实时模板?

如何解决《您使用什么ReSharper4+C#的实时模板?》经验,为你挑选了16个好方法。

你使用什么ReSharper 4.0 C#模板?

让我们用以下格式分享这些:


[标题]

可选说明

快捷方式:快捷方式适用
于: [可用性设置]

// Resharper template code snippet
// comes here

宏属性(如果存在):

Macro1 - Value - EditableOccurence

Macro2 - Value - EditableOccurence


请回答一个宏!

以下是NUnit测试夹具和Standalone NUnit测试用例的一些示例,它们以建议的格式描述实时模板.

Sean Kearon.. 30

简单的Lambda

如此简单,如此有用 - 一点点lambda:

捷径:x

可用:C#,其中允许表达式.

x => x.$END$

宏:没有.



1> Sean Kearon..:

简单的Lambda

如此简单,如此有用 - 一点点lambda:

捷径:x

可用:C#,其中允许表达式.

x => x.$END$

宏:没有.



2> Ed Ball..:

实现'Dispose(bool)'方法

实现Joe Duffy的Dispose模式

捷径:处置

可用于:允许类型成员声明的C#2.0+文件

public void Dispose()
{
    Dispose(true);
    System.GC.SuppressFinalize(this);
}

protected virtual void Dispose(bool disposing)
{
    if (!disposed)
    {
        if (disposing)
        {
            if ($MEMBER$ != null)
            {
                $MEMBER$.Dispose();
                $MEMBER$ = null;
            }
        }

        disposed = true;
    }
}

~$CLASS$()
{
    Dispose(false);
}

private bool disposed;

宏属性:

成员 - 建议System.IDisposable的变量 - 可编辑的出现#1

CLASS - 包含类型名称



3> Rinat Abdull..:

为某种类型创建新的单元测试夹具

快捷方式: ntf
可用于: C#2.0+文件,其中允许使用类型成员声明或名称空间声明

[NUnit.Framework.TestFixtureAttribute]
public sealed class $TypeToTest$Tests
{
    [NUnit.Framework.TestAttribute]
    public void $Test$()
    {
        var t = new $TypeToTest$()
        $END$
    }
}

宏:

TypeToTest - 无 - #2

测试 - 无 - V



4> Sean Kearon..:

检查字符串是空还是空.

如果你使用.Net 4,你可能更喜欢使用string.IsNullOrWhiteSpace().

捷径:偷偷摸摸

可用于:允许表达式的C#2.0+.

string.IsNullOrEmpty($VAR$)

宏属性:

VAR - 建议一个类型为string的变量.Editible = true.



5> Rinat Abdull..:

创建新的独立单元测试用例

快捷方式: ntc
可用于:允许类型成员声明的C#2.0+文件

[NUnit.Framework.TestAttribute]
public void $Test$()
{
    $END$
}

宏:

测试 - 无 - V



6> Chris Brands..:

为当前类型声明log4net记录器.

快捷方式:日志

可用于:允许类型成员声明的C#2.0+文件

private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof($TYPE$));

宏属性:

TYPE - 包含类型名称



7> Vaccano..:

MS测试单元测试

新的MS测试单元测试使用AAA语法和单元测试艺术中的命名约定

快捷方式:测试(或tst,或任何你想要的)
可用于:允许类型成员声明的C#2.0+文件

[TestMethod]
public void $MethodName$_$StateUnderTest$_$ExpectedBehavior$()
{
    // Arrange
    $END$

    // Act


    // Assert

}

宏属性(如果存在):

MethodName - 要测试的方法的名称

StateUnderTest - 您要测试的州

ExpectedBehavior - 你期望发生什么



8> Chris Dogget..:

检查变量是否为空

快捷方式: ifn适用
于: C#2.0+文件

if (null == $var$)
{
    $END$
}

检查变量是否为空

快捷方式: ifnn适用
于: C#2.0+文件

if (null != $var$)
{
    $END$
}


从C++到C#的过渡如何对待你?

9> Kjetil Klaus..:

Assert.AreEqual

用于将断言添加到单元测试的简单模板

快捷方式:ae适用
:C#2.0+文件中允许使用语句

Assert.AreEqual($expected$, $actual$);$END$

流利版本:

Assert.That($expected$, Is.EqualTo($actual$));$END$



10> Dmitrii Loba..:

为类构造函数编写符合StyleCop的摘要

(如果您厌倦了为每个构造函数不断输入长标准摘要,那么它符合StyleCop规则SA1642)

捷径: csum

适用于: C#2.0+

Initializes a new instance of the  class.$END$

宏:

classname - 包含类型名称 - V.



11> James Kovacs..:

很多Lambdas

使用不同的变量声明创建lambda表达式以便于嵌套.

捷径: la,lb,lc

可用于:允许表达式或查询子句的C#3.0+文件

la定义为:

x => x.$END$

lb定义为:

y => y.$END$

lc定义为:

z => z.$END$

这与上面的Sean Kearon相似,除了我定义了多个lambda live模板以便于lambdas的嵌套." la "是最常用的,但在处理像这样的表达式时,其他一些很有用:

items.ForEach(x => x.Children.ForEach(y => Console.WriteLine(y.Name)));



12> James Kovacs..:

等等......

在控制台应用程序结束之前暂停用户输入.

捷径:暂停

可用于: C#2.0+文件,其中允许使用语句

System.Console.WriteLine("Press  to exit...");
System.Console.ReadLine();$END$



13> Jonas Van de..:

依赖属性生成

生成依赖项属性

快捷方式: dp适用
于: C#3.0,允许成员声明

public static readonly System.Windows.DependencyProperty $PropertyName$Property =
        System.Windows.DependencyProperty.Register("$PropertyName$",
                                                   typeof ($PropertyType$),
                                                   typeof ($OwnerType$));

    public $PropertyType$ $PropertyName$
    {
        get { return ($PropertyType$) GetValue($PropertyName$Property); }
        set { SetValue($PropertyName$Property, value); }
    }

$END$

宏属性(如果存在):

PropertyName - 无宏 - #3
PropertyType - 此时预期的猜测类型 - #2
OwnerType - 包含类型名称 - 无可编辑的出现



14> womp..:

Quick ExpectedException快捷方式

只是添加到我的单元测试属性的快捷方式.

捷径:ee

可用于:可用于:允许类型成员声明的C#2.0+文件

[ExpectedException(typeof($TYPE$))]



15> Sean Kearon..:

通知属性已更改

这是我的最爱,因为我经常使用它,它为我做了很多工作.

捷径:npc

可用于:允许表达式的C#2.0+.

if (value != _$LOWEREDMEMBER$)
{
  _$LOWEREDMEMBER$ = value;
  NotifyPropertyChanged("$MEMBER$");
}

:

成员 - 包含成员类型名称.不可编辑.注意:确保此列表中的第一个.

LOWEREDMEMBER - 第一个字符为小写的MEMBER值.不可编辑.

用法:在这样的属性设置器中:

private string _dateOfBirth;
public string DateOfBirth
{
   get { return _dateOfBirth; }
   set
   {
      npc<--tab from here
   }
}

它假定您的支持变量以"_"开头.用你使用的任何东西替换它.它还假设您有一个属性更改方法,如下所示:

private void NotifyPropertyChanged(String info)
{
   if (PropertyChanged != null)
   {
      PropertyChanged(this, new PropertyChangedEventArgs(info));
   }
}

实际上,我使用的这个版本是基于lambda的('我喜欢我的lambdas!)并产生以下内容.原理与上述相同.

public decimal CircuitConductorLive
{
   get { return _circuitConductorLive; }
   set { Set(x => x.CircuitConductorLive, ref _circuitConductorLive, value); }
}

就在那时,我没有使用非常优雅和有用的PostSharp来完成整个INotifyPropertyChanged的事情.



16> David Longne..:

AutoMapper属性映射

捷径: fm

可用于: C#2.0+文件,其中允许使用语句

.ForMember(d => d$property$, o => o.MapFrom(s => s$src_property$))
$END$

宏:

property - 可编辑的事件

src_property - 可编辑的事件

注意:

我把lambda"点"留下来让我可以击中.立即获得属性intellisense.需要AutoMapper(http://automapper.codeplex.com/).

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有