VS Code Snippet

  • 310
  • 0

由於 Unit test 需要頻繁地建立對應 method,那這邊藉由建立 code snippet 來減少過程的時間花費並提供一致的風格給其他成員使用。

推薦工具 : Snippet Designer

Snipppet Designer 目前我有使用的相關功能

Create Snippet :

  • File > New File​
  • 編輯 Code Snippet 範本
  • 其中 Shortcut 使我們可以快速呼叫的別稱
  • 效果
  • 而 $end$ 屬於保留字,當觸發 Code Snippet 並點擊 Enter 時,光標會跳到對應的位置

透過上面的方式我們可以就可以建立專屬的 Code Snippet


Search Snippet : View > Other Window > Snippet Explorer

  • 可以查詢對應得 Code Snippet​

最後透過 VS Code Snippets Manager 把 Snippet 腳本匯入即可使用。

PS : 如果不使用工具,就透過 xml 拿取對應的範本進行編輯即可,範例如下 : 

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
      <Title>Test Method Template</Title>
      <Shortcut>mytestm</Shortcut>
      <Description>Code snippet for a test method with 3A</Description>
      <Author>anomo06822</Author>
    </Header>
    <Snippet>
	  <Imports>
        <Import>
          <Namespace>Microsoft.VisualStudio.TestTools.UnitTesting</Namespace>
        </Import>
      </Imports>
      <Declarations>
        <Literal Editable="false">
          <ID>TestMethod</ID>
          <ToolTip>TestMethod</ToolTip>
          <Default>TestMethod</Default>
          <Function>SimpleTypeName(global::Microsoft.VisualStudio.TestTools.UnitTesting.TestMethod)</Function>
        </Literal>
        <Literal Editable="true">
          <ID>UnitOfWork</ID>
          <ToolTip>UnitOfWork</ToolTip>
          <Default>UnitOfWork</Default>
          <Function>
          </Function>
        </Literal>
        <Literal Editable="true">
          <ID>Scenario</ID>
          <ToolTip>Scenario</ToolTip>
          <Default>Scenario</Default>
          <Function>
          </Function>
        </Literal>
        <Literal Editable="true">
          <ID>ExpectedBehavior</ID>
          <ToolTip>ExpectedBehavior</ToolTip>
          <Default>ExpectedBehavior</Default>
          <Function>
          </Function>
        </Literal>
      </Declarations>
      <Code Language="csharp" Delimiter="$"><![CDATA[[$TestMethod$]
      public void $UnitOfWork$_$Scenario$_$ExpectedBehavior$()
      {
          ////arrange
          $end$
          ////act

          ////assert

      }]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

 

 


如果有任何錯誤或者引用問題請麻煩告知 !!!