Can't find a way to make formatters put braces on the same line. The default formatter seems to completely ignore all the settings related to new lines.
Some people recommended C# FixFormat extension, but now it's deprecated and gone from the marketplace. I also found this extension, but it makes it clear from the very start that it's not gonna help.
Before
public class ClassName {
public void CallMethod() {
this.LongUglyMethod("1234567890", "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
}
}
After
public class ClassName
{
public void CallMethod()
{
this.LongUglyMethod(
"1234567890",
"abcdefghijklmnopqrstuvwxyz",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
);
}
}
The default formatter seems to completely ignore the settings at all. I tried to put these everywhere (as it was told here), but it only considers everything not related to new lines.
{
"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
}
}
I tried with: Manjaro Linux, VS Code, Microsoft C# extension, Dotnet 6
In your Visual Studio Code, in the C# extension settings, make sure the Omnisharp: Enable Editor Config Support option (
omnisharp.enableEditorConfigSupport) is enabled.Then create a file named
.editorconfigin your project directory with the following content:If the file already exists, modify or add the
csharp_new_line_before_open_brace = noneline in the block for[*.cs]files.In order to not have linebreaks before else, catch and finally, also add these lines:
If you want to apply the settings in all your projects, you can either
.editorconfigfile in a common parent directory of your project directories or.editorconfigfile in the home directory. In Windows, this is the directory under %HOMEPATH%.