¿Cómo edito las plantillas de Visual Studio para la nueva clase / interfaz de C#?


Me encuentro eliminando las siguientes instrucciones de importación en casi todos los archivos C# que creo en Visual Studio:

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

Por supuesto, es muy fácil hacer esto con Resharper, pero realmente no debería tener que hacerlo.

Debe haber algunas plantillas (clase, interfaz) en algún lugar del directorio VS, de las cuales puedo eliminar las líneas ofensivas. ¿Dónde puedo encontrar estos archivos? ¿Hay una mejor manera de controlar la lista de importación predeterminada?

Author: Shamim Hafiz, 2010-01-15

4 answers

Extraer, editar y recomprimir. Las rutas son para la plantilla de clase, pero las plantillas de interfaz están en la misma carpeta.

Es posible que desee editar el archivo de plantilla VS en cada uno para eliminar el hecho de que no agregan automáticamente referencias a los ensamblados Sistema, Sistema.Datos y / o Sistema.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

Comenzando con Visual Studio 2012, las plantillas no están comprimidas, por lo que puede editar cada plantilla .cs en cada carpeta aplicable directamente.

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 cambia la ubicación del directorio, y ahora depende de su edición (Professional/Enterprise/etc). Así que para la edición Enterprise:

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

Notas

Express Editions

En las ediciones Express tendrá que buscar en el subdirectorio WDExpress dentro de la carpeta IDE, por ejemplo, para VS 2015 Express:

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

Otros idiomas

Si no utiliza la versión en inglés de Visual Studio, la carpeta 1033 puede no existir, pero un número diferente que representa su idioma. Por ejemplo, es 1031 en una instalación alemana.

 309
Author: Sam Harwell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-06 19:20:21

Está buscando el siguiente directorio:

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

Cada plantilla es un archivo ZIP dentro de la subcarpeta 1033 (Inglés) de una de las categorías de esta carpeta. Puede editar el archivo .cs dentro del archivo ZIP.

Si estás en un sistema de 32 bits, elimina el (x86). VS2005 es Microsoft Visual Studio 8, y VS2010 es Microsoft Visual Studio 10.0.


Tenga en cuenta que estas plantillas no son por usuario. Puede crear plantillas por usuario copiando esos archivos ZIP a My Documents\Visual Studio 2008\Templates\ItemTemplates\Visual C#.

 8
Author: SLaks,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-15 15:34:16

Para Visual Studio 2012, para eliminarlos de la clase predeterminada.cs, la plantilla item podría tener este aspecto (no incluir/eliminar usando instrucciones):

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

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

Más información aquí: http://aaron-hoffman.blogspot.com/2013/05/edit-default-visual-studio-2012-item.html

 1
Author: Aaron Hoffman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-27 21:50:48

Las nuevas plantillas de clase también pueden estar ubicadas en diferentes carpetas dependiendo del tipo de proyecto. Mientras trabajaba en un proyecto Web en VS 2015, descubrí que al editar el archivo

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

No pude ver ninguna diferencia en la plantilla predeterminada al crear una nueva clase. Fue solo después de editar el archivo

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

Que pude crear una nueva clase con el formato predeterminado que quería.

 1
Author: tjlindahl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-16 02:06:34