2010-02-15 28 views
9

我想写一个Visual Studio代码片段,让我快速创建一个类的形式为:Visual Studio:是否可以定义用于自己的代码片段的自定义函数?

public SomeClass 
{ 
    public SomeType SomeProperty { get; private set; } 
    public SomeClass(SomeType someProperty) { SomeProperty = someProperty; } 
} 

我想在构造函数中的参数具有相同的名称属性,但是是小写字母, 。我不想输入名称两次。我该怎么做?

我已经看了XML内容片断,我发现有可以使用的某些功能。例如,内置的“开关”代码段包含以下指令:

<Function>GenerateSwitchCases($expression$)</Function> 

this MSDN documentation page,有三个内置的功能,你可以在这个<Function>标签使用。不幸的是,他们都没有做我想要的(小写第一个字母)。是否有可能定义一个函数,然后我可以在我的代码片段中使用?

+0

人,我只是试图做几乎同样的事情!哎呀! – 2011-03-29 20:39:22

+0

看到这样的回答: http://stackoverflow.com/questions/5663569/c-custom-code-snippet-functions – ballombert 2011-09-23 22:09:37

回答

5

没有今天这个是不可能在Visual Studio。片段函数的定义和执行由C#语言服务直接控制。它目前不是一个可扩展性点。但它正在考虑未来版本的产品。

+0

是吗?你确定?有一个Microsoft连接后认为这被认为是“下一个版本”的注释,但这一评论是从2005年,也有过因为两个下版本... – Timwi 2010-02-17 14:54:19

+0

@Timwi,100%肯定。 – JaredPar 2010-02-17 20:15:30

+0

为了清楚起见,我的意见是指在其中声称“它被认为是未来版本的”你的最后一句话。我不相信这是事实。 – Timwi 2010-02-23 17:59:00

-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> 
相关问题