Pregunta ¿Cómo se predetermina una clase nueva a pública cuando se crea en Visual Studio?


Cuando hago clic con el botón derecho en la Solución de un proyecto de C # Visual Studio y selecciono Agregar ...> Clase ... crea una clase sin un modificador público. ¿Cómo obtengo que Visual Studio (2008) establezca la clase por defecto en una clase pública?


73
2018-03-31 05:13


origen


Respuestas:


Necesita modificar el archivo ubicado en C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033.

Visual Studio 2010 (10.0) y siguientes: Hay un archivo zip llamado Class.zip. Descomprime esto, edita el archivo para poner en tu public palabra clave luego vuelva a empacar (asegúrese de hacer una copia de seguridad del original).

Después de esto, asegúrese de que VS reconstruya su caché (que es solo los archivos zip descomprimidos en directorios en C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache) abriendo un shell de comandos de Visual Studio y ejecute el siguiente comando:

devenv /installvstemplates

Visual Studio 2012 (11.0) y versiones posteriores: Ver la respuesta por @JochemKempe, ya que es mucho más fácil cambiar esto ahora, simplemente editando un solo archivo (sin descomprimir o reescribir).

ACTUALIZAR: No olvides abrir tu editor de texto preferido con privilegios de administrador antes de editar.


55
2018-03-31 05:23



En VS2012 es tan fácil como ir a C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class y editando el archivo Class.cs

No es necesario descomprimir o reconstruir el caché. Un cambio muy positivo si me preguntas.

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

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

VS2017 (Profesional): C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class


84
2017-11-12 14:18



Para crear una clase pública de forma predeterminada para Visual Studio 2012:

Edite este archivo: C: \ Archivos de programa (x86) \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Code \ 1033 \ Class \ Class.cs

Para verse así:

using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;
$if$ ($targetframeworkversion$ >= 4.5)using System.Threading.Tasks;
$endif$
namespace $rootnamespace$
{
    public class $safeitemrootname$
    {
    }
}

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


8
2018-05-27 22:00



Puede crear su propia plantilla de proyecto o modificar la existente. Todos estos archivos de proyecto están basados ​​en plantillas, por lo que puede modificarlos y / o agregar los suyos propios.

Mira estos enlaces:

Bagazo


1
2018-03-31 05:24



Aquí hay un scriptlet PS reentrante que actualizará la clase base C # Plantilla del artículo. La ruta cambia dependiendo de la versión / edición de Visual Studio que use. También realiza copias de seguridad de la plantilla original en caso de que desee revertir en el futuro.

$csharpClassTemplates = @("C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs",
                          "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class\Class.cs",
                          "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs")

$csharpClassTemplates | % {
    Write-Output("Updating template $_")
    Copy-Item $_ -Destination "$_.backup"
    (get-content $_).Replace('public ', '').Replace('class ', 'public class ') | Set-Content $_
 }

1
2018-05-23 21:20