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

Любой способ окружения блока кода с помощью Curly Braces {} в VS2008?

Мне всегда нужно заключить блок кода в фигурные скобки {}, но, к сожалению, он не включен в фрагменты кода окружения С#, который, по-видимому, является надзором. Я ничего не мог найти при создании собственных фрагментов окружающего звучания (просто другие виды фрагментов).

Я тоже запускаю Resharper, но, похоже, у этой функции нет (или я не понял, как ее активировать).

У нас есть стандарт кодирования, включающий даже одну строку кода после if или else в фигурных скобках, поэтому, если бы я мог просто заставить Resharper сделать это рефакторинг автоматически это было бы еще лучше!

4b9b3361

Ответ 1

Вот быстрый и грязный фрагмент, чтобы сделать именно это.

Для установки:

Сохраните код как SurroundWithBraces.snippet в "<my documents>\Visual Studio Version\Code Snippets\Visual C#\My Code Snippets"

Для использования:

Выберите блок текста.
Нажмите Ctrl+K, Ctrl+S
Выделите мои фрагменты кода, скобки

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>braces</Title>
      <Shortcut>braces</Shortcut>
      <Description>Code snippet to surround a block of code with braces</Description>
      <Author>Igor Zevaka</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
        <SnippetType>SurroundsWith</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Code Language="csharp">
        <![CDATA[{
        $selected$ $end$
     }]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

Ответ 2

В ReSharper 4.5 фигурные скобки включены как один из встроенных "Surround Templates":

  • Выберите текст, который вы хотите вьться скобки вокруг.
  • ReSharper -> Code -> Surround With... -> {}

    или

    ALT + R -> C -> S -> 7

    или

    Ctrl+E, U -> 7 (схема Visual Studio)

    или

    Ctrl+Alt+J -> 7 (схема ReSharper 2.x/IDEA)

Ответ 3

Как насчет:

Ctrl-X, {, Ctrl-V, }

Вы можете связать это с макросом.

Ответ 4

В VS2015 есть экспериментальная функция, которая поддерживает ее, выбирая текст и печатая в}.

Смотрите здесь, как включить.

Ответ 5

Создайте свой собственный фрагмент кода для этого. Вы можете использовать snippy для создания собственного http://blogs.msdn.com/gusperez/articles/93681.aspx или просто используйте редактор XML для его создания.

Поместите файл в Мои документы \Visual Studio XXXX\Code Snippets\С#\My Code Snippets

Ответ 6

Чтобы выполнить ответ Ray Vega, для тех, кто использует Resharper, я понял, что вы можете связать ярлык с командами Resharper.

Просто выполните следующие действия (я использую VS 2010):

перейдите в Инструменты- > Параметры

В списке выберите "Среда" и нажмите "Клавиатура".

В поле под "Показать команды, содержащие:" введите "resharper.resharper_surroundwith"

В поле под "Нажмите клавиши быстрого доступа" введите свой ярлык (например: Я выбираю Ctrl + R, Ctrl + S) и нажмите "Назначить", а затем "ОК".

Что это. вы можете выбрать свой код и набрать этот shorcut для просмотра всех команд Resharper SurroundWith. Просто введите 7, чтобы поместить фигурные скобки.

Ответ 7

Изменить:. Это оказывается частью DxCore, от DevExpress. Уезжайте сюда, чтобы другие заметили, но в основном я ошибся неправильно. Чтобы убрать это конкретное меню, вы отключите его в диалоговом окне "add ins"; выгрузка devexpress из собственного меню просто выгружает CodeRush/Refactor, а не базовые библиотеки поддержки.

Это (не!) встроенный способ сделать это. Я не знаю, можете ли вы связать с ним ключ или нет. Кроме того, эта вставка ничего не делает, если вы выбираете только одну строку, поэтому она, вероятно, не будет работать правильно, если ваш материал находится на одной строке после "if".

  • Выберите блок
  • Щелкните правой кнопкой мыши
  • Выберите "Вставить выделение"
  • Выберите "Block {}"

Примечание. У меня установлен DexExpress, но это меню существует даже тогда, когда оно не загружено, и я могу поклясться, что он существует, даже когда он не установлен. Однако, если я ошибаюсь...

Это, честно говоря, похоже на что-то, что было бы лучше спросить r # для, возможно, вклад пользователя?