Comment modifier les modèles Visual Studio pour la nouvelle classe / interface C #?

209

Je me retrouve à supprimer les instructions d'importation suivantes dans presque tous les fichiers C # que je crée dans Visual Studio:

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

Bien sûr, c'est vraiment facile de le faire avec Resharper, mais je ne devrais vraiment pas avoir à le faire.

Il doit y avoir quelques modèles (classe, interface) quelque part dans le répertoire VS, d'où je peux supprimer les lignes incriminées. Où puis-je trouver ces fichiers? Existe-t-il un meilleur moyen de contrôler la liste d'importation par défaut?

Jørn Schou-Rode
la source

Réponses:

369

Extraire, éditer et recompresser. Les chemins d'accès sont pour le modèle de classe, mais les modèles d'interface se trouvent dans le même dossier.

Vous souhaiterez peut-être modifier le fichier de modèle VS dans chacun pour supprimer le fait qu'ils n'ajoutent pas automatiquement des références aux assemblys System, System.Data et / ou 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

À partir de Visual Studio 2012, les modèles ne sont pas compressés, vous pouvez donc modifier .csdirectement chaque modèle dans chaque dossier applicable.

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 modifie l'emplacement du répertoire et dépend maintenant de votre édition (Professional / Enterprise / etc). Donc pour l'édition Enterprise:

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

2019

L'emplacement VS 2019 est similaire à 2017. Donc pour l'édition Enterprise:

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

Remarques

Éditions express

Dans Express Editions, vous devrez rechercher dans le sous-répertoire WDExpressdu IDEdossier, par exemple pour VS 2015 Express:

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

Autres langues

Si vous n'utilisez pas la version anglaise de Visual Studio, le dossier 1033peut ne pas exister, mais un numéro différent représentant votre langue. Par exemple, c'est 1031dans une installation allemande.

Sam Harwell
la source
42
Il ne reflète pas toujours ces modifications dans Visual Studio. Si ce n'est pas le cas pour vous, modifiez les fichiers dans le ItemTemplatesCacherépertoire (en plus de ItemTemplates). Par exemple (en 2005) C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class.zip\Class.cs. Notez qu'il Class.zips'agit d'un répertoire et non d'un véritable fichier ZIP.
Joe
5
N'oubliez pas que les mises à jour du Service Pack effaceront votre cache, alors assurez-vous de le sauvegarder pour pouvoir le remettre.
sweetfa
3
@Joe: Ou forcez Visual Studio à recharger les modèles en exécutant devenv / setup. L'exécution de cette commande peut prendre une minute.
Brian
4
@Brian devenv.exe / installvstemplates suffit. Au moins pour VS 2012. Est exécutable pendant que VS est en cours d'exécution.
Lucas
6
Si vous utilisez ASP.NET/MVC et que Visual Studio ne récupère pas vos mises à jour du modèle, essayez de les éditer, C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\WebClass\Class.cs.puis exécutez devenv.exe / installvstemplates.
J. Andrew Laughlin
9

Vous recherchez le répertoire suivant:

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

Chaque modèle est un fichier ZIP dans le 1033sous-dossier (anglais) de l'une des catégories de ce dossier. Vous pouvez modifier le .csfichier à l'intérieur du fichier ZIP.

Si vous utilisez un système 32 bits, supprimez le (x86). VS2005 l'est Microsoft Visual Studio 8et VS2010 l'est Microsoft Visual Studio 10.0.


Notez que ces modèles ne sont pas par utilisateur. Vous pouvez créer des modèles par utilisateur en copiant ces fichiers ZIP dans My Documents\Visual Studio 2008\Templates\ItemTemplates\Visual C#.

SLaks
la source
1
Merci pour l'option par utilisateur ici. Notez cependant qu'avec VS2015 au moins, il n'y a pas de fichiers / dossiers zip. Mes chemins étaient C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class, puis j'ai créé et copié ...\Documents\Visual Studio 2015\Templates\ItemTemplates\Visual C#\Code\1033\Class. J'ai fermé Visual Studio pendant que je faisais cela. Et j'ai également exécuté la devenv.exe /installvstemplatescommande mentionnée dans un autre commentaire. Lorsque j'ai relancé VS, mes changements sont apparus lors de la création de nouvelles classes. Excellent!
sliderhouserules
1

Pour Visual Studio 2012, pour les supprimer du fichier class.cs par défaut, le modèle d'élément pourrait ressembler à ceci (ne pas inclure / supprimer à l'aide d'instructions):

Fichier de modèle de classe par défaut: C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Code \ 1033 \ Class \ Class.cs

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

Plus d'informations ici: http://aaron-hoffman.blogspot.com/2013/05/edit-default-visual-studio-2012-item.html

Aaron Hoffman
la source
1

Les nouveaux modèles de classe peuvent également se trouver dans différents dossiers en fonction du type de projet. Tout en travaillant dans un projet Web dans VS 2015, j'ai constaté que lors de la modification du fichier

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

Je n'ai pas pu voir de différence dans le modèle par défaut lors de la création d'une nouvelle classe. Ce n'est qu'après avoir édité le fichier

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

que j'ai pu créer une nouvelle classe avec le format par défaut que je voulais.

tjlindahl
la source
1

Nouvel ajout à l'excellente information de Sam Harwell. J'utilise Visual Studio 2019 Community, et le chemin vers mon modèle de classe est le même que celui déjà mentionné, à l'exception de "Enterprise", qui est remplacé par "Community". Alors:

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

Il convient également de mentionner que le dossier "zip" de la classe n'est pas du tout un zip sur mon installation. C'est simplement un autre dossier.

Un autre "problème" est que si vous exécutez une édition Preview, elle se trouve dans son propre dossier "Preview":

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

Pour les autres modèles, le dossier à rechercher est:

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

Donc sur ma machine c'est:

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

[Modifier le 10 mai 2020]

Vous devez également vérifier la valeur de "Emplacement des modèles d'élément utilisateur" dans Outils | Options | Projet et Solutions / Emplacements


J'espère que ça aidera quelqu'un.

Dave Robinson
la source
0

Ancienne question - nouvelle réponse: Désolé pour la question peut-être offensante: pourquoi vous en soucieriez-vous?

Outils de productivité (extension Visual Studio, je recommanderais de l'utiliser quand même) -> Activez l'option / paramètre appelé: "Supprimer et trier les utilisations lors de l'enregistrement"

Pas de clic supplémentaire / raccourcis clavier / modification manuelle de modèle, etc ... car vous devez de toute façon enregistrer vos fichiers.

TiTime
la source
0

Je veux juste ajouter à l'excellente réponse de Sam Harwell. Il peut y avoir plus d'un modèle de classe, par exemple AspNetCorea son propre modèle à:

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

sunefred
la source