Подтвердить что ты не робот

Автоматически создавать #регион с тем же именем в #endregion

Мне интересно, есть ли способ сделать #region Some Region #endregion Some Region. Если нет способа сделать это, возможно, возможно ли это с помощью Resharper?

Надеюсь, что я понимаю, чего я пытаюсь достичь здесь.

Edit:

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
    <Header>
        <Title>#region</Title>
        <Shortcut>#region</Shortcut>
        <Description>Code snippet for #region</Description>
        <Author>Microsoft Corporation</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 $name$
    $selected$ $end$
#endregion $name$]]>
        </Code>
    </Snippet>
</CodeSnippet>
</CodeSnippets>

Второе редактирование: Он работает, но только когда я делаю фрагмент вставки. Из intellisense это использование некоторых других фрагментов.

Итак, есть способ добавить мой регион из intellisense, а не из вставки фрагмента меню?

4b9b3361

Ответ 1

Если вы пытаетесь добиться успеха,...

#region MyRegion
//...lots of code...
#endregion // end of MyRegion

Вы можете сделать это с помощью так называемого фрагмента "SurroundsWith". Вот такой фрагмент из моей библиотеки...

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippet Format="1.0.0"    
   xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <Header>
    <Title>Enregions a block of code</Title>
    <Author>GJV</Author>
    <Shortcut>enr</Shortcut>
    <Description>Surrounds a block of code with region directives</Description>
    <SnippetTypes>
      <SnippetType>SurroundsWith</SnippetType>
      <SnippetType>Expansion</SnippetType>
    </SnippetTypes>
  </Header>
  <Snippet>
    <Declarations>
      <Literal Editable="True">
        <ID>RegionName</ID>
        <ToolTip>Region Name</ToolTip>
        <Default>MyRegion</Default>
      </Literal>
    </Declarations>
    <Code Language="CSharp">  
    <![CDATA[
    #region $RegionName$
    $end$         
    $selected$    
    #endregion // end of $RegionName$ 
    ]]>        
    </Code>
  </Snippet>
</CodeSnippet>

Чтобы использовать его в Visual Studio, поместите фрагмент в файл .snippet и сохраните его в своем каталоге фрагментов, а затем перейдите в Инструменты = > Менеджер фрагментов кода = > Добавить. После его добавления вы можете использовать стандартный CTRK K + X для доступа к нему.

Единственное, что дает вам встроенный фрагмент кода для региона, - это гибкость добавления комментария к завершению, чтобы указать конец региона. Вы также можете настроить его, добавив дополнительные расширения.

ПРИМЕЧАНИЕ. Отрицательные $end $метки, где вы хотите, чтобы курсор приземлился, когда операция завершена.

Ответ 2

Visual Studio 2017

Введите #r TAB TAB, затем введите имя области.

Это построено в поведении.

Ответ 3

Вы можете изменить шаблон по умолчанию для ReSharper для #region:

#region $name$
    $END$
#endregion $name$

Update:

Странно, но если вы измените шаблон #region по умолчанию, ничего не получится. Вам необходимо определить свой собственный шаблон, установить для него фрагмент (т.е. Reg) и поместить в него код, написанный выше.

Ответ 4

Я рекомендую VSCommands.

Посмотрите на часть "Усовершенствования надстрочного кода блока кода"

Изменить 25.08.2014

Он поместит начало блока кода (имя метода aso.) как светло-серая гиперссылка в конце кодового блока. Как гиперссылка, потому что она доступна для кликов, и вы можете перейти к началу кода.

Ответ 5

Встроенная версия Visual Studio - это Ctrl K + X

Ответ 6

нажмите Control + K, S и выберите Region

Ответ 7

Вам не нужно.

Вы можете просто сделать это:

#region Some Region
//I
//am
//assuming
//a
//lot
//of
//code
//you
//want
//to
//hide
//goes
//here
//here
#endregion
//note that it doesn't say Some Region in the endregion