Jak edytować szablony Visual Studio dla nowej klasy / interfejsu C #?

208

Czuję, że usuwam następujące instrukcje importu w prawie każdym pliku C #, który tworzę w Visual Studio:

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

Oczywiście jest to naprawdę łatwe w Resharper, ale naprawdę nie powinienem tego robić.

Musi być jakiś szablon (klasa, interfejs) gdzieś w katalogu VS, z którego mogę usunąć obraźliwe linie. Gdzie znajdę te pliki? Czy istnieje lepszy sposób kontrolowania domyślnej listy importu?

Jørn Schou-Rode
źródło

Odpowiedzi:

368

Wyodrębnij, edytuj i ponownie skompresuj. Ścieżki dotyczą szablonu klasy, ale szablony interfejsu znajdują się w tym samym folderze.

Możesz edytować plik szablonu VS w każdym, aby usunąć fakt, że nie dodają one automatycznie odniesień do zestawów System, System.Data i / lub 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

Począwszy od Visual Studio 2012, szablony nie są spakowane, więc możesz edytować każdy .csszablon bezpośrednio w każdym odpowiednim folderze.

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 r

VS 2017 zmienia lokalizację katalogu i jest teraz zależny od wersji (Professional / Enterprise / etc). W przypadku wersji Enterprise:

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

2019

Lokalizacja VS 2019 jest podobna do 2017 roku. Tak więc w wersji Enterprise:

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

Notatki

Edycje ekspresowe

W Express Editions będziesz musiał szukać w podkatalogu WDExpressw IDEfolderze, więc np. Dla VS 2015 Express:

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

Inne języki

Jeśli nie korzystasz z angielskiej wersji programu Visual Studio, folder 1033może nie istnieć, ale inny numer reprezentujący twój język. Na przykład jest 1031w niemieckiej instalacji.

Sam Harwell
źródło
42
Nie zawsze odzwierciedla te zmiany w Visual Studio. Jeśli tak nie jest, edytuj pliki w ItemTemplatesCachekatalogu (oprócz ItemTemplates). Np. (W 2005 r C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class.zip\Class.cs. ) . Pamiętaj, że Class.ziptutaj jest katalog, a nie rzeczywisty plik ZIP.
Joe
5
Pamiętaj, że aktualizacje dodatku Service Pack wyczyszczą pamięć podręczną, więc wykonaj kopię zapasową, aby móc ją z powrotem przywrócić.
sweetfa
3
@Joe: Lub zmuś studio graficzne do ponownego załadowania szablonów, uruchamiając devenv / setup. Uruchomienie tego polecenia może chwilę potrwać.
Brian
4
@Brian devenv.exe / installvstemplates wystarczy. Przynajmniej dla VS 2012. Jest wykonywalny podczas działania VS.
Lucas
6
Jeśli używasz programu ASP.NET/MVC, a program Visual Studio nie odbiera aktualizacji szablonu, spróbuj edytować. C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\WebClass\Class.cs.Następnie uruchom program devenv.exe / installvstemplates.
J. Andrew Laughlin,
9

Szukasz następującego katalogu:

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

Każdy szablon jest plikiem ZIP w 1033podfolderze (angielskim) jednej z kategorii w tym folderze. Możesz edytować .csplik wewnątrz pliku ZIP.

Jeśli korzystasz z systemu 32-bitowego, usuń (x86). VS2005 jest Microsoft Visual Studio 8, a VS2010 jest Microsoft Visual Studio 10.0.


Pamiętaj, że te szablony nie są dla poszczególnych użytkowników. Możesz tworzyć szablony dla poszczególnych użytkowników, kopiując te pliki ZIP do My Documents\Visual Studio 2008\Templates\ItemTemplates\Visual C#.

SLaks
źródło
1
Dzięki za opcję na użytkownika tutaj. Pamiętaj jednak, że przynajmniej w wersji VS2015 nie ma plików / folderów zip. Moje ścieżki były, C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Classa następnie tworzyłem i kopiowałem ...\Documents\Visual Studio 2015\Templates\ItemTemplates\Visual C#\Code\1033\Class. W tym czasie miałem zamknięte Visual Studio. Uruchomiłem także devenv.exe /installvstemplatespolecenie wymienione w innym komentarzu. Kiedy ponownie uruchomiłem VS, moje zmiany pojawiły się podczas tworzenia nowych klas. Doskonały!
sliderhouserules
1

W przypadku Visual Studio 2012, aby usunąć je z domyślnego pliku class.cs, szablon elementu może wyglądać tak (nie dołączaj / usuwaj za pomocą instrukcji):

Domyślny plik szablonu klasy: C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Code \ 1033 \ Class \ Class.cs

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

Więcej informacji tutaj: http://aaron-hoffman.blogspot.com/2013/05/edit-default-visual-studio-2012-item.html

Aaron Hoffman
źródło
1

Nowe szablony klas mogą również znajdować się w różnych folderach, w zależności od typu projektu. Podczas pracy nad projektem sieciowym w VS 2015 odkryłem, że podczas edycji pliku

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

Podczas tworzenia nowej klasy nie widziałem żadnej różnicy w domyślnym szablonie. To było dopiero po edycji pliku

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

że mogłem stworzyć nową klasę z domyślnym formatem, który chciałem.

tjlindahl
źródło
1

Nowy dodatek do doskonałej informacji od Sama Harwella. Korzystam ze społeczności Visual Studio 2019, a ścieżka do szablonu mojej klasy jest taka sama, jak już wspomniano, z wyjątkiem „Enterprise”, który jest zastąpiony przez „Community”. Więc:

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

Warto również wspomnieć, że folder „zip” Class w ogóle nie jest plikiem zip w mojej instalacji. To po prostu kolejny folder.

Innym „gotcha” jest to, że jeśli korzystasz z wersji Preview, znajduje się on we własnym folderze „Preview”:

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

W przypadku innych szablonów folder do wyszukiwania to:

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

Na mojej maszynie jest to:

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

[Edytuj 10 maja 2020 r.]

Musisz także sprawdzić wartość „Lokalizacja szablonów elementów użytkownika” w Narzędziach Opcje | Projekt i rozwiązania / Lokalizacje


Mam nadzieję, że to komuś pomoże.

Dave Robinson
źródło
0

Stare pytanie - nowa odpowiedź: Przepraszam za być może obrażające pytanie: dlaczego w ogóle byś się tym przejmował.

Productivity Power Tools (rozszerzenie Visual Studio, i tak polecam go użyć) -> włącz opcję / ustawienie o nazwie: „Usuń i posortuj zastosowania przy zapisywaniu”

Bez dodatkowych kliknięć / skrótów klawiaturowych / ręcznej modyfikacji szablonu itp., Ponieważ i tak musisz zapisać swoje pliki.

TiTime
źródło
0

Chcę tylko dodać do doskonałej odpowiedzi Sama Harwella. Może istnieć więcej niż jeden szablon klasy, na przykład AspNetCorema swój własny szablon w:

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

niespokojny
źródło