我想编写一个Visual Studio片段,它允许我快速创建一个表格类:
public SomeClass
{
public SomeType SomeProperty { get; private set; }
public SomeClass(SomeType someProperty) { SomeProperty = someProperty; }
}
我希望构造函数上的参数与属性具有相同的名称,但是低级的。我不想两次输入名称。我该怎么做?
我已经查看过XML的片段,我发现可以使用某些函数。例如,内置的“switch”代码段包含以下指令:
<Function>GenerateSwitchCases($expression$)</Function>
根据this MSDN documentation page,您可以在此<Function>
标记中使用三种内置函数。不幸的是,他们都没有做我想要的(小写第一个字母)。是否可以定义一个我可以在我的代码片段中使用的函数?
答案 0 :(得分:5)
今天在Visual Studio中无法做到这一点。片段函数的定义和执行由C#语言服务直接控制。它目前不是一个可扩展点。不过,它正在考虑该产品的未来版本。
答案 1 :(得分:-3)
查看这篇文章,了解如何创建一个代码片段,该代码片段定义可以多次使用且只需键入一次的变量:http://www.switchonthecode.com/tutorials/csharp-tutorial-visual-studio-code-snippets
<Snippet>
<Declarations>
<Literal>
<ID>startTime</ID>
<ToolTip>Beginning Time Variable</ToolTip>
<Default>startTime</Default>
</Literal>
<Literal>
<ID>message</ID>
<ToolTip>Replace This With Your Description</ToolTip>
<Default>My function</Default>
</Literal>
<Literal Editable="false">
<ID>DiagnosticsDebug</ID>
<Function>
SimpleTypeName(global::System.Diagnostics.Debug)
</Function>
</Literal>
</Declarations>
<Code Language="CSharp">
<![CDATA[
long $startTime$ = Environment.TickCount;
$selected$ $end$
$DiagnosticsDebug$.WriteLine(String.Format(
"$message$ took {0} ticks.", Environment.TickCount - $startTime$));
]]>
</Code>
</Snippet>