Belp.Formatting 1.0.0

dotnet add package Belp.Formatting --version 1.0.0                
NuGet\Install-Package Belp.Formatting -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Belp.Formatting" Version="1.0.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Belp.Formatting --version 1.0.0                
#r "nuget: Belp.Formatting, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Belp.Formatting as a Cake Addin
#addin nuget:?package=Belp.Formatting&version=1.0.0

// Install Belp.Formatting as a Cake Tool
#tool nuget:?package=Belp.Formatting&version=1.0.0                

Belp.Formatting

An unofficial bundle of formatting tools that strives for closeness to conventional C#.

The package attempts to enforce writing C# in the most conventional manner possible. To this end, it deviates from Microsoft's conventions in several areas. For example,

  • _camelCase for private fields

    The BCL uses conventions such as m_camelCase and t_camelCase. The convention is not popular in modern C# and is limited to the BCL and older codebases.

    Roslyn uses this.camelCase, which does have some usage, but isn't more popular than _camelCase.

  • PreEvent/PostEvent or BeforeEvent/AfterEvent instead of Eventing/Evented.

Furthermore, the stance of this package on some C# disputed conventions are as follows,

  • Explicit type over var unless self-evident.
    IEnumerable<string> x = GetNames();
    var y = (string)obj;
    var z = new object();
    object a = new();
    int b = 2;
    var c = 3L;
    
  • All methods must use block bodies(as opposed to expression bodies) without exception.
  • Properties may use expression bodies.
  • All selective statements(if, switch), loop statements(while, for), and other statements which can be accompanied by curly braces must be accompanied by curly braces. One notable exception is a series of using statements after another.
    using (null)
    using (null)
    using (null)
    {
    }
    
    // Also allowed
    using (null)
    {
        using (null)
        {
            using (null)
            {
            }
        }
    }
    
  • No parentheses or grouping operators unless necessary.
  • Switch case contents must be wrapped in {} and must have the break statement placed outside the curly braces if possible.

Comment Legend

#§ Analyzers section
#¶ Analyzers subsection
#: Analyzer description
#> Link to documentation
#! Per-project configuration
#? Per-user configuration
#- Removed
#X Superseded by another analyzer
#/ Miscellaneous comment

Some common reasons for an analyzer to be disabled is as follows,

  • Situational: the analyzer is sometimes useful and sometimes not.
  • Subjective: the reported issue is decided by the opinions of the developer.
  • Too broad: the analyzer reports too many false positives

Installation

Requirements

  • .NET SDK 8 or newer

Install using an Editor

  1. Locate the project file(for example, Project.csproj, Project.fsproj).
  2. Open the project file in an editor.
  3. Locate the an <ItemGroup>.
  4. Add a new PackageReference element to the item group with the Include attribute set to Belp.Formatting and the Version attribute set to 0.0.1 or a version of choosing. For example, <PackageReference Include="Belp.Formatting" Version="0.0.1" />.
  5. Run dotnet restore.
Uninstallation
  1. Locate the project file(for example, Project.csproj, Project.fsproj).
  2. Open the project file in an editor.
  3. Locate the PackageReference element with an Include attribute set to Belp.Formatting.
  4. Delete the element.

Install using the .NET CLI

  1. Open a terminal.
  2. Navigate to the containing directory of the project file.
  3. Run the command dotnet add package Belp.Formatting.
Uninstallation
  1. Open a terminal.
  2. Navigate to the containing directory of the project file.
  3. Run the command dotnet remove package Belp.Formatting.

Install using Visual Studio Package Manager

  1. Open Visual Studio.
  2. Right click the project in the Solution Explorer.
  3. Click on "Manage NuGet Packages".
  4. Go to the "Browse" tab.
  5. Search for Belp.Formatting.
  6. Install.
Uninstallation
  1. Open Visual Studio.
  2. Right click the project in the Solution Explorer.
  3. Click on "Manage NuGet Packages".
  4. Go to the "Installed" tab.
  5. Click on Belp.Formatting.
  6. Click on "Uninstall".

Usage

The package automatically configures the formatting upon installation.

Development

Prerequisites

  • Install the .NET 8.0 SDK version 8.0.100 or newer.

Building with Visual Studio

  1. Open Belp.Formatting.sln.
  2. Open the Solution Explorer.
  3. Right click on the project Belp.Formatting in the Solution Explorer.
  4. Click on Pack.

Building with .NET CLI

  1. Open a terminal in the repository root.
  2. Run dotnet pack

Output

By default, the output is located in src/Belp.Formatting/Belp.Formatting/bin/Release/.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 168 11/11/2024