2011-11-22 16 views
6

¿Cómo configurar Visual Studio 2010 para que las funciones lambda multilínea no se vean feas, con todo ese espacio vacío a la izquierda?Auto-formateo de funciones lambda en Visual Studio 2010

dataView.CellFormatting += (s, e) => 
              { 
               if ((e.ColumnIndex == 1)&&((dataView.SelectedCells.Count == 1))) 
               {  
                var scope = Scope.Instance;  
                var row = dataView.Rows[e.RowIndex]; 
                var variable = row.DataBoundItem as Variable; 

                if (scope.Variables.Contains(variable)) 
                { 
                 dataView[e.ColumnIndex, e.RowIndex].Style.BackColor = 
                  scope.GetGraph(variable).Color; 
                } 

                else 
                { 
                 dataView[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.White; 
                } 
               } 
              }; 
+2

no puedo visualizar lo que estás tratando de decir Tal vez un fragmento de ejemplo (antes y después) ayudará – BoltClock

+0

edité.. mi pregunta. Eso es lo que quiero decir. – Peter17

+0

R #? http://stackoverflow.com/questions/2176429/is-there-a-way-t o-mark-up-code-to-tell-resharper-not-to-format-it – steamer25

Respuesta

1

Eso sí que es extraño - la sangría no debe ir tan lejos.

Intenta cortar y pegarlo en su lugar y Visual Studio debería arreglarlo para que pegues. Esto es lo que me sale:

dataView.CellFormatting += (s, e) => 
{ 
    if ((e.ColumnIndex == 1) && ((dataView.SelectedCells.Count == 1))) 
    { 
     var scope = Scope.Instance; 
     var row = dataView.Rows[e.RowIndex]; 
     var variable = row.DataBoundItem as Variable; 

     if (scope.Variables.Contains(variable)) 
     { 
      dataView[e.ColumnIndex, e.RowIndex].Style.BackColor = 
       scope.GetGraph(variable).Color; 
     } 

     else 
     { 
      dataView[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.White; 
     } 
    } 
}; 
+0

Sí, copiar pegar funciona. Pero no es muy conveniente, sin embargo. – Peter17

+0

@ Peter17: ver si funciona Ctrl + E + D. – BoltClock

+0

No, Ctrl + E + D no funciona en este caso. – Peter17

2

Depende de la cantidad de espacio en blanco se considera feo, pero una cosa que puede hacer para reducir al mínimo se alcanzó un retorno de carro después de la igualdad. Entonces terminas con algo como esto. `

{ 
     var raw_custs = 
      (from customer in GetActive() 
      where customer.Name.Contains(name) 
      select customer).Take(numberToGet).ToList(); 

lo general pulse Ctrl-E CTRL-D después de hacer un cambio como este para obtener el documento de auto-formato (Editar-> Avanzado-> Document Format)

(Acabo de ver su puesto modificado - cuando pongo que en VS y la tecla de retorno después de la + =

dataView.CellFormatting += 
    (s, e) => 
    { 
     if ((e.ColumnIndex == 1) && ((dataView.SelectedCells.Count == 1))) 
     { 
      var scope = Scope.Instance; 
      var row = dataView.Rows[e.RowIndex]; 
      var variable = row.DataBoundItem as Variable; 

      if (scope.Variables.Contains(variable)) 
      { 
       dataView[e.ColumnIndex, e.RowIndex].Style.BackColor = 
        scope.GetGraph(variable).Color; 
      } 

      else 
      { 
       dataView[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.White; 
      } 
     } 
+0

Gracias, presionar return ayuda. – Peter17

+0

De nada, también puede jugar con las configuraciones en Herramientas-> Opciones-> Editor de texto-> C# -> Formatear-> Sangría (¡qué mal!) Sé que tengo la opción * Sangría abrir llaves cercanas * desmarcada. – Tod