До недавних пор, весь код я форматировал с помощью расширения C# FixFormat. Оно старое, не поддерживается, но работает! И вполне себе работает.
Но после недавней переустановки VS Code, я ставил заново расширение для C# (OmniSharp) и погуглил на предмет выше. Как оказалось, OmniSharp уже умеет сам форматировать код, причем использует все необходимые параметры.
Для того чтобы всё это заработало, надо в корне проекта создать файл omnisharp.json и добавить туда параметры форматирования. Например:
{
"FormattingOptions": {
"newLine": "\n",
"useTabs": false,
"tabSize": 4,
"indentationSize": 4,
"NewLinesForBracesInTypes": false,
"NewLinesForBracesInMethods": false,
"NewLinesForBracesInProperties": false,
"NewLinesForBracesInAccessors": false,
"NewLinesForBracesInAnonymousMethods": false,
"NewLinesForBracesInControlBlocks": false,
"NewLinesForBracesInAnonymousTypes": false,
"NewLinesForBracesInObjectCollectionArrayInitializers": false,
"NewLinesForBracesInLambdaExpressionBody": false,
"NewLineForElse": false,
"NewLineForCatch": false,
"NewLineForFinally": false,
"NewLineForMembersInObjectInit": false,
"NewLineForMembersInAnonymousTypes": false,
"NewLineForClausesInQuery": false
}
}
Также, не забудьте поставить в настройках VS Code:
- Csharp → Format → true
- Editor → Default formatter → ms-dotnettools.csharp
Для форматирования при вводе и сохранении:
- Editor → Format On Type → true
- Editor → Format On Save → true
И как бонус: OmniSharp также научился ставить XML комментарии, так что, минус ещё одно расширение. Просто вводите три слеша над методом и шаблон XML коммента готов.