区域自动添加到代码在Visual Studio(Automatically Add Regions

2019-08-03 05:16发布

我的团队绝对喜欢使用的区域,并考虑到这一点它几乎成了我们的代码事实上的标准。 最近,我来到意识到,我已经厌倦写作或CTRL + C / Ctrl +在每一个我创建一个类,测试方法,等时间v'ing这些的?

我想知道是否有可能(通过宏或一些其他功能),以具有Visual Studio自动添加这些到你的代码。

例如,如果我添加一个新的类文件到我的项目,则可在执行某种神奇的Visual Studio生成文件:

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

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

        #region ------------ methods --------------
        #endregion
    }
}

当我真正得到由目前不知道如何做到这一点恼火的是,当我在写单元测试。 这可能是一个有点棘手,但我试图找到一种方式来增加--set up----run test--自动区域试验方法,因为我们的团队是坚定的关于使用它们。

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

[TestMethod]
public void WhenCondition_WillProduceExpectedResult()
{
}

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

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

   #region ------------- run test -------------
   #endregion 
}

不知道这是可以做到的,如果可以,是否会是通过VS宏,或扩展。 任何帮助深表感谢!

Answer 1:

你可以创建一个简单的代码片段,如下列之一:

<?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>

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

现在你只需要重新打开Visual Studio中,键入“简单”到一个类中,按Tab键两次。



Answer 2:

两种方法我知道:

创建一个片断按照这个MSDN指南 。

下载的Visual Studio扩展生产力电动工具 ,其具有“环绕”功能。 这与周围的选定的小片的用户做出选择,例如#region #endregion或if语句。



Answer 3:

不知道为什么这么多的人站出来反对的区域; 他们帮助我非常容易地分类我的代码。 我用的是放置在我的键盘按钮,一个是自动插入地区对我来说是宏。 一个提示我可以给你是把这是否可能每个按键之间的小延迟,因为有时VS错过字符,否则。

希望这可以帮助!



Answer 4:

使用下面的代码片段

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>#Classregion</Title>
      <Shortcut>#Classregion</Shortcut>
      <Description>Code snippet for #Classregion</Description>
      <Author>Author Name</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
        <SnippetType>SurroundsWith</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Declarations>
        <Literal>
          <ID>name</ID>
          <ToolTip>Region name</ToolTip>
          <Default>MyRegion</Default>
        </Literal>
      </Declarations>
      <Code Language="csharp">
        <![CDATA[
        #region ------------- Members ---------------
        $selected$ $end$
    #endregion

  #region --------------- Properties ---------------
        $selected$ $end$
    #endregion

  #region --------------- Methods ---------------
        $selected$ $end$
    #endregion
    ]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

将它保存在C:\用户\\文档\ Visual Studio 2010的\代码段\的Visual C#\我的代码段

后来,它会在C#代码访问,通过右键单击>插入代码>我的代码片断> #Classregion



Answer 5:

我认为,一个区域是一个坏主意,但每一个他自己。

你可能想看看NArrange 。



Answer 6:

如果你有ReSharper的那么文件结构的窗口是管理区域,允许简单的拖放来移动的方法/属性等模块非常方便。 它显示了你的区(这是可折叠)与主代码视图也同步:

https://www.jetbrains.com/help/resharper/Reference__Windows__File_Structure_Window.html

例如,所谓的预览区域如下图所示:



文章来源: Automatically Add Regions to Code in Visual Studio