Skip to content

dotnet-format

dotnet-format documentation

format - GitHub

Configuration in Mega-Linter

Variable Description Default value
CSHARP_DOTNET_FORMAT_ARGUMENTS User custom arguments to add in linter CLI call
Ex: -s --foo "bar"
CSHARP_DOTNET_FORMAT_FILTER_REGEX_INCLUDE Custom regex including filter
Ex: (src|lib)
Include every file
CSHARP_DOTNET_FORMAT_FILTER_REGEX_EXCLUDE Custom regex excluding filter
Ex: (test|examples)
Exclude no file
CSHARP_DOTNET_FORMAT_FILE_EXTENSIONS Allowed file extensions. "*" matches any extension, "" matches empty extension. Empty list excludes all files
Ex: [".py", ""]
[".cs"]
CSHARP_DOTNET_FORMAT_FILE_NAMES_REGEX File name regex filters. Regular expression list for filtering files by their base names using regex full match. Empty list includes all files
Ex: ["Dockerfile(-.+)?", "Jenkinsfile"]
Include every file
CSHARP_DOTNET_FORMAT_DISABLE_ERRORS Run linter but consider errors as warnings true
CSHARP_DOTNET_FORMAT_DISABLE_ERRORS_IF_LESS_THAN Maximum number of errors allowed 0

Mega-Linter Flavours

This linter is available in the following flavours

Flavor Description Embedded linters Info
all Default Mega-Linter Flavor 84 Docker Image Size (tag) Docker Pulls
dotnet Optimized for C, C++, C# or VB based projects 43 Docker Image Size (tag) Docker Pulls

Behind the scenes

How are identified applicable files

  • File extensions: .cs

Example calls

dotnet-format --folder --check --exclude / --include myfile.cs
dotnet-format --folder --exclude / --include myfile.cs

Help content

dotnet-format:
  dotnet-format

Usage:
  dotnet-format [options] [<workspace>]

Arguments:
  <workspace>    A path to a solution file, a project file, or a folder containing a solution or project file. If a path is not specified then the current directory is used.

Options:
  -f, --folder                                                               Whether to treat the `<workspace>` argument as a simple folder of files.
  -w, --fix-whitespace                                                       Run whitespace formatting. Run by default when not applying fixes.
  -s, --fix-style <error|info|warn>                                          Run code style analyzers and apply fixes.
  -a, --fix-analyzers <error|info|warn>                                      Run 3rd party analyzers and apply fixes.
  --include <include>                                                        A list of relative file or folder paths to include in formatting. All files are formatted if empty. [default: System.String[]]
  --exclude <exclude>                                                        A list of relative file or folder paths to exclude from formatting. [default: System.String[]]
  --check                                                                    Formats files without saving changes to disk. Terminates with a non-zero exit code if any files were formatted.
  --report <report-path>                                                     Accepts a file path, which if provided, will produce a json report in the given directory. [default: ]
  -v, --verbosity <d|detailed|diag|diagnostic|m|minimal|n|normal|q|quiet>    Set the verbosity level. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]
  --version                                                                  Show version information
  -?, -h, --help                                                             Show help and usage information

Installation on mega-linter Docker image

  • Dockerfile commands :
# Parent descriptor install
RUN wget --tries=5 -q -O dotnet-install.sh https://dot.net/v1/dotnet-install.sh \
    && chmod +x dotnet-install.sh \
    && ./dotnet-install.sh --install-dir /usr/share/dotnet -channel Current -version latest

ENV PATH="${PATH}:/root/.dotnet/tools:/usr/share/dotnet"
# Linter install
RUN /usr/share/dotnet/dotnet tool install -g dotnet-format

Example success log

Results of dotnet-format linter (version 4.1.131201)
See documentation on https://nvuillam.github.io/mega-linter/descriptors/csharp_dotnet_format/
-----------------------------------------------

[SUCCESS] .automation/test/csharp/csharp_good_01.cs
      Formatting code files in workspace '.automation/test/csharp'.
      Format complete in 1181ms.

Example error log

Results of dotnet-format linter (version 4.1.131201)
See documentation on https://nvuillam.github.io/mega-linter/descriptors/csharp_dotnet_format/
-----------------------------------------------

[ERROR] .automation/test/csharp/csharp_bad_01.cs
      Formatting code files in workspace '.automation/test/csharp'.
      csharp/csharp_bad_01.cs(1,33): Fix whitespace formatting.
      Formatted code file '.automation/test/csharp/csharp_bad_01.cs'.
      Format complete in 1295ms.