C#自定义代码段功能

| 我有这样的代码片段结构:
    private $type$ $lowercaseName$;
    public $type$ $uppercaseName$
    {
        get { return $lowercaseName$; }
        set { $lowercaseName$ = value; }
    }
它会生成如下内容:
    private string randomValue;
    public string RandomValue
    {
        get { return randomValue; }
        set { randomValue = value; }
    }
那是一个过于简化的版本...确实要复杂得多...还要输入更多的信息。如果您可以键入
$uppercaseName$
,然后自定义代码段函数将值分配给
$lowercaseName$
.... 但是,甚至有可能编写自定义代码段功能吗?我在文档中什么都没有看到... 如果可能的话...怎么办?     
已邀请:
这还不可能。请参阅有关2010年的建议,但该建议被拒绝了。 http://connect.microsoft.com/VisualStudio/feedback/details/523601/allow-custom-code-snippet-functions 似乎在引入摘要时就建议使用此功能,并且已在每个版本中都建议使用此功能,然后拒绝说它们没有足够的时间。     
我没有使用具有camelCase字段和PascalCase属性的约定,而是采用了使用前导下划线表示支持字段的约定。以下代码段适用于我。
public $type$ $property$
{
    get { return _$property$;}
    set { _$property$ = value;}
}
private $type$ _$property$;
$end$
并且,为了避免使用“下划线是前缀而前缀是不好的”神圣的战争,我相信它比起前缀更像是约定俗成,就像属性v。参数的首字母v。首字母缩写。任何在字段的关联属性实现之外使用带下划线的字段都应该是代码异味。     
我的答案是Resharper。实时模板。 具有此限制非常令人讨厌,但是与许多其他Visual Studio限制一样,Resharper也提出了此限制。这是一种性能消耗,因此我在关闭代码分析的情况下进行操作。这样速度是可以接受的,并且实时模板可以节省大量时间。 使用LIKE Resharper这样的工具还可以使您成为一个出色的编码器,这大约有二十个很好的理由。 如果没有Resharper,我将无法再写“ hello world”……而如果没有Reflector = P,我将无法调试它。 另外,转到Extension Manager,然后单击Online Gallery。在搜索框中输入\“ snippet \”,那里有一些看起来可能免费的工具:)。扩展画廊是纯生产力的黄金。     
我还建议使用_前缀作为属性的私有变量。有时我希望Microsoft允许对属性内部的私有变量进行范围界定,如下所示,以防止在属性外部进行访问。
public string RandomValue
{
    private string randomValue;
    get { return randomValue; }
    set { randomValue = value; }
}
    

要回复问题请先登录注册