一、前言
VisualStudio 可以通過敲出縮寫字符串,然后按兩次Tab按鍵自動展開成一段對應語義的代碼。
敲縮寫cw:
然后按兩次Tab會自動展開成
我們可以通過VisualStudio中的代碼段管理器自定義這樣的縮寫字符串和其展開后的字符串。
二、內置片段
點擊 “工具”->“代碼段管理器”
可以看到名稱為”cw“的配置文件定義了上面說的縮寫“cw”的自動自動展開功能。
三、自定義代碼片段
系統內置“class”代碼片段以供我們快速的創建類,但是卻沒有創建方法的代碼段,現在我們自定義一個方法的代碼片段。
1.找到“class”片段的位置並打開
仔細看一下這份XML其實可以發現關鍵的地方就三處.
①上面的Shortcut標簽定義了縮寫字符串。
②中間Declaration標簽定義了所需要的變量。
③<Code>xxx</Code>標簽定義了輸出的格式。
<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>class</Title> <Shortcut>class</Shortcut> <Description>類的代碼片段</Description> <Author>Microsoft Corporation</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> <SnippetType>SurroundsWith</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations> <Literal> <ID>name</ID> <ToolTip>類名</ToolTip> <Default>MyClass</Default> </Literal> </Declarations> <Code Language="csharp"><![CDATA[class $name$ { $selected$$end$ }]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>
2.新建me.snippet文件,並改動為如下內容。
<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>me</Title> <Shortcut>me</Shortcut> <Description>方法的代碼片段</Description> <Author>Microsoft Corporation</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> <SnippetType>SurroundsWith</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations> <Literal> <ID>name</ID> <ToolTip>方法名</ToolTip> <Default>MyMethod</Default> </Literal> </Declarations> <Code Language="csharp"><![CDATA[public void $name$() { $selected$$end$ }]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>
3.導入該代碼片段
4.代碼里敲“me”
5.雙擊Tab自動展開:
So,對於使用非常頻繁又很長的代碼段,就可以通過在VisualStudio中自定義配置文件來減輕自己的工作量啦。
四、其他
<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>ptres</Title> <Shortcut>ptres</Shortcut> <Description>生成POST異步Action返回方法</Description> <Author>Microsoft Corporation</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> <SnippetType>SurroundsWith</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations> <Literal> <ID>name</ID> <ToolTip>方法名</ToolTip> <Default>Action</Default> </Literal> </Declarations> <Code Language="csharp"><![CDATA[ [HttpPost] public async Task<IActionResult> $name$() { $selected$$end$ return Ok(); }]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>
<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>gtres</Title> <Shortcut>gtres</Shortcut> <Description>生成GET異步Action返回方法</Description> <Author>Microsoft Corporation</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> <SnippetType>SurroundsWith</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations> <Literal> <ID>name</ID> <ToolTip>方法名</ToolTip> <Default>Action</Default> </Literal> </Declarations> <Code Language="csharp"><![CDATA[ [HttpGet] public async Task<IActionResult> $name$() { $selected$$end$ return Ok(); }]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>