【发布时间】:2018-03-28 21:03:53
【问题描述】:
我正在尝试创建一个 sn-p,它为该字段创建一个字段和一个属性。 我想对字段使用 pascalCase,对属性使用 CamelCase,我希望 sn-p 自动执行此操作。如果我创建两个不同的文字并手动编写字段名称和属性名称,我可以做到这一点,有没有办法自动“创建”具有大写首字母的属性名称,名称取自名称领域?
这是我当前的 sn-p 代码:
<CodeSnippet Format="1.0.0">
<Header>
<Title>Property etc</Title>
<Shortcut>fprop</Shortcut>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>type</ID>
<Default>int</Default>
</Literal>
<Literal>
<ID>name</ID>
<Default>propertyName</Default>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[private $type$ $name$;
public $type$ $name$ <<<<--- this $name$ must have its first letter capitalized in the final result
{
get
{
return this.$name$;
}
set
{
this.$name$ = value;
}
}
$end$]]>
</Code>
</Snippet>
这是预期的结果:
private int propertyName;
public int PropertyName
{
get
{
return this.propertyName;
}
set
{
this.propertyName = value;
}
}
如果我为字段使用不同的名称,例如“someFieldName”,则属性的名称应自动变为 SomeFieldName(当然是在创建 sn-p 时)
我知道如果我使用两个单独的 Literals 可以做到这一点,但是我必须手动编写字段的名称,然后还要编写属性的名称,我想避免手动编写属性名称。
【问题讨论】:
-
我认为目前无法在 Visual Studio 代码中更改输入。您可以将此作为一个问题(一项新功能)提出来,然后等待他们对此做出回应。
标签: visual-studio code-snippets