[visual-studio] How do you auto format code in Visual Studio?

I know Visual Studio can auto format to make my methods and loops indented properly, but I cannot find the setting.

This question is related to visual-studio indentation

The answer is


Under Under Tools -> Options -> Text Editor, then going to the Formatting -> General section of whatever language you wish to format you will find General. Check all three formatting check-boxes.

Under Tools -> Options -> Text Editor, then going to the TABS section of whatever language you wish to format you will find Indenting. Select Smart and it will activate automatic formatting whenever you use one of the closing elements ; ) } within that block.

No need for keystrokes.


In Visual Studio 2019 , "Code Cleanup" (RunDefaultCodeCleanup) is more advanced (taken from ReSharper): Ctrl + K, Ctrl + E

Options dialog box: Text Editor ? C# ? Code Style ? Formatting

Auto formatting settings in Visual Studio


With the Continuous Formatting extension (commercial, developed by me), the code is formatted really automatically as you type.


If you display the HTML Source Editing toolbar there is a "Format the Whole Document" button as well


(I know, I know, and old thread :P)

If you are using Jetbrains Resharper - the easiest way to format you code is to use the CTRL + ALT + ENTER shortcut (Reformat code)


Even though the question is a bit old, someone might find it handy.

You can define new key bindings by going to Tools -> options -> Environment -> keyboard

enter image description here


If you can afford it (or if you're eligible for the 30-day free trial) Jetbrains ReSharper can reformat a whole project directory.

Just install -> Right-click a directory -> select Cleanup Code from the context menu.


I have a Mac and I clicked Code > Preferences > Settings > Workspace > Formatting and then selected Format On Save.

Now every time I hit cmd + s it auto formats the file.

enter image description here


You can also use this extension.


Right click:

enter image description here

Works in VS 2015, maybe earlier version.


The original question said "I cannot find the setting."

Simple answer is: Look at top menu, then

Edit --> Advanced --> Format Document

You will also see the currently assigned key strokes for that function. Nothing special to memorize. This really helps if you use multiple developer environments on different operating systems.


Cut/Paste of a section is another quick way (and easy to remember).


In VS 2017 and 2019

Format Document is CTRL E + D.

But...if you want to add the Format Document button to a tool bar do this.
Right click on tool bar.
Select "Customize.."
Select the "Commands" Tab.
Select the "Toolbar" radio button.
Select "Text Editor" from the pull down next to the radio button (or what ever tool bar you want the botton on)

Now...

Click the Add Command button.
Categories: Edit
Commands: Document Format
Click OK


Visual Studio Extension - CodeMaid is pretty fine.


I used to use these combinations. I automated this process on Save of a document. You can try mine extension Format Document on Save


#include "stdafx.h"
#include <stdio.h>


int main(){
    char filename[15];

    printf("Enter file name:");
    scanf("%s", filename);
    Automat(filename);
    freq(filename);
}

int Automat(char filename[]){

    FILE*fp;
    char c;
    int state = 1;
    int duma = 0;
    fp = fopen(filename, "r");
    if (fp == NULL){
        printf("Error");
        system("pause");
    }
    while (!feof(fp)){
        c = fgetc(fp);

        switch (state){
        case 1:
            if (c == '\t' || c == '\n' || c == ' '){
                state = 3;
                break;
            }
        case 2:
            if (c >='A'|| c<='Z'){
                break;
            }

        case 3: duma++;
            state = 1;
            break;
        }
    }
    printf("Broq e : %d\n", duma);
    return 1;
}
int freq(char filename[]){

    FILE*fp;
    char c;
    int state = 1, sequence = 0;
    fp = fopen(filename, "r");
    if (fp == NULL){
        printf("Error");
        system("pause");
    }



    while (!feof(fp)){
        c = fgetc(fp);
        switch (state){
        case 1:
            if (c >= 'A' && c <= 'Z'){
                state = 2;
                break;
            }

        case 2:
            if (c == '\t' || c == '\n'||c == ' '){
                sequence++;
                state = 1;
                break;

            }
        }

    }
    printf("Sequence is : %d\n", sequence);
}

  1. Go to Tools -> Extensions & Updates and type "productivity" in search: 1
  2. Install 'Productivity Power Tools 2015'
  3. Restart VS.
  4. Go to Tools -> Options -> Productivity Power Tools -> Power Commands and check "Format document on save": 2

In Visual Studio 2015 and 2017 for C# code.

  1. Scroll to the end of the file
  2. Remove the last "curly bracket", }
  3. Wait until the line above it shows an error
  4. Replace the "curly bracket", } Fini. :)

In newer versions, the shortcut for the document-wide formatting is: Shift + Alt + F


You can also try right menu click option to format the selection of the coding document. Take a look at below screen shot

enter image description here


On mac : Shift + Option + F

On ubuntu : Ctrl + Shift + I


Select the data and the right click and you will find this option. FORMAT DOCUMENT and FORMAT SELECTION

see this image


If it's still not working then you can select your entire document, copy and paste and it will reformat.

So ... ctrl-a ctrl-c ctrl-v

This is the only thing that I have found that works in VS Community Mac.


Select the text you want to automatically indent.

Click Format Selection in Edit, Advanced, or press CTRL+K, CTRL+F. Format Selection applies the smart indenting rules for the language in which you are programming to the selected text.

Step (1) :- CTRL+A

Step (2) :- CTRL+K

Step (3) :- CTRL+F


I have installed an extension named "Format document on Save" which formats the whole document every time you save it. For install it in VS15 or 17, on Tools just click the "Extensions and Updates...":

enter image description here

And then just go to "Online" at the left panel and search for "Format document on save" enter image description here

I hope it helps!.


Just to further Starwfanatic and Ewan's answers above. You can customise your IDE to add any button to any toolbar - so you can add the Format button (as the HTML Source Editing toolbar has) to any other toolbar (like Text Editing with all the other edit controls like increase/decrease indent).

Click the arrow to the right of the toolbar > Add or Remove Buttons > Customize... > Commands tab > Add Command... button.

Document Format and Selection Format are both under the Edit group.

(Tested in VS2010 and VS2013)


Its Shift + Alt + F in windows

But you can always double check by doing following.

  1. Go to View > Command Palette or press Ctrl + Shift + P
  2. Search for Format Document
  3. You can press that to Auto Format Code or its Hot Key, written in front of it.

For Visual Studio 2010/2013/2015/2017/2019

  • Format Document (Ctrl+K,Ctrl+D) so type Ctrl+K, AND THEN Ctrl+D as it is a sequence
  • Format Selection (Ctrl+K,Ctrl+F)

Toolbar Edit -> Advanced (If you can't see Advanced, select a code file in solution explorer and try again)

Your shortcuts might display differently to mine as I am set up for C# coding but navigating via the toolbar will get you to your ones.

If it isn't working, look for errors in your code, like missing brackets which stop auto format from working


In windows, use the following:

Keyboard shortcuts Ctrl + E, D

or

Menu Edit ? Advanced ? Format Document


The solution provided in accepted answer does not apply to Microsoft Visual Studio 2012.

In case of VS2012 the shortcuts are:

  • For a highlighted block of code: Ctrl + K, Ctrl + F
  • For the document-wide formatting: Ctrl + K, Ctrl + D

Follow the steps below:

  • Go to menu Tools
  • Go to Options
  • Go to the Text Editor options
  • Click the language of your choice. I used C# as an example.

See the below image:

Enter image description here


You can add the buttons to your toolbar by clicking the little drop down arrow to the right of the last toolbar button, select "Add or Remove Buttons" and then click the buttons you want to add a tick to them. The button(s) you select will appear on your toolbar ...

enter image description here

Then you just select text and click the Increase Indent or Decrease Indent buttons. I tested this on Visual Studio 2013 only.