Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Prevent Visual Studio from adding default references and usings for new classes

Whenever I add a new class to a Visual Studio (C#) project, I get the following usings automatically:

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

Additionally, the following DLL references are added if they weren't there already:

  • System.Core
  • System.Data
  • System.Xml

I'd like to prevent VS from doing this (except "using System" of course). Does any one know of a way to prevent this from happening?

like image 892
Craig Walker Avatar asked May 16 '09 21:05

Craig Walker


2 Answers

Marc and Brian both have a good idea: create a new custom template that includes only the usings and references I want. With Export Template it's really simple to do so, and I'll be sure to do so for all sorts of specific items.

For general-purpose new classes (ie: what you get from the "Add->Class..." menu item in VS), here's what I did to achieve my goal:

  • Find the appropriate template Zip. On my system it was located at C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.zip
  • Extract the zip file. This gives two files: Class.cs and Class.vstemplate
  • Edit Class.cs to remove the undesired using statements. (I also changed the default class access modifier to "public" while I was here)
  • Edit Class.vstemplate to remove the undesired <reference> elements.
  • Rezip the files into the existing Class.zip archive
  • Replace the cached template files with the updated versions. On my system, the files were located at C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class.zip (a directory containing the old Class.cs and Class.vstemplate).
    • I tried simply deleting this directory, expecting VS to rebuild the cache from the "original" source. This didn't work though; I got an error message saying that it couldn't find the files in the cache directory. Replacing the cached files worked well though.
  • Restart Visual Studio

Now, whenever I add a new class, I get exactly what I want.

like image 60
Craig Walker Avatar answered Oct 19 '22 16:10

Craig Walker


You can change your template files... either by editing the files in the install location, or by writing a class how you want it, and choosing Export Template. There is also a template add-in somewhere...

like image 42
Marc Gravell Avatar answered Oct 19 '22 16:10

Marc Gravell