对象初始化器格式

Posted

技术标签:

【中文标题】对象初始化器格式【英文标题】:Object Initializer Formatting 【发布时间】:2013-08-11 16:37:06 【问题描述】:

Resharper 8 中的哪些设置正在像这样重新格式化我的对象初始化程序? (即在它自己的行上有逗号)。

var snowDepthProcessor = new DataProcessor<SnowDepthModel>

    Name = "Snow Depth"
    ,
    DataRetriever = snowReportRetriever
    ,
    Parser = new SnowDepthParser()
    ,
    ...
;

我已经尝试了所有我能找到/想到的设置组合;我确实希望将行截断,但我不希望逗号独占一行。

【问题讨论】:

您使用的是什么版本的 Resharper? 8(在标题中),我也将其添加到问题中 :) 我不看标题...你在换行和换行设置中为右边距设置了什么(在换行子标题下)? 我尝试了很多设置组合,但没有找到适合您的问题。你能把你的 ReSharper 设置上传到某个地方吗?附言如果将逗号放在行尾,然后调用代码格式,ReSharper 是否将每个逗号放在自己的行中? 即使我重置为默认设置,在 Resharper 9 中仍然可以看到这个 【参考方案1】:

我分担你的痛苦。我不得不承认我的解决方案只是部分的,因为它需要将样式从您想要使用的样式更改为

List<string> demo = new List<string>

    "a",
    "b",
    "c"

然后格式不会改变。我也更愿意使用您描述的语法,所以我创建了 R# 票 https://youtrack.jetbrains.com/issue/RSRP-453704 但在解决之前,这只是抑制它的唯一方法(即使在最新的 R#10 中它的行为方式也一样)

EDIT: 好消息。似乎从R# 2017.1开始修复了

【讨论】:

以上是关于对象初始化器格式的主要内容,如果未能解决你的问题,请参考以下文章

使用对象初始化器有啥好处吗?

Java类加载器

使用对象初始化器创建实例的表达式

浅谈Cocos2d-js cc.director

C#_基础,初始化器

javascript 速记对象初始化器