Как мне отредактировать шаблоны Visual Studio для нового класса / интерфейса C #?


209

Я обнаружил, что удаляю следующие операторы импорта почти во всех файлах C #, создаваемых в Visual Studio:

using System.Collections.Generic;
using System.Linq;
using System.Text;

Конечно, с Resharper это действительно легко сделать, но мне действительно не нужно этого делать.

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

Ответы:


369

Извлечение, редактирование и повторное сжатие. Пути для шаблона класса, но шаблоны интерфейса находятся в той же папке.

Вы можете отредактировать файл шаблона VS в каждом из них, чтобы исключить тот факт, что они не добавляют автоматически ссылки на сборки System, System.Data и / или System.Xml.

2005:

C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\CSharp\1033\Class.zip

2008:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.zip

2010:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.zip

Начиная с Visual Studio 2012, шаблоны не заархивированы, поэтому вы можете редактировать каждый .csшаблон в каждой соответствующей папке напрямую.

2012:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

2013:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

2015:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

2017

VS 2017 меняет расположение каталога и теперь зависит от вашего издания (Professional / Enterprise / и т. Д.). Итак, для редакции Enterprise:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

2019

Местоположение VS 2019 аналогично 2017 году. Так что для редакции Enterprise:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

Ноты

Экспресс издания

В Express Editions вам придется искать в подкаталоге WDExpressвнутри IDEпапки, например, для VS 2015 Express:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\WDExpress\ItemTemplates\CSharp\Code\1033\Class\Class.cs

Другие языки

Если вы не используете английскую версию Visual Studio, папка 1033может не существовать, но другой номер, представляющий ваш язык. Например, это 1031в немецкой установке.


42
Это не всегда отражает эти изменения в Visual Studio. Если это не для вас, отредактируйте файлы в ItemTemplatesCacheкаталоге (в дополнение к ItemTemplates). Например (в 2005 году) C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class.zip\Class.cs. Обратите внимание, что Class.zipэто каталог, а не настоящий ZIP-файл.
Джо

5
Имейте в виду, что обновления пакетов обновлений уничтожат ваш кэш, поэтому убедитесь, что вы сделали его резервную копию, чтобы можно было вернуть его обратно.
sweetfa

3
@Joe: Или заставьте Visual Studio перезагрузить шаблоны, запустив devenv / setup. Выполнение этой команды может занять минуту.
Брайан

4
@Brian devenv.exe / installvstemplates достаточно. По крайней мере для VS 2012. Выполняется во время работы VS.
Лукас

6
Если вы используете ASP.NET/MVC и Visual Studio не получит ваши обновления шаблона, попробуйте отредактировать, а C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\WebClass\Class.cs.затем запустите devenv.exe / installvstemplates.
Дж. Эндрю Лафлин

9

Вы ищете следующий каталог:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp

Каждый шаблон представляет собой ZIP-файл в подпапке 1033(на английском языке) одной из категорий в этой папке. Вы можете редактировать .csфайл внутри ZIP-файла.

Если вы работаете в 32-битной системе, удалите (x86). VS2005 есть Microsoft Visual Studio 8, а VS2010 есть Microsoft Visual Studio 10.0.


Обратите внимание, что эти шаблоны не для каждого пользователя. Вы можете создавать индивидуальные шаблоны, копируя эти файлы ZIP в My Documents\Visual Studio 2008\Templates\ItemTemplates\Visual C#.


1
Спасибо за опцию для пользователя здесь. Обратите внимание, что, по крайней мере с VS2015, нет никаких zip файлов / папок. Мои пути были, C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Classа затем я создал и скопировал ...\Documents\Visual Studio 2015\Templates\ItemTemplates\Visual C#\Code\1033\Class. Visual Studio был закрыт, пока я делал это. И я также выполнил devenv.exe /installvstemplatesкоманду, упомянутую в другом комментарии. Когда я перезапустил VS, мои изменения проявились при создании новых классов. Превосходно!
Sliderhouserules

1

В Visual Studio 2012, чтобы удалить их из файла class.cs по умолчанию, шаблон элемента может выглядеть следующим образом (не включать / удалять с помощью операторов):

Файл шаблона класса по умолчанию: C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Code \ 1033 \ Class \ Class.cs

using System;
namespace $rootnamespace$
{
    class $safeitemrootname$
    {
    }
}

Более подробная информация здесь: http://aaron-hoffman.blogspot.com/2013/05/edit-default-visual-studio-2012-item.html


1

Новые шаблоны классов также могут быть расположены в разных папках, в зависимости от типа проекта. Работая в веб-проекте в VS 2015, я обнаружил, что при редактировании файла

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

Я не смог увидеть никакой разницы в шаблоне по умолчанию при создании нового класса. Это было только после редактирования файла

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\WebClass\Class.cs

что я смог создать новый класс с форматом по умолчанию, который я хотел.


1

Новое дополнение к отличной информации от Сэма Харвелла. Я использую сообщество Visual Studio 2019, и путь к шаблону моего класса такой же, как уже упоминалось, за исключением «Enterprise», которое заменяется на «Community». Так:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class

Также стоит упомянуть, что папка «zip» класса не является zip-файлом в моей установке. Это просто другая папка.

Еще одна «ошибка» в том, что если вы работаете с предварительной версией, она находится в собственной папке «Preview»:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class

Для других шаблонов папка для поиска:

C: \ Program Files (x86) \ Microsoft Visual Studio \ [YEAR] \ [EDITION] \ Common7 \ IDE \ ItemTemplates

Итак, на моей машине это:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\ItemTemplates

[Изменить 10 мая 2020 года]

Вам также необходимо проверить значение «Расположение шаблонов элементов пользователя» в Сервис | Варианты | Проект и решения / Места


Я надеюсь, что это поможет кому-то.


0

Старый вопрос - новый ответ: Извините за, может быть, оскорбительный вопрос: зачем вам это вообще нужно?

Инструменты для повышения производительности (расширение Visual Studio, я бы рекомендовал использовать его в любом случае) -> включить параметр / настройку под названием: «Удалить и отсортировать использования при сохранении»

Никаких дополнительных щелчков / сочетаний клавиш / ручного изменения шаблона и т. Д., Так как вы все равно должны сохранять свои файлы.


0

Просто хочу добавить к отличному ответу Сэма Харвелла. Там может быть более одного шаблона класса, например, AspNetCoreимеет свой собственный шаблон в:

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Enterprise \ Common7 \ IDE \ ItemTemplates \ AspNetCore \ Code \ 1033 \ Class \ Class.cs

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.