Автоформатирование лямбда-функций в Visual studio 2010 - PullRequest
6 голосов
/ 22 ноября 2011

Как настроить 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 ]

2 голосов
/ 22 ноября 2011

Это зависит от того, сколько пустого пространства вы считаете уродливым, но одна вещь, которую вы можете сделать, чтобы минимизировать его, это возврат каретки сразу после равного. Тогда вы получите что-то вроде этого. `

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

Я обычно нажимаю CTRl-E CTRL-D сразу после внесения такого изменения, чтобы получить документ для автоматического форматирования (Правка-> Дополнительно-> Формат документа)

(Только что увидел ваш исправленный пост - когда я поместил его в VS и нажал return после + =

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;
            }
        }
1 голос
/ 22 ноября 2011

Теперь это странно - отступ не должен заходить так далеко.

Попробуйте вырезать и вставить его на место, и Visual Studio должен исправить это при вставке. Вот что я получаю:

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;
        }
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...