Wie bearbeite ich die Visual Studio-Vorlagen für die neue C # -Klasse / -Schnittstelle?

208

In fast jeder C # -Datei, die ich in Visual Studio erstelle, entferne ich die folgenden Importanweisungen:

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

Natürlich ist es wirklich einfach, dies mit Resharper zu tun, aber ich sollte es wirklich nicht müssen.

Irgendwo im VS-Verzeichnis muss sich eine Vorlage (Klasse, Schnittstelle) befinden, aus der ich die fehlerhaften Zeilen entfernen kann. Wo finde ich diese Dateien? Gibt es eine bessere Möglichkeit, die Standardimportliste zu steuern?

Jørn Schou-Rode
quelle

Antworten:

368

Extrahieren, bearbeiten und erneut komprimieren. Pfade gelten für die Klassenvorlage, die Schnittstellenvorlagen befinden sich jedoch im selben Ordner.

Möglicherweise möchten Sie die VS-Vorlagendatei in jeder bearbeiten, um die Tatsache zu beseitigen, dass sie nicht automatisch Verweise auf die Assemblys System, System.Data und / oder System.Xml hinzufügen.

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

Ab Visual Studio 2012 werden die Vorlagen nicht komprimiert, sodass Sie jede .csVorlage in jedem entsprechenden Ordner direkt bearbeiten können .

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 ändert den Verzeichnisspeicherort und ist jetzt abhängig von Ihrer Edition (Professional / Enterprise / etc). Also für die Enterprise Edition:

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

2019

Der Standort für VS 2019 ähnelt dem für 2017. Für die Enterprise Edition:

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

Anmerkungen

Express-Editionen

In Express Editions müssen Sie im Unterverzeichnis WDExpressdes IDEOrdners suchen , z. B. nach VS 2015 Express:

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

Andere Sprachen

Wenn Sie nicht die englische Version von Visual Studio verwenden, ist der Ordner 1033möglicherweise nicht vorhanden, aber eine andere Nummer steht für Ihre Sprache. Zum Beispiel ist es 1031in einer deutschen Installation.

Sam Harwell
quelle
42
Diese Änderungen in Visual Studio werden nicht immer berücksichtigt. Wenn dies für Sie nicht der Fall ist, bearbeiten Sie die Dateien im ItemTemplatesCacheVerzeichnis (zusätzlich zu ItemTemplates). ZB (im Jahr 2005) C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class.zip\Class.cs. Beachten Sie, dass es sich Class.ziphier um ein Verzeichnis handelt, nicht um eine tatsächliche ZIP-Datei.
Joe
5
Beachten Sie, dass Service Pack-Updates Ihren Cache löschen. Stellen Sie daher sicher, dass Sie ihn sichern, damit Sie ihn zurücksetzen können.
Sweetfa
3
@Joe: Oder zwingen Sie Visual Studio, die Vorlagen neu zu laden, indem Sie devenv / setup ausführen. Es kann eine Minute dauern, bis dieser Befehl ausgeführt wird.
Brian
4
@Brian devenv.exe / installvstemplates ist genug. Zumindest für VS 2012. Ist ausführbar, während VS ausgeführt wird.
Lucas
6
Wenn Sie ASP.NET/MVC verwenden und Visual Studio Ihre Aktualisierungen der Vorlage C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\WebClass\Class.cs.nicht abruft , versuchen Sie es mit der Bearbeitung. Führen Sie dann devenv.exe / installvstemplates aus.
J. Andrew Laughlin
9

Sie suchen das folgende Verzeichnis:

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

Jede Vorlage ist eine ZIP-Datei im 1033(englischen) Unterordner einer der Kategorien in diesem Ordner. Sie können die .csDatei in der ZIP-Datei bearbeiten .

Wenn Sie auf einem 32-Bit-System arbeiten, entfernen Sie das (x86). VS2005 ist Microsoft Visual Studio 8und VS2010 ist Microsoft Visual Studio 10.0.


Beachten Sie, dass diese Vorlagen nicht pro Benutzer sind. Sie können Vorlagen pro Benutzer erstellen, indem Sie diese ZIP-Dateien in kopieren My Documents\Visual Studio 2008\Templates\ItemTemplates\Visual C#.

SLaks
quelle
1
Vielen Dank für die Option pro Benutzer hier. Beachten Sie jedoch, dass zumindest mit VS2015 keine Zip-Dateien / Ordner vorhanden sind. Meine Pfade waren C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Classund dann habe ich erstellt und kopiert ...\Documents\Visual Studio 2015\Templates\ItemTemplates\Visual C#\Code\1033\Class. Ich hatte Visual Studio dabei geschlossen. Und ich habe auch den devenv.exe /installvstemplatesin einem anderen Kommentar erwähnten Befehl ausgeführt. Beim Neustart von VS wurden meine Änderungen beim Erstellen neuer Klassen angezeigt. Ausgezeichnet!
Sliderhouserules
1

Um diese in Visual Studio 2012 aus der Standarddatei class.cs zu entfernen, könnte die Elementvorlage folgendermaßen aussehen (nicht mithilfe von Anweisungen einschließen / entfernen):

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

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

Weitere Informationen hier: http://aaron-hoffman.blogspot.com/2013/05/edit-default-visual-studio-2012-item.html

Aaron Hoffman
quelle
1

Neue Klassenvorlagen befinden sich je nach Projekttyp möglicherweise auch in verschiedenen Ordnern. Bei der Arbeit in einem Webprojekt in VS 2015 habe ich dies beim Bearbeiten der Datei festgestellt

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

Beim Erstellen einer neuen Klasse konnte ich keinen Unterschied in der Standardvorlage feststellen. Es war erst nach dem Bearbeiten der Datei

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

dass ich eine neue Klasse mit dem gewünschten Standardformat erstellen konnte.

tjlindahl
quelle
1

Neuzugang zu den exzellenten Infos von Sam Harwell. Ich verwende die Visual Studio 2019-Community und der Pfad zu meiner Klassenvorlage ist derselbe wie bereits erwähnt, mit Ausnahme von "Enterprise", das durch "Community" ersetzt wird. So:

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

Erwähnenswert ist auch, dass der Ordner "zip" der Klasse in meiner Installation überhaupt kein zip ist. Es ist einfach ein anderer Ordner.

Ein weiteres "Gotcha" ist, dass wenn Sie eine Vorschau-Edition ausführen, diese sich in einem eigenen "Vorschau" -Ordner befindet:

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

Bei anderen Vorlagen müssen Sie nach Folgendem suchen:

C: \ Programme (x86) \ Microsoft Visual Studio \ [JAHR] \ [AUSGABE] \ Common7 \ IDE \ ItemTemplates

Auf meiner Maschine heißt es also:

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

[Bearbeiten 10. Mai 2020]

Sie müssen auch den Wert von "Speicherort für Benutzerelementvorlagen" in Extras | überprüfen Optionen | Projekt und Lösungen / Standorte


Ich hoffe das hilft jemandem.

Dave Robinson
quelle
0

Alte Frage - neue Antwort: Entschuldigen Sie die vielleicht beleidigende Frage: Warum interessiert Sie das überhaupt?

Produktivitäts-Elektrowerkzeuge (Visual Studio-Erweiterung, ich würde es trotzdem empfehlen) -> Aktivieren Sie die Option / Einstellung mit dem Namen "Entfernen und Sortieren von Verwendungen beim Speichern".

Keine zusätzlichen Klicks / Tastaturkürzel / manuelle Vorlagenänderungen usw., da Sie Ihre Dateien sowieso speichern müssen.

TiTime
quelle
0

Ich möchte nur die hervorragende Antwort von Sam Harwell ergänzen. Möglicherweise gibt es mehr als eine Klassenvorlage, z. B. AspNetCoreeine eigene Vorlage unter:

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

sunefred
quelle