gpt4 book ai didi

c# - 使用对象初始化器时修复缩进

转载 作者:bug小助手 更新时间:2023-10-28 10:47:19 25 4
gpt4 key购买 nike

是否有一个工具可以自动缩进使用 object initializers 的代码?以下列方式:

SomeType someType = new SomeType
{
Prop1 = "prop 1 value",
Prop2 = "prop 2 value",
Things = new List<Thing>
{
new Thing
{
ThingProp = "thing prop value"
}
}
};

即使用与其他 C# 代码中常见的相同的大括号缩进规则。

ReSharper 喜欢更重地缩进,但如果以后代码更改,则不会保持这种意图(我们已关闭各种 ReSharper 选项以防止这种情况发生)。

标准的 Visual Studio 2008 格式化选项 (Ctrl-K-D) 不会更改对象初始值设定项的缩进。

类定义包含在下面

public class Thing
{
public string ThingProp { get; set; }
}

public class SomeType
{
public string Prop1 { get; set; }
public string Prop2 { get; set; }
public List<Thing> Things { get; set; }
}

最佳答案

进入 ReSharper/Options/Languages/C#/Formatting Style/Other 并取消选中“Indent array, object and collection initializer block”(靠近底部)。

(数组、集合和对象初始化器有几个不同的选项,但它们分散在不同的部分。据我所知,预览不会采用您拥有的其他选项选择考虑,这无济于事...)

如果你让 ReSharper 使用 Ctrl-E Ctrl-C 重新格式化代码,你可以得到它完全按照您的帖子格式化代码。要使嵌入的列表项完全展开,您需要取消选中 Line Breaks and Wrapping 中的“将简单的数组、对象和集合放在单行上”——这可能不是您在其他地方想要的。 :(

关于c# - 使用对象初始化器时修复缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1624301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com