gpt4 book ai didi

c# - 为什么 Visual Studio 2010 C# Express 不能正确格式化嵌套代码?

转载 作者:行者123 更新时间:2023-11-30 17:56:00 24 4
gpt4 key购买 nike

考虑这段代码...

Create(x,y,z,
null, null, null,
new Class1[ ] {
new Class1(a,b,c),
new Class1(a,b,c)
},
new Class2[] {
new Class2(d,e,f )
},
true);

注意参数逗号后没有空格,Class1 数组定义和 Class2 调用中有多余的空格。

如果我格式化我的文档——Ctrl+E、D 或 Ctrl+K、D——代码被格式化为这样...

Create(x, y, z,
null, null, null,
new Class1[] {
new Class1(a,b,c),
new Class1(a,b,c)
},
new Class2[] {
new Class2(d,e,f )
},
true);

请注意,“外部”代码中的参数逗号已使用空格正确格式化(根据我的喜好),并且额外的空格已从 Class1 数组定义中删除(同样,我的喜好)。但是,“内部”代码中的参数逗号格式不正确,额外的空格保留在 Class2 调用中。

代码绝对没有问题——它编译和运行没有错误。

每次我使用大括号创建嵌套的复杂调用时都会发生这种情况。我想我可以通过将代码全部分解并使用临时变量来使我的代码更长更复杂,但这似乎有点过分了。

为什么 Visual Studio 2010 C# Express 无法正确格式化此类嵌套代码?还有其他人经历过吗?如有必要,我可以提供我的格式首选项。提前致谢! :)

最佳答案

@tvwxyz:我可以用 Ctrl+K、D 重现这个问题。

但是,有趣的是,如果我启用“在 } 上自动格式化已完成的 block ”,当我关闭该函数时它可以正常工作(按预期进行)。

Tools -> Options -> Text Editor-> C#-> Formatting -> General -> Automatically format completed block on }

关于c# - 为什么 Visual Studio 2010 C# Express 不能正确格式化嵌套代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14630368/

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