Search code examples
c#visual-studioresharper

Indent chained method calls so they all start at the same position below each other


Consider the following code formatting, taken from this answer.

var query = grades.GroupBy(student => student.Name)
                  .Select(group => 
                        new { Name = group.Key,
                              Students = group.OrderByDescending(x => x.Grade) })
                  .OrderBy(group => group.Students.First().Grade);

Note how the calls to GroupBy, Select and OrderBy all start exactly at the same position / are directly aligned below each other. How can I automatically format my code like this with either Visual Studio directly or using Resharper?


Solution

  • In ReSharper, under Code Editing -> C# -> Formatting Style -> Tabs, Indents, Alignment -> Align multiline constructs, check the Chained method calls box. It takes a bit of time but your really ought to have a thorough look through that Options dialogue.

    enter image description here