Comment formatez-vous automatiquement le code dans Visual Studio?


821

Je sais que Visual Studio peut formater automatiquement pour que mes méthodes et boucles soient indentées correctement, mais je ne trouve pas le paramètre.


17
Depuis le menu supérieur: Édition -> Avancé -> Format du document
zipzit


1
toujours la même dans vs2019
Finn

Vous voulez dire "comment formatez-vous un bloc de code avec quelques touches"? Cela semble être ce à quoi les réponses populaires se réfèrent (plutôt que "comment formatez-vous automatiquement" ... lorsque vous tapez / collez / etc).
KevinVictor

Pour Visual Studio 2017. Utilisation du raccourci Ctrl + Alt + Entrée
Fairuz Sulaiman

Réponses:


1316

Pour formater une sélection: Ctrl+ K, Ctrl+F

Pour formater un document: Ctrl+ K, Ctrl+D

Voir les raccourcis clavier prédéfinis . (Ces deux sont Edit.FormatSelectionet Edit.FormatDocument.)

Remarque pour OSX

Sous OSX, n'utilisez pas la CMD ⌘clé Ctrl:

  • Pour formater une sélection: CMD ⌘+ K, CMD ⌘+F
  • Pour formater un ducument: CMD ⌘+ K, CMD ⌘+D

17
vs 2010 semble être ctrl + k, ctrl + d
Sarawut Positwinyu

29
Son Ctr + K, Ctrl + D dans Visual Studio 2013 pour formater un document.
Kris

5
Dans VS2010, si vous avez Format document is not available...un message d'erreur, veuillez lire: stackoverflow.com/q/8812741/1016891
tom_mai78101

4
Ce sont exacts pour VS2013
James Wierzba

9
Je ne sais pas pourquoi Microsoft continue de les changer. Pour référence future, il peut être trouvé sous Édition -> Avancé -> Formater le document Qui sait, ils vont probablement renommer ce menu dans la prochaine itération.
Jeremy

154

Pour Visual Studio 2010/2013/2015/2017

  • Formater le document ( Ctrl+K, Ctrl+D) donc tapez Ctrl+K, ET PUIS Ctrl+Dcomme c'est une séquence
  • Sélection du format ( Ctrl+K, Ctrl+F)

Edition de la barre d'outils -> Avancé (si vous ne voyez pas Avancé , sélectionnez un fichier de code dans l'explorateur de solutions et réessayez)

Vos raccourcis peuvent s'afficher différemment du mien car je suis configuré pour le codage C #, mais la navigation via la barre d'outils vous amènera à ceux que vous utilisez.

Si cela ne fonctionne pas, recherchez des erreurs dans votre code, comme des crochets manquants qui empêchent le formatage automatique de fonctionner


11
Si vous trouvez que cela ne fonctionne pas, vérifiez vos crochets {}, (), quand cela ne fonctionne pas pour moi, c'est parce qu'il y a des crochets ouverts quelque part dans le fichier.
ono2012

40

Suivez les étapes ci-dessous:

  • Aller à Tools
  • Aller à Options
  • Allez au Text Editor options
  • Cliquez sur la langue de votre choix. J'ai utilisé C#comme exemple.

Voir l'image ci-dessous:

entrez la description de l'image ici


24
Et une fois que j'ai fait ça? Je ne vois aucun de ces paramètres pour gérer l'indentation automatique?
MrJalapeno

21
@MrJalapeno Je n'ai absolument aucune idée de la question à laquelle je répondais ici il y a 6 ans mais 34 personnes l'ont trouvé utile. Désolé pour la confusion. J'ai probablement mal interprété la question, auquel cas ma réponse s'applique, car ma réponse contient des options de mise en forme. Avec le recul, il est sûr de dire que l'OP recherchait ctrl + k, ctrl + d.
Pete

(style de code) Formatage> "formatage automatique sur la pâte"
tomsmithweb

37

J'ai installé une extension nommée "Formater le document lors de l'enregistrement" qui formate le document entier à chaque fois que vous l'enregistrez. Pour l'installer dans VS15 ou 17, sur Tools cliquez simplement sur "Extensions and Updates ...":

entrez la description de l'image ici

Et puis allez simplement sur "En ligne" dans le panneau de gauche et recherchez "Formater le document lors de l'enregistrement" entrez la description de l'image ici

J'espère que ça aide!.


Vous pouvez également l'installer par visual studio market place marketplace.visualstudio.com/…
VMM

28

Même si la question est un peu ancienne, quelqu'un pourrait la trouver utile.

Vous pouvez définir de nouvelles liaisons de touches en accédant à Tools -> options -> Environment -> keyboard

entrez la description de l'image ici


Merci. Pour moi, Ctrl E + D dans le schéma VS2005 :)
nawfal

20
  1. Allez dans Outils -> Extensions et mises à jour et tapez "productivité" dans la recherche: 1
  2. Installez 'Productivity Power Tools 2015'
  3. Redémarrez VS.
  4. Allez dans Outils -> Options -> Outils électriques de productivité -> Commandes d'alimentation et cochez "Formater le document lors de l'enregistrement": 2

Cela aurait été bien si cela fonctionnait en tapant, comme avec VB.NET:
tmighty

devez vous habituer à formater chaque nouveau document que vous modifiez et à valider les modifications avant de modifier le fichier, sinon les
validations

Installé l'extension pour Visual Studio 2019, je ne vois pas powerCommands après HTML Copy.
Amir Dora

Cela fonctionne pour moi, Microsoft Visual Studio Community 2019 Version 16.5.2
Slava Latun


10

Si vous affichez la barre d'outils d'édition de source HTML, il y a également un bouton "Formater le document entier"


C'est un endroit vraiment étrange pour ça. Je l'ai cherché partout.
rory.ap

1
J'ai VS13, cette barre d'outils n'a pas de bouton "Formater le document" disponible.
emcor

1
À l'aide de Microsoft Visual Studio Community 2015 version 14.0.23107.0 D14REL, il y a un bouton "Formater tout le document" dans la barre d'outils mentionnée.
Ian Carpenter

9

La solution fournie dans la réponse acceptée ne s'applique pas à Microsoft Visual Studio 2012 .

Dans le cas de VS2012, les raccourcis sont:

  • Pour un bloc de code en surbrillance: Ctrl+ K, Ctrl+F
  • Pour la mise en forme à l'échelle du document: Ctrl+ K, Ctrl+D

En fait, ce n'est pas faux. CTRL + K, F et CTRL + E, F font exactement la même chose. Si vous allez dans EDIT -> Advanced, vous verrez en fait les raccourcis répertoriés comme CTRL + E, D et CTRL + E, F. Les commentaires peuvent également être effectués avec CTRL + K, C ou CTRL + E, C. - Utilisation de VS2012 Premium avec toutes les dernières mises à jour installées.
Alan006

1
@ Alan006 Intéressant. Mon installation de VS2012 Pro dit que Ctrl + e, f / Ctrl + e, d ne sont pas des commandes.
Geowil

5
Je pense que cela pourrait être lié aux paramètres d'environnement / développement que vous choisissez initialement au premier lancement. Ils travaillent tous les deux pour moi, donc je ne me plaindrai pas: D
Alan006

@ Alan006 a raison, l'environnement par défaut pour VS2010 et plus utilise la disposition du clavier pour "Visual Basic" (cochez Outils -> Options -> Clavier ). "Visual C # 2005" a des liaisons clavier légèrement différentes.
Bryan Way


7

En VS 2017 et 2019

Format du document est CTRL E + D.

Mais ... si vous souhaitez ajouter le bouton Formater le document à une barre d'outils, faites-le.
Faites un clic droit sur la barre d'outils.
Sélectionnez "Personnaliser .."
Sélectionnez l'onglet "Commandes".
Sélectionnez le bouton radio "Barre d'outils".
Sélectionnez "Éditeur de texte" dans le menu déroulant à côté du bouton radio (ou quelle que soit la barre d'outils sur laquelle vous voulez que le bouton se trouve)

Maintenant...

Cliquez sur le Add Commandbouton.
Catégories: Modifier les
commandes: Format du document
CliquezOK


6

Sous Outils -> Options -> Éditeur de texte , puis accédez à la section Formatage -> Général de la langue que vous souhaitez formater, vous trouverez Général . Cochez les trois cases de mise en forme.

Sous Outils -> Options -> Éditeur de texte , puis accédez à la section TABS de la langue que vous souhaitez formater, vous trouverez Indentation . Sélectionnez Smart et il activera le formatage automatique chaque fois que vous utilisez l'un des éléments de fermeture; )} dans ce bloc.

Pas besoin de touches.


1
Cela n'améliore pas le code "déjà foiré" alors que VB.NET le fait.
tmighty

5

Vous pouvez ajouter les boutons à votre barre d'outils en cliquant sur la petite flèche déroulante à droite du dernier bouton de la barre d'outils, sélectionnez "Ajouter ou supprimer des boutons", puis cliquez sur les boutons auxquels vous souhaitez ajouter une coche. Le ou les boutons que vous sélectionnez apparaîtront sur votre barre d'outils ...

entrez la description de l'image ici

Il vous suffit ensuite de sélectionner du texte et de cliquer sur les boutons Augmenter le retrait ou Diminuer le retrait. J'ai testé cela sur Visual Studio 2013 uniquement.


5

Clic-droit:

entrez la description de l'image ici

Fonctionne dans VS 2015, peut-être une version antérieure.


5

La question d'origine disait "Je ne trouve pas le réglage".

La réponse simple est: regardez le menu du haut, puis

Édition -> Avancé -> Formater le document

Vous verrez également les touches actuellement affectées à cette fonction. Rien de spécial à mémoriser. Cela aide vraiment si vous utilisez plusieurs environnements de développement sur différents systèmes d'exploitation.


5

Sélectionnez les données et le clic droit et vous trouverez cette option. FORMAT DOCUMENT et FORMAT SELECTION

voir cette image


Ce fil de discussion concerne Visual Studio. Votre commentaire parle de Visual Studio Code
S. ten Brinke

4

Dans les versions plus récentes, le raccourci pour la mise en forme à l'échelle du document est: Shift+ Alt+F



2

Juste pour approfondir les réponses de Starwfanatic et Ewan ci-dessus. Vous pouvez personnaliser votre IDE pour ajouter n'importe quel bouton à n'importe quelle barre d' outils - vous pouvez donc ajouter le bouton Format (comme la barre d'outils d'édition de source HTML) à n'importe quelle autre barre d'outils (comme l'édition de texte avec tous les autres contrôles d'édition comme augmenter / diminuer le retrait).

Cliquez sur la flèche à droite de la barre d'outils> Ajouter ou supprimer des boutons> Personnaliser ...> onglet Commandes> bouton Ajouter une commande ....

Le format de document et le format de sélection sont tous deux sous le groupe d' édition .

(Testé dans VS2010 et VS2013)


1

Avec l' extension Continuous Formatting (commerciale, développée par mes soins), le code est formaté vraiment automatiquement au fur et à mesure de la frappe.


C'est génial et devrait être inclus dans VS par défaut, mais le prix est trop élevé. Pour 19 € j'aurais dit "Génial!".
tmighty

1

J'ai un Mac et j'ai cliqué sur Code> Préférences> Paramètres> Espace de travail> Formatage , puis sélectionné Format lors de l'enregistrement .

Maintenant, chaque fois que j'appuie sur cmd+, sil formate automatiquement le fichier.

entrez la description de l'image ici


2
Bien que je n'aie pas de Mac (et donc, peut-être que Visual Studio sur un Mac ressemble à VS Code ??), votre réponse / capture d'écran est pour VS Code, pas Visual Studio, c'est ce que l'OP demande.
Gregg L

1

Extension Visual Studio - CodeMaid est assez bien.


Extension non trouvée
Sushan


1
Avec cette extension, vous pouvez même cliquer avec le bouton droit sur un dossier et nettoyer tout le code dans tous les fichiers qu'il contient, très pratique.
xinthose

0

Couper / Coller une section est un autre moyen rapide (et facile à retenir).


2
...? cela ne formate rien pour moi. en fait, la raison pour laquelle j'ai cherché cela était de formater APRÈS couper et coller ..
tenwest

Cela ne formate pas votre code avec les paramètres par défaut. Peut-être que vous avez un paramètre / plugin qui fait le travail après le collage. Jusqu'à novembre 2018 (v 1.30.2), la voie est SHIFT + ALT + F
Pablo

0

Si vous pouvez vous le permettre (ou si vous êtes éligible à l'essai gratuit de 30 jours), Jetbrains ReSharper peut reformater tout un répertoire de projet.

Installez simplement -> Faites un clic droit sur un répertoire -> sélectionnez Code de nettoyage dans le menu contextuel.


0
#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
@Robson Pour quelque chose comme ça, il est probablement préférable de simplement soumettre une suggestion de modification. Vous pouvez simplement mettre en surbrillance tout le code et appuyer sur Ctrl-K et il le mettra automatiquement en retrait.
EJoshuaS

0

Vous pouvez également essayer l'option de clic droit du menu pour formater la sélection du document de codage. Jetez un œil à la capture d'écran ci-dessous

entrez la description de l'image ici


0

Sélectionnez le texte que vous souhaitez mettre en retrait automatiquement.

Cliquez sur Format de sélection dans Edition, Avancé ou appuyez sur CTRL + K, CTRL + F. La sélection de format applique les règles de retrait intelligent de la langue dans laquelle vous programmez au texte sélectionné.

Étape (1): - CTRL + A

Étape (2): - CTRL + K

Étape (3): - CTRL + F



-1

Dans Visual Studio 2015 et 2017 pour le code c #. 1) Faites défiler jusqu'à la fin du fichier 2) Supprimez le dernier "Curly Bracket"} 3) Attendez que la ligne au-dessus affiche une erreur 4) Remplacez le "Curly Bracket"} fini. :)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.