2010-03-01 41 views
8

Después namespace, class, struct, enum, for, foreach, while, switch, do, using, unchecked y al principio de los métodos, no debería Visual Studio incluirá automáticamente entre llaves? ¿Cómo activar esta característica?¿Cómo hacer que Visual Studio incluya automáticamente corchetes en el código C#?

+2

¿Cómo se sabe cuándo comenzar la llave de cierre? 'public class MyClass'? 'clase pública MyClass: MyBase'? 'clase pública MyClass: MyBase, Interface, Interface 2'? Puede ver dónde saber cuándo comenzar sería un dolor en la mayoría de los casos ... automáticamente emparejar su abrazadera abierta con la de cierre, eso es factible. –

+3

¿Por qué debería colocarse una llave después de un enunciado while si solo pondré una declaración en el bucle? –

+2

para cumplir con las directrices de estilo de codificación de Microsoft para empezar ... formato de código – Joe

Respuesta

3

Una opción es usar fragmentos de código. Visual Studio ya viene con fragmentos para namespace, enum, for, foreach, while, switch, do, using y unschecked. Para obtener instrucciones sobre cómo usar fragmentos, vaya al here.

Si puede pensar en un fragmento que tenga sentido para su clase y estructura, puede create your own snippet.

5

Con Resharper el soporte de cierre rizado se agrega por sí mismo (ya sea inmediatamente o después de presionar enter). Creo que también es el caso de Visual Studio no modificado pero no 100% seguro de eso. Solo se debe abrir el corchete por ti mismo.

Actualmente, Resharper 5.0 es gratuito (siempre que esté en estado de compilación beta/noche), solo tiene que volver a instalarlo cada 20-30 días (pero querrá hacerlo de todos modos ya que tienden a arreglar/agregar cosas) Ya no puedo codificar sin Resharper :-) ¡Ahorro mucho tiempo! No está seguro de lo que haré cuando es beta ya no;/

Editar:

Con ReSharper incluso se puede obtener IDE para usar aparatos ortopédicos o no usarlos en algunos casos (cuando es posible). Consulte esto link sobre el formato del código en Resharper.

+0

ReSharper también puede agregar las llaves a la totalidad del proyecto con sólo unos pocos clics. http://www.jetbrains.com/resharper/features/code_formatting.html – jrummell

+0

O eliminarlos, dependiendo de la configuración :-) – MadBoy

+0

Soy un gran fan ReSharper. –

0

Para namespace, class, struct, enum y switch, tienes razón. La sintaxis te obliga a obtener una llave de apertura, pero no creo que puedas obligar a VS a hacer esto (sin usar un complemento).

En los otros casos, una abrazadera abierta es opcional, y algunas personas quieren NO tener la abrazadera si tienen una sola declaración después. Por lo tanto, VS no pudo agregar un refuerzo automáticamente aunque pudiera.

1

El IDE no puede estar seguro si no desea crear un trazador de líneas.

Sin embargo, Resharper facilita las cosas. Si escribe "{" y presiona enter, se generará automáticamente "}".

2

DevExpress tienen herramientas para Visual Studio

CodeRush

1

Si presiona CTRL + K, CTRL + S que esto le dará un fragmento de opciones en el que se creará automáticamente la opción que seleccione.

+0

Esto es Edit.SurroundWith puede tener algún otro enlace de clave. Si sombody no lo tiene en CTRL + K, CTRL + S que pueden todavía conseguir llegar desde el menú contextual o mirar a Herramientas -> Opciones ... -> Medio Ambiente -> Teclado -> "Edit.SurroundWith" para ver qué vinculante tienen. – Theraot

0

Es muy fácil y no tiene que usar R #.

Solo escribe "if, else, for, foreach ..." y luego presiona TAB. Los corchetes se crearán automáticamente y su cursor saltará a corchetes redondos. Si en los corchetes hay más controles (por ejemplo, para (control1; control2; control3)), puede cambiar entre estos controles presionando TAB. Si terminó con el cambio de controles, puede presionar enter y el cursor saltará al cuerpo de llaves.

Pero si quieres escribir un nuevo "método, clase, ..." Normalmente uso el atajo general "ctrl + .".

p. Ej. Escribir en un método (por ejemplo MiMetodo) llamar nuevo método (por ejemplo MyNewMethod) que no se ha creado aún:

private void MyMethod() 
{ 
    string[] a = this.MyNewMethod(5, "something"); 
} 

de cursor y luego se ajusta a "MyNewMethod", pulse la tecla "Ctrl +". y presiona enter.

Nuevo método se creará automáticamente en el extremo de esta clase:

private void MyMethod() 
{ 
    string[] a = this.MyNewMethod(5, "something"); 
} 

private string[] MyNewMethod(int v1, string v2) 
{ 
    throw new NotImplementedException(); 
} 
Cuestiones relacionadas