Автоматически создавать #регион с тем же именем в #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, а не из вставки фрагмента меню?
Ответы
Ответ 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