Можно ли вставить многострочный фрагмент кода относительно позиции курсора в Visual Studio? - PullRequest
6 голосов
/ 28 января 2009

При использовании фрагментов кода в Visual Studio, содержащих несколько строк, следующие строки сохранят пробел, заданный в файле .snippet, вместо позиционирования кода относительно исходного расположения курсора.

При использовании фрагмента foreach вы получите следующий код:

    foreach (var item in collection)
{

}

Вместо:

    foreach (var item in collection)
    {

    }

Есть ли способ изменить это поведение? Есть ли ключевое слово, которое необходимо использовать в файле .snippet?

Ответы [ 2 ]

3 голосов
/ 28 января 2009

Кодовая часть файла сниппета содержится в CDATA, который сохраняет пробелы. Лучшее, что я могу вам сказать, - это зайти в файл и отредактировать его в соответствии с вашими потребностями. Единственный вариант - быстро набрать Ctrl + K и Ctrl + D после использования фрагмента кода для автоматического форматирования кода, который исправит отступ.

1 голос
/ 28 марта 2011

Редактировать файлы фрагментов:

  1. Откройте какой-нибудь текстовый редактор, например блокнот, от имени администратора
  2. Откройте файл сниппета, который вы хотите исправить, например, foreach.snippet. (Находится в C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC # \ Snippets \ 1033 \ Visual C # на моем компьютере)
  3. Удалите ведущие выступы элемента кода. Поэтому измените элемент Code ... xml с:

            <Code Language="csharp"><![CDATA[foreach ($type$ $identifier$ in $collection$)
            {
                $selected$ $end$
            }]]>
            </Code>
    

до:

            <Code Language="csharp"><![CDATA[foreach ($type$ $identifier$ in $collection$)
{
    $selected$ $end$
}]]>
            </Code>
...