Code review is an unavoidable topic at work for developers. Coding style aside, if the code format is different, that would add difficulty to the code review.
Since then, this article has been about the basic code format for everyone in the same team, which can go through different IDE and platforms. Especially for Jetbrain IDE of C#, Rider. (If anyone is interested in VSCode, we can talk about it later).
Here, I'd like to combine CSharpier and Dotnet format.
Let's get started!
What is CSharpier?
CSharpier is an opinionated code formatter for c#. It uses Roslyn to parse your code and re-prints it using its own rules. The printing process was ported from prettier but has evolved over time.
Install CSharpier globally using the following command.
dotnet tool install csharpier -g
Then format the contents of a directory and its children with the following command.
dotnet csharpier .
Open Settings -> Plugins -> Search "CSharpier"
After installation, please "On Save" is turned on.
What is Dotnet Format?
dotnet-format is a code formatter for dotnet that applies style preferences to a project or solution. Preferences will be read from an .editorconfig file, if present, otherwise a default set of preferences will be used. At this time dotnet-format is able to format C# and Visual Basic projects with a subset of supported .editorconfig options.
Install dotnet format
dotnet tool install -g dotnet-format
1.Open Settings -> Tools -> File Watchers
2.Press The “Plus Sign” to Add a Custom watcher
Set the name to “dotnet format on save”
- FileType: C#
- Scope: Open Files
- Program: Write dotnet-format
- Arguments: $SolutionPath$ -verbosity diagnostic--include $FileRelativePath$
- Append --fix-style warning to fix any style issues automatically on save.
- Append --fix-analyzers warning to fix any analyzer warnings on save.
- Advanced (Options)
- Disabled all advanced option checkboxes.
- All other values were left default
3.Press Ok, and Save Settings.
Any feedback is welcome. Happy Coding 🤘!
Top comments (1)
Not working. It gives me error like below:
"Error: Invalid executable"