找不到使格式化程序将大括号放在同一行的方法。默认格式化程序似乎完全忽略与新行相关的所有设置。
有些人推荐 C# FixFormat 扩展,但现在它已被弃用并从市场上消失。我也找到了这个扩展,但它从一开始就清楚地表明它不会有帮助。
Before
public class ClassName {
public void CallMethod() {
this.LongUglyMethod("1234567890", "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
}
}
After
public class ClassName
{
public void CallMethod()
{
this.LongUglyMethod(
"1234567890",
"abcdefghijklmnopqrstuvwxyz",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
);
}
}
Run Code Online (Sandbox Code Playgroud)
默认格式化程序似乎完全忽略这些设置。我试图把它们放在任何地方(正如这里所说的那样),但它只考虑与新行无关的所有内容。
{
"MSBuild": {
"UseLegacySdkResolver": true
},
"FormattingOptions": {
"NewLine": "\n",
"UseTabs": true,
"TabSize": 2,
"IndentationSize": 2,
"NewLinesForBracesInLambdaExpressionBody": false,
"NewLinesForBracesInAnonymousMethods": false,
"NewLinesForBracesInAnonymousTypes": false,
"NewLinesForBracesInControlBlocks": false,
"NewLinesForBracesInTypes": false,
"NewLinesForBracesInMethods": false,
"NewLinesForBracesInProperties": false,
"NewLinesForBracesInObjectCollectionArrayInitializers": false,
"NewLinesForBracesInAccessors": false,
"NewLineForElse": false,
"NewLineForCatch": false,
"NewLineForFinally": false …Run Code Online (Sandbox Code Playgroud)