2012-07-31 15 views
37

lo tanto, esto:saltos de línea y el ajuste ReSharper

cmd = new OdbcCommand(string.Format(@" 
SELECT * 
    FROM Bobby_Tables 
WHERE Name = {0}", "Little Bobby Drop Tables"), odbcConnection); 

consigue formateado para:

cmd = 
     new OdbcCommand( 
      string.Format( 
        @" 
SELECT * 
    FROM Bobby_Tables 
WHERE Name = {0}", 
        "Little Bobby Drop Tables"), odbcConnection); 

He mirado en cada una de las opciones para saltos de línea y envoltura, pero no he sido capaz de encontrar el que mantenga las cosas en la misma línea el mayor tiempo posible. Estoy asumiendo que me perdí la opción correcta. Mi opción Right margin (columns) está configurada en 100, que es bastante grande.

Pregunta: ¿Hay alguna manera de que se vea como el original, y aún así obtener un formato inteligente en otras cosas que realmente necesitan ser envueltas?

puedo poner manualmente el

cmd = new OdbcCommand(string.Format (
     @" 

de nuevo en la primera línea y que a dejar la cadena pie de la letra en la línea siguiente felizmente. Supongo que es un buen compromiso.

+1

Intente establecer la propiedad "Mantener saltos de línea existentes" en true en Edición de código => C# => Estilo de formato => Saltos de línea y envoltura. También puede acortar la propiedad "Margen derecho (columnas)" para que el margen derecho sea más pequeño y, por lo tanto, "Cortar si es largo" no sucede con tanta frecuencia. –

+0

¿Puedes dar más detalles sobre lo que estás tratando de lograr? ¿Desea que Resharper vuelva a colocar la instrucción Select en una sola línea? Si es así, no creo que haga eso. Resharper generalmente intenta reformatear el código y dividirlo para facilitar su lectura. – Gambit

+0

Me encanta la referencia xkcd. "tal vez aprenderá a desinfectar su sql". –

Respuesta

83

Supongo que su problema es que la primera línea se rompió en tres. Esto se debe al error http://youtrack.jetbrains.com/issue/RSRP-288271 que se corrigió en ReSharper 7.0. Debe considerar actualizar o desactivar la opción ReSharper | Options -> Code Editing | C# | Formatting style | Line breaks and wrapping -> LineWrapping | Wrap long lines.

+0

Hola @Dmitry Osinovskiy, ¿tal vez tienes una pista sobre un problema que tengo con ReSharper 6.1? Si pudiera, eche un vistazo a mi pregunta: http://stackoverflow.com/questions/11622581/resharper-unit-test-runner-ignores-deployment-items-configuration – devundef

+0

Todavía estamos en 6.1. Estoy usando un margen derecho de 100, así que debería ser suficiente. Parece que, "Oh, este nuevo OdbcCommand() es demasiado largo, póngalo en una nueva línea. Oh, este string.Format() es demasiado largo, póngalo en una nueva línea. Oh, esta cadena textual es demasiado tiempo, póngalo en una nueva línea ". Al menos, así es como me imagino que el algoritmo funciona. – ryancerium

+0

@devundef Lamentablemente no tengo ni idea. Pero siempre puedes intentar preguntarle https://twitter.com/fergard/status/228271877393633280 –