1

我希望 resharper 通过以下方式缩进我的代码:

var modification = shortUrlIndexCollection.FindAndModify
(
    Query.Or
    (
        Query.And
        (
            Query.EQ("_id", "Index"),
            Query.EQ("LockId", Guid.Empty)
        ),
        Query.LT("UnlockOn", now)
    ),
    SortBy
        .Null,
    Update
        .Set("LockId", guid)
        .Set("UnlockOn", now + reserveDuration),
    true
);

但相反,它以以下方式格式化我的代码:

var modification = shortUrlIndexCollection.FindAndModify
    (
        Query.Or
            (
                Query.And
                    (
                        Query.EQ("_id", "Index"),
                        Query.EQ("LockId", Guid.Empty)
                    ),
                Query.LT("UnlockOn", now)
            ),
        SortBy
            .Null,
        Update
            .Set("LockId", guid)
            .Set("UnlockOn", now + reserveDuration),
        true
    );

根据使用 Resharper 的自定义大括号格式,我已经尝试过该continuous line indent multiplier选项,但它给出了错误的结果......

4

2 回答 2

4

试试Resharper 7.1,它修复了链式方法的缩进。

刚刚用我的 stylecop 设置试了一下,格式变成了:

shortUrlIndexCollection.FindAndModify(
                Query.Or(
                    Query.And(Query.EQ("_id", "Index"), Query.EQ("LockId", Guid.Empty)), Query.LT("UnlockOn", now)),
                SortBy.Null,
                Update.Set("LockId", guid).Set("UnlockOn", now + reserveDuration),
                true);

不是你想要的。

于 2012-11-14T21:15:35.977 回答
2

在 ReSharper 7.1 或更低版本中,无法按照您想要的(方式进行格式化。)我们正在努力在 8.0 中实现一个新的缩进系统,它可以让您更好地控制 () 和 [] 的布局。

于 2012-11-15T06:59:19.477 回答