2010-02-15 61 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> 
相關問題