CSharpier vs shfmt
CSharpier
csharpier.comshfmt
github.comSide by side
| Figure | CSharpier | shfmt |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Code Formatting Tools | 8.0 (#8) | 7.6 (#23) |
| Configuration | Configuration can use .csharpierrc JSON or YAML files or .editorconfig, with options including print width, tabs, indentation, and line endings. | shfmt reads formatting options from EditorConfig files when parser or printer flags are not provided. |
| Editor integrations | Official extensions or plugins are listed for Visual Studio 2022, Visual Studio 2019, Visual Studio Code, and Rider; the page also describes setups for Neovim, Emacs, and Zed. | Listed integrations include JetBrains shell plugins, micro, NeoVim, VS Code, Emacs, and Trunk. |
| Purpose | CSharpier parses C# and XML code and reprints it using its own formatting rules. | shfmt formats shell programs and is included in a shell parser, formatter, and interpreter project. |
Plans
In their own words
CSharpier
CSharpier is a free, open-source formatter for C# and XML. It parses source files and reprints them using its own formatting rules, with only a few basic options rather than a broad set of style switches. The homepage states support through C# version 14. Configuration can be kept in .csharpierrc JSON or YAML files or in .editorconfig, covering print width, tabs, indentation, and line endings. CSharpier runs as a .NET tool, installed for one project or globally, and CSharpier.Core provides a NuGet API for formatting from code. It can check files and returns a failing exit code by default when formatting is incorrect. Automation options include pre-commit hooks, MSBuild builds, and CI/CD workflows. Integrations are listed for Visual Studio 2022 and 2019, Visual Studio Code, Rider, Neovim, Emacs, and Zed. It runs on Windows, macOS, and Linux. Code that cannot compile produces error diagnostics instead of being formatted.