Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

295
Vistas
¿Cómo personalizar el formato del código generado por "Encapsular campo"?

Anteriormente, estaba bastante seguro de que el comando "Encapsular campo" se convertiría en algo como lo siguiente:

 public int SomeNumber;

en lo siguiente (lo que quiero de VS 2015):

 private int someNumber; public int SomeNumber { get { return someNumber; } set { someNumber = value; } }

pero en Visual Studio 2015 veo lo siguiente:

 private int someNumber; public int SomeNumber { get { return someNumber; } set { someNumber = value; } }

¿Hay alguna manera de arreglar esto?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Este fue un cambio de diseño en VS2015. En versiones anteriores, el comando de refactorización prestaba atención a la opción Herramientas > Opciones > Editor de texto > C# > Ajuste > "Dejar bloque en una sola línea". Con esta opción activada, obtendrá el cuerpo del captador y definidor de la propiedad tal como está codificado en el fragmento, llaves en la misma línea. Como a ti te gusta.

A diferencia de VS2015, ahora presta atención a la configuración Herramientas > Opciones > Editor de texto > C# > Formato > Nuevas líneas > "Colocar llave abierta en la nueva línea para métodos". Puedes elegir entre aparatos ortopédicos "egipcios" o tener el aparato ortopédico de apertura separado. Ninguno de los dos te gusta.

Los accidentes ocurren cuando Microsoft crea nuevas versiones de VS, esto no fue un accidente. Si esto se hizo por "demanda popular" es difícil de aplicar ingeniería inversa, lo considero bastante probable ya que esta refactorización generalmente se realiza para escribir un getter o setter no trivial, del tipo que no cabe en una sola línea. Darnos una opción entre las tres posibles preferencias de formato me parece un problema, las opciones de formato existentes no son una buena combinación.

La única opción real es hacerle saber a Microsoft que no está satisfecho con el cambio. Existe un artículo de UserVoice que propone un cambio. Puedes votar por él o escribir el tuyo propio. Publique un enlace en su pregunta para que otros usuarios de SO puedan votar.

over 4 years ago · Santiago Trujillo Denunciar

0

¿Eso te ayudará?
-Refactorización de campo encapsulado (C#): https://msdn.microsoft.com/en-us/library/a5adyhe9.aspx

Este sitio web parece ofrecer una solución al final del tema.

Consulte también esta publicación: -Diferente estilo de refactorización para la encapsulación de campos: ¿cómo hacer que Visual Studio lo cambie? Diferente estilo de refactorización para la encapsulación de campos: ¿cómo hacer que Visual Studio lo cambie?

Este corresponde a su pregunta de cierta manera: la pregunta está realmente relacionada con la suya :)

over 4 years ago · Santiago Trujillo Denunciar

0

Yo mismo he intentado cambiar el archivo de fragmento para adaptarlo a mi archivo, pero VS no tiene efecto. Lo que termino haciendo es

  1. Encapsule los campos como de costumbre.
  2. Copie y pegue el código en el bloc de notas ++ y haga una búsqueda y reemplazo.

Encontrar:

 (\{)*(\s*)*(get|set)\r\n\s+{\r\n\s+(.*)\r\n\s+\}\s+

Reemplazar con:

 $1$3\{$4\}
  1. Pegue el resultado de nuevo en VS. VS lo formateará siguiendo "Dejar bloque en una sola línea".
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda