8

我正在使用 VS 2010 + resharper,并且我厌倦了重新格式化代码中的括号缩进,因为我想要它。例如,如果我有如下代码:

operators.Keys
    .ToList()
    .ForEach(k => filters
        .AddRange(CustomHtmlHelpers.GetIdAndValueListByPrefix(queryString, k)
            .Select(t => new QueryFilter()
            {
                Operation = operators[k],
                PropertyName = t.Item1,
                Value = t.Item2
            })))

如果我把;VS(或 resharper)“修复”括号缩进放在最后,那么代码就变成了:

operators.Keys
    .ToList()
    .ForEach(k => filters
                        .AddRange(CustomHtmlHelpers.GetIdAndValueListByPrefix(queryString, k)
                                    .Select(t => new QueryFilter()
                                    {
                                        Operation = operators[k],
                                        PropertyName = t.Item1,
                                        Value = t.Item2
                                    })));

如果我使用 resharper 的代码清理,也会发生同样的情况。我可能可以关闭自动代码重新格式化,;但在其他情况下我需要它。我尝试在 VS 和 resharper 设置中更改代码格式化选项,但从未得到我想要的缩进。

我如何配置 vs 或 resharper 以便它不会执行多个制表符格式?或者我可以使用其他插件(与 r# 一起)专门用于此目的?

编辑:对于任何对此问题感兴趣的人,在 r# 论坛http://devnet.jetbrains.net/thread/304794中也有同样的问题,任何想从 r# 看到更好的嵌套代码缩进的人都欢迎在这里投票http ://youtrack.jetbrains.net/issue/RSRP-88220

4

1 回答 1

1

只是猜测...

转到 ReSharper -> 选项 -> 代码编辑 -> c# -> 格式化样式 -> 其他

在 Align Multiline Constructs 中搜索并尝试切换复选框“链式方法调用”的状态(我想您的值已为该复选框“选中”)。

如果不是这个,我希望所需的设置非常接近:-)

于 2013-07-30T09:24:11.073 回答