How can I disable code formatting for a specific block of code in Visual Studio 2017 (C# 7)?
I have this method:
public CarViewModel(ICarsRepo carsRepo)
{
    ...
    Manufacturers = ToSelectList<Manufacturer>();
    Categories = ToSelectList<Category>();
    States = ToSelectList<State>();
}
And I would like to format it like so:
public CarViewModel(ICarsRepo carsRepo)
{
    ...
    Manufacturers   = ToSelectList<Manufacturer>();
    Categories      = ToSelectList<Category>();
    States          = ToSelectList<State>();
}
But when I press Ctrl K + Ctrl D, it goes back to what it was.
#region inspirationI would like something to wrap the specific block of code like a #region:
public CarViewModel(ICarsRepo carsRepo)
{
    ...
    #region disable_format
    Manufacturers   = ToSelectList<Manufacturer>();
    Categories      = ToSelectList<Category>();
    States          = ToSelectList<State>();
    #endregion
}
#pragma inspirationOr not necessarily a region, maybe a pragma used like in this code snippet:
            var parameter = 0;
            var sqlCommand = $"{parameter}";
#pragma warning disable EF1000 // Possible SQL injection vulnerability.
            this.Database.ExecuteSqlCommand(sqlCommand);
#pragma warning restore EF1000 // Possible SQL injection vulnerability.
This is more of an aesthetic preference which might not be shared by most developers, but which I quite like in my code from time to time.
Visual Studio (reference)
#pragma warning disable format
#pragma warning restore format
    switch (number) {
#pragma warning disable format
        case 1:    cardinal = "one";     animal = "monkey";     break;
        case 2:    cardinal = "two";     animal = "horse";      break;
        case 3:    cardinal = "three";   animal = "pig";        break;
        case 4:    cardinal = "four";    animal = "chicken";    break;
#pragma warning restore format
    }
Rider (doc)
// @formatter:off
// @formatter:on
    switch (number) {
        // @formatter:off
        case 1:    cardinal = "one";     animal = "monkey";     break;
        case 2:    cardinal = "two";     animal = "horse";      break;
        case 3:    cardinal = "three";   animal = "pig";        break;
        case 4:    cardinal = "four";    animal = "chicken";    break;
        // @formatter:on
    }
Combined
    switch (number) {
#pragma warning disable format // @formatter:off
        case 1:    cardinal = "one";     animal = "monkey";     break;
        case 2:    cardinal = "two";     animal = "horse";      break;
        case 3:    cardinal = "three";   animal = "pig";        break;
        case 4:    cardinal = "four";    animal = "chicken";    break;
#pragma warning restore format // @formatter:on
    }
This doesn't disable just a block of formatting but it stops Visual Studio from formatting any of your declaration statements.

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With