2014-02-25 6 views
13

설정 클래스에 대한 필드를 생성하기 위해 일부 스 니펫을 작성했습니다. 지금은 2 개의 변수 - $setting$$Setting$ -을 사용하여 속성 및지지 필드의 이름을 생성합니다. 유일한 차이점은 뒷받침 필드가 항상 하위 사례 버전이므로 하나의 변수를 사용하는 것입니다.Visual Studio 코드 스 니펫 변수를 소문자로 변환하는 방법은 무엇입니까?

현재 코드 :

string $setting$; 

/// <summary> 
/// Gets the $bigComment$. 
/// </summary> 
/// <value>The $smallComment$.</value> 
public string $Setting$ 
{ 
    get 
    { 
     if (String.IsNullOrEmpty($setting$)) 
     { 
      $setting$ = CFW.Common.Configuration.GetAppSetting("$Setting$", $defaultValue$); 
     } 

     return $setting$; 
    } 
} 

이 가능합니까?

답변

4

코드 조각의 리터럴을 변경할 수 없습니다 :

그래서 당신은 이런 일이있을 것이다. 스위치 문과 EnumerationLiteral 매개 변수에 의해 지정된 열거 형의 멤버에 대한 case 문 세트를 생성 -

GenerateSwitchCases : 일부 기능이 있습니다. EnumerationLiteral 매개 변수는 열거 형 리터럴에 대한 참조이거나 열거 형이어야합니다.

클래스 이름 - 삽입 된 스 니펫을 포함하는 클래스의 이름을 반환합니다.

SimpleTypeName - 코드 단편이 호출 된 컨텍스트에서 TypeName 매개 변수를 가장 간단한 형식으로 줄입니다.

그러나 리터럴을 수정할 수 없습니다.

출처 : http://msdn.microsoft.com/en-us/library/ms242312(v=vs.110).aspx

-2

the official MSDN docs에 따르면 스 니펫 변수의 기본값은 변수 이름을 사용하지 않고 스 니펫의 XML에 정의해야합니다.

<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/CodeSnippet"> 
    <CodeSnippet> 
     <Header> 
      <!-- Add header information here --> 
     </Header> 
     <Snippet> 
      <!-- Add additional Snippet information here --> 
      <Declarations> 
       <Literal> 
        <ID>SettingsField</ID> 
        <ToolTip>The settings field.</ToolTip> 
        <Default>settings</Default> 
       </Literal> 
       <Object> 
        <ID>SettingsProperty</ID> 
        <ToolTip>The settings property.</ToolTip> 
        <Default>Settings</Default> 
       </Object> 
      </Declarations> 
      <Code Language="CSharp"> 
       <![CDATA[ 
        Snippet code with $SettingsField$ and $SettingsProperty$ 
       ]]> 
      </Code> 
     </Snippet> 
    </CodeSnippet> 
</CodeSnippets> 
+4

그래, 알아. 문제는, 첫 번째 문자의 대소 문자 만 다른 점 때문에 $ SettingsField $와 $ SettingsProperty $ 모두에 하나의 리터럴을 사용하고 싶습니다. –

+0

Visual Studio에서 자동으로 하나의 변수를 다른 변수의 camelCase 버전으로 만들려면 그럴 수 없습니다. 그렇지 않으면 ... 어떻게 생성 된 코드가 보이겠습니까? 다른 회원은 같은 이름을 가질 수 없습니다. –

+3

@SolalPirelli 소문자뿐만 아니라 낙타 판을 원할 때 많은 예제가 있습니다. – BenRacicot