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


209

Me encuentro eliminando las siguientes declaraciones 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 realmente 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, desde las cuales pueda eliminar las líneas ofensivas. ¿Dónde encuentro estos archivos? ¿Hay una mejor manera de controlar la lista de importación predeterminada?

Respuestas:


369

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 System, System.Data y / o 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

A partir de Visual Studio 2012, las plantillas no están comprimidas, por lo que puede editar cada .csplantilla en cada carpeta correspondiente 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 (Profesional / Empresa / etc.). Entonces, para la edición Enterprise:

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

2019

La ubicación de VS 2019 es similar a 2017. Entonces, para la edición Enterprise:

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

Notas

Ediciones Express

En las ediciones Express, tendrá que buscar en el subdirectorio WDExpressdentro de la IDEcarpeta, 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, es posible que la carpeta 1033no exista, sino un número diferente que represente su idioma. Por ejemplo, está 1031en una instalación alemana.


42
No siempre refleja estos cambios en Visual Studio. Si no es así, edite los archivos en el ItemTemplatesCachedirectorio (además de ItemTemplates). Por ejemplo (en 2005) C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class.zip\Class.cs. Tenga en cuenta que Class.zipaquí hay un directorio, no un archivo ZIP real.
Joe

55
Tenga en cuenta que las actualizaciones del Service Pack borrarán su caché, así que asegúrese de hacer una copia de seguridad para poder volver a colocarla.
sweetfa

3
@ Joe: O forzar a Visual Studio a recargar las plantillas ejecutando devenv / setup. Puede llevar un minuto ejecutar ese comando.
Brian

44
@Brian devenv.exe / installvstemplates es suficiente. Al menos para VS 2012. Es ejecutable mientras VS se está ejecutando.
Lucas

66
Si está utilizando ASP.NET/MVC y Visual Studio no recogerá sus actualizaciones de la plantilla, intente editar C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\WebClass\Class.cs.Luego ejecute devenv.exe / installvstemplates.
J. Andrew Laughlin

9

Estás 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 1033subcarpeta (en inglés) de una de las categorías de esta carpeta. Puede editar el .csarchivo dentro del archivo ZIP.

Si tiene un sistema de 32 bits, elimine 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 en My Documents\Visual Studio 2008\Templates\ItemTemplates\Visual C#.


1
Gracias por la opción por usuario aquí. Sin embargo, tenga en cuenta que, al menos con VS2015, no hay archivos / carpetas zip. Mis caminos fueron C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Classy luego los creé y los copié ...\Documents\Visual Studio 2015\Templates\ItemTemplates\Visual C#\Code\1033\Class. Tenía Visual Studio cerrado mientras hacía esto. Y también ejecuté el devenv.exe /installvstemplatescomando mencionado en otro comentario. Cuando relancé VS, mis cambios aparecieron al crear nuevas clases. ¡Excelente!
sliderhouserules

1

Para Visual Studio 2012, para eliminarlos del archivo class.cs predeterminado, la plantilla del elemento podría tener este aspecto (no incluya / elimine utilizando sentencias):

Archivo de plantilla de clase predeterminado: C: \ Archivos de programa (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

Las nuevas plantillas de clase también pueden ubicarse en diferentes carpetas según el 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

Nueva adición a la excelente información de Sam Harwell. Estoy usando Visual Studio 2019 Community, y la ruta a mi plantilla de clase es la misma que ya mencioné, excepto "Enterprise", que se reemplaza por "Community". Entonces:

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

También vale la pena mencionar que la carpeta de clase "zip" no es un zip en absoluto en mi instalación. Es simplemente otra carpeta.

Otro "problema" es que si está ejecutando una edición de Vista previa, está en su propia carpeta "Vista previa":

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

Para otras plantillas, la carpeta a buscar es:

C: \ Archivos de programa (x86) \ Microsoft Visual Studio \ [AÑO] \ [EDICIÓN] \ Common7 \ IDE \ ItemTemplates

Entonces, en mi máquina es:

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

[Editar 10 de mayo de 2020]

También debe verificar el valor de "Ubicación de plantillas de elementos de usuario" en Herramientas | Opciones | Proyecto y Soluciones / Ubicaciones


Espero que esto ayude a alguien.


0

Pregunta anterior - respuesta nueva: Perdón por la pregunta ofensiva, tal vez: ¿Por qué te importaría?

Productivity Power Tools (extensión visual studio, recomendaría usarla de todos modos) -> habilite la opción / configuración llamada: "Eliminar y ordenar los usos al guardar"

Sin clics adicionales / métodos abreviados de teclado / modificación manual de plantillas, etc., ya que debe guardar sus archivos de todos modos.


0

Solo quiero agregar a la excelente respuesta de Sam Harwell. Puede haber más de una plantilla de clase, por ejemplo, AspNetCoretiene su propia plantilla en:

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.