Форматировние лямбд
От: igor-booch Россия  
Дата: 03.03.13 11:11
Оценка:
При включенном решарпере, следующая люмбда:

    _cache.ExecuteOperation(ReferencingEntity.GetType(), () => {
        LogicalContext referencingEntityLogicalContext = this.referencingEntityLogicalContext;
        if (referencingEntityLogicalContext != null)
        {
            _cache.RegisterManyToOneReference(referencingEntityLogicalContext, this);
        }
        else
        {
            _cache.EntityLoaded += (sender, args) =>
            {
                {
                    if (args.LoadedEntity == ReferencingEntity && this._referencedEntityId != null)
                    {
                        setValue();
                        _cache.RegisterManyToOneReference(referencingEntityLogicalContext, this);
                    }                    
                }    
            };                    
        }
    });


автоматически форматируется следующим образом:


_cache.ExecuteOperation(ReferencingEntity.GetType(),
                        () =>
                        {
                            LogicalContext referencingEntityLogicalContext = this.referencingEntityLogicalContext;
                            if (referencingEntityLogicalContext != null)
                            {
                                _cache.RegisterManyToOneReference(referencingEntityLogicalContext, this);
                            }
                            else
                            {
                                _cache.EntityLoaded += (sender, args) =>
                                                        {
                                                            {
                                                                if (args.LoadedEntity == ReferencingEntity
                                                                    && this._referencedEntityId != null)
                                                                {
                                                                    setValue();
                                                                    _cache.RegisterManyToOneReference(
                                                                                                        referencingEntityLogicalContext,
                                                                                                        this);
                                                                }
                                                            }
                                                        };
                            }
                        });


Автоматическое форматирование происходит при вводе точек с запятой ( и закрывающих фигурных скобок (})
При выключенном решарпере такое не происходит.
Как это отключить в решарпере?
http://rsdn.ru/Info/rules.xml
Re: Форматировние лямбд
От: ZagSer168 Ниоткуда https://x.u168.ru
Дата: 03.03.13 11:23
Оценка:
Может нужно обновиться? Давно уже эту проблему поправили.
А также настройки форматирования сбросить.
Одиночное наследование — это всего лишь частный случай множественного наследования.
Re[2]: Форматировние лямбд
От: igor-booch Россия  
Дата: 03.03.13 12:03
Оценка:
ZS>Может нужно обновиться? Давно уже эту проблему поправили.
JetBrains ReSharper 7.1.1

ZS>А также настройки форматирования сбросить.

А как это сделать?
Такое поведение было с самого начала установки.
Я пробовал играться с разными настройками форматирования: не помогло.
Возможно решарпер берет настройки из старых версий? Тогда действительно можно попробовать сбросить.
http://rsdn.ru/Info/rules.xml
Re[3]: Форматировние лямбд
От: qxWork Голландия http://www.jetbrains.com/company/people/Coox_Sergey.html
Дата: 04.03.13 18:58
Оценка:
Здравствуйте, igor-booch, Вы писали:

IB>А как это сделать?

ReSharper | Options | Code Editing | C# | Formatting Style | Other
там в группе Align Multiline Construct есть Anonymous method body
Re[4]: Форматировние лямбд
От: igor-booch Россия  
Дата: 06.03.13 13:13
Оценка:
W>ReSharper | Options | Code Editing | C# | Formatting Style | Other
W>там в группе Align Multiline Construct есть Anonymous method body

Спасибо,
Снял галку Anonymous method body, теперь конструкция указанная мной в первом письме форматируется при вводе ; или } следующим образом:


_cache.ExecuteOperation(ReferencingEntity.GetType(),
                        () =>
                        {
                            LogicalContext referencingEntityLogicalContext = this.referencingEntityLogicalContext;
                            if (referencingEntityLogicalContext != null)
                            {
                                _cache.RegisterManyToOneReference(referencingEntityLogicalContext, this);
                            }
                            else
                            {
                                _cache.EntityLoaded += (sender, args) =>
                                {
                                    if (args.LoadedEntity == ReferencingEntity)
                                    {
                                        _cache.RegisterManyToOneReference(this.referencingEntityLogicalContext, this);

                                        if (ResolveReferencedIdMode == ResolveReferencedIdMode.Eager)
                                        {
                                            this.setValue();
                                        }
                                    }
                                };
                            }
                        });


Это лучше, но все равно не то. Мне нужно чтобы Решарпер вообще никак не трогал мою конструкцию и оставлял мое форматирование.
http://rsdn.ru/Info/rules.xml
Re[5]: Форматировние лямбд
От: JetAlex Россия  
Дата: 07.03.13 13:12
Оценка: 3 (1)
Здравствуйте, igor-booch, Вы писали:

IB>Это лучше, но все равно не то. Мне нужно чтобы Решарпер вообще никак не трогал мою конструкцию и оставлял мое форматирование.


А Вы попробуйте еще сделать следующее:
— открыть ReSharper | Options | Code Editing | C# | Formatting Style | Line Breaks and Wrapping | Line Wrapping | Wrap invocation arguments;
— выбрать в дроп-дауне значение "Simple wrap"
Re[6]: Форматировние лямбд
От: igor-booch Россия  
Дата: 07.03.13 13:27
Оценка:
JA> — открыть ReSharper | Options | Code Editing | C# | Formatting Style | Line Breaks and Wrapping | Line Wrapping | Wrap invocation arguments;
JA> — выбрать в дроп-дауне значение "Simple wrap"

Помогло, спасибо! Но я сразу не обратил внимания на это значение опции, так как в примере для него указан следующий код

CallMethod(arg1, arg2, arg3,
           arg4, arg5);


Не совсем понятно как этот пример кода связан с моей проблемой.
http://rsdn.ru/Info/rules.xml
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.