在Visual Studio中自动将区域添加到代码

Eri*_*cup 9 c# visual-studio-2010 region visual-studio-macros

我的团队非常喜欢使用区域,考虑到这一点,它几乎成为我们代码中事实上的标准.我最近意识到,每次创建类,测试方法等时,我都会厌倦写或ctrl + c/ctrl + v'ing这些...

我想知道是否有可能(通过宏或其他功能)让Visual Studio自动将这些添加到您的代码中.

例如,如果我向项目添加一个新的类文件,你可以执行某种魔术让visual studio生成文件:

namespace Test
{
    class MyClass
    {
        #region ------------ members --------------
        #endregion

        #region ------------ properties --------------
        #endregion

        #region ------------ methods --------------
        #endregion
    }
}
Run Code Online (Sandbox Code Playgroud)

我真的对目前不知道如何做到这一点感到恼火,那就是我正在编写单元测试.这可能有点棘手,但我试图找到一种方法来自动添加--set up----run test--区域测试方法,因为我们的团队坚持使用它们.

所以,当我去创建一个新的测试方法时

[TestMethod]
public void WhenCondition_WillProduceExpectedResult()
{
}
Run Code Online (Sandbox Code Playgroud)

Visual Studio会自动将这两个区域添加到方法中,例如:

[TestMethod]
public void WhenCondition_WillProduceExpectedResult()
{
   #region ------------- set up -------------
   #endregion 

   #region ------------- run test -------------
   #endregion 
}
Run Code Online (Sandbox Code Playgroud)

不确定是否可以这样做,如果可以的话,是通过vs-macro还是扩展.任何帮助深表感谢!

Gla*_*ius 17

您可以创建一个简单的代码片段,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
    xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Simple</Title>
      <Shortcut>simple</Shortcut>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Declarations>
        <Literal>
          <ID>name</ID>
          <ToolTip>Replace with the name of the action</ToolTip>
          <Default>Action</Default>
        </Literal>
      </Declarations>
      <Code Language="csharp">
        <![CDATA[
        public void $name$()
        {
            #region ------------- set up -------------
            #endregion 

            #region ------------- run test -------------
            #endregion 
        }
        ]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
Run Code Online (Sandbox Code Playgroud)

将该文件保存到C:\Users\<your_user>\Documents\Visual Studio 2010\Code Snippets\Visual C#\My Code Snippets.

现在您只需要重新打开Visual Studio,在类中键入"simple"并按两次Tab键.