VS2008 스 니펫에서 대문자를 강제하는 방법?
-
20-09-2019 - |
문제
다음과 같은 스타일의 속성을 만들었습니다 (후원 필드 포함).
private _firstName;
public string FirstName
{
get { return _firstName; }
set { _firstName = value; }
}
속성의 이름이 백업 필드의 이름과 유사하다는 점을 감안할 때 내장을 개선했습니다. prop
다음과 같은 스 니펫 :
<?xml version="1.0"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>prop</Title>
<Author>Frank Rizzo</Author>
<Description>Code snippet for property and backing field - changed one (not the original).</Description>
<Shortcut>prop</Shortcut>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>type</ID>
<ToolTip>Property type</ToolTip>
<Default>int</Default>
</Literal>
<Literal>
<ID>property</ID>
<ToolTip>Property name</ToolTip>
<Default>MyProperty</Default>
</Literal>
<Literal>
<ID>field</ID>
<ToolTip>The variable backing this property</ToolTip>
<Default>myVar</Default>
</Literal>
</Declarations>
<Code Language="CSharp"><![CDATA[private $type$ _$field$;
public $type$ $field$
{
get { return _$field$;}
set { _$field$ = value;}
}
$end$
]]></Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
이것은 어느 정도 작동하지만 후원 필드와 속성 이름의 케이싱은 항상 동일합니다. 내 컨벤션에서와 마찬가지로 후원 필드는 낙타가 적용되며, 여기서 속성 이름은 파스칼 케이스입니다.
그래서 내 질문은 이것입니다 : 스 니펫 구문은 재산의 첫 글자를 변경하여 스 니펫이 내 컨벤션을 준수 할 수있는 방법이 있습니까?
해결책
불행히도 이것은 아직 불가능합니다 (아직).
바라건대, 그것은 미래의 Visual Studio에서 가능할 것입니다.
다른 팁
<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<Header>
<Title>Code File Header</Title>
<Author>Муся</Author>
<Shortcut>codehead</Shortcut>
<Description>Гавнокодец</Description>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>Name</ID>
<Default>Header</Default>
</Literal>
<Literal>
<ID>LowerName</ID>
<Default>header</Default>
</Literal>
<Literal>
<ID>Type</ID>
<Default>object</Default>
</Literal>
</Declarations>
<Code Language="CSharp">
<![CDATA[
public $Type$ $Name$
{
get { return $LowerName$; }
set
{
$LowerName$ = value;
OnPropertyChanged("$Name$");
}
}
$Type$ $LowerName$;
]]>
</Code>
</Snippet>
</CodeSnippet>
제휴하지 않습니다 StackOverflow