Jak automatycznie formatować kod w Visual Studio?


817

Wiem, że Visual Studio potrafi automatycznie formatować, aby moje metody i pętle były odpowiednio wcięte, ale nie mogę znaleźć tego ustawienia.


17
Z górnego menu: Edytuj -> Zaawansowane -> Formatuj dokument
zipzit


1
wciąż to samo w porównaniu do vs2019
Finn

Czy masz na myśli „jak sformatować blok kodu za pomocą kilku naciśnięć klawiszy”? Wydaje się, że to właśnie odnoszą się popularne odpowiedzi (zamiast „jak automatycznie formatować” ... podczas pisania / wklejania / etc).
KevinVictor

Dla programu Visual Studio 2017. Za pomocą skrótu Ctrl + Alt + Enter
Fairuz Sulaiman

Odpowiedzi:


1313

Aby sformatować zaznaczenie: Ctrl+ K, Ctrl+F

Aby sformatować dokument: Ctrl+ K, Ctrl+D

Zobacz wstępnie zdefiniowane skróty klawiaturowe . (Te dwa są Edit.FormatSelectioni Edit.FormatDocument.)

Uwaga dla OSX

W OSX używaj CMD ⌘klucza nie Ctrl:

  • Aby sformatować zaznaczenie: CMD ⌘+ K, CMD ⌘+F
  • Aby sformatować dokument: CMD ⌘+ K, CMD ⌘+D

17
vs 2010 wydaje się być ctrl + k, ctrl + d
Sarawut Positwinyu

29
Jego Ctr + K, Ctrl + D w Visual Studio 2013 do sformatowania dokumentu.
Kris,

5
Jeśli masz Format document is not available...komunikat o błędzie w VS2010, przeczytaj: stackoverflow.com/q/8812741/1016891
tom_mai78101

4
Są one dokładne dla VS2013
James Wierzba

9
Nie wiem, dlaczego Microsoft ciągle je zmienia. Do wykorzystania w przyszłości można go znaleźć pod Edycja -> Zaawansowane -> Formatuj dokument Kto wie, prawdopodobnie zmieni nazwę tego menu w następnej iteracji.
Jeremy

153

Dla programu Visual Studio 2010/2013/2015/2017

  • Sformatuj dokument ( Ctrl+K, Ctrl+D), a następnie wpisz Ctrl+K, Ctrl+Da następnie, ponieważ jest to sekwencja
  • Wybór formatu ( Ctrl+K, Ctrl+F)

Edycja paska narzędzi -> Zaawansowane (jeśli nie widzisz opcji Zaawansowane , wybierz plik kodu w Eksploratorze rozwiązań i spróbuj ponownie)

Twoje skróty mogą wyświetlać się inaczej niż moje, gdy jestem skonfigurowany do kodowania w C #, ale nawigacja za pomocą paska narzędzi doprowadzi cię do tych.

Jeśli nie działa, poszukaj błędów w kodzie, takich jak brakujące nawiasy blokujące automatyczne formatowanie


11
Jeśli stwierdzisz, że to nie działa, sprawdź nawiasy {}, (), kiedy to nie działa, to dlatego, że gdzieś w pliku są otwarte nawiasy.
ono2012

40

Wykonaj poniższe kroki:

  • Iść do Tools
  • Iść do Options
  • Idź do Text Editor options
  • Kliknij wybrany język. Użyłem C#jako przykładu.

Zobacz poniższy obraz:

wprowadź opis zdjęcia tutaj


24
A kiedy to zrobię? Nie widzę, aby któreś z tych ustawień obsługiwały automatyczne wcięcia?
MrJalapeno

21
@ MrJalapeno Nie mam absolutnie pojęcia, na jakie pytanie odpowiedziałem tutaj 6 lat temu, ale 34 osoby uznały to za przydatne. Przepraszam za zamieszanie. Prawdopodobnie źle zinterpretowałem pytanie, w którym przypadku moja odpowiedź ma zastosowanie, ponieważ w mojej odpowiedzi są opcje związane z formatowaniem. Z perspektywy czasu można śmiało powiedzieć, że OP szukał ctrl + k, ctrl + d.
Pete,

(styl kodu) Formatowanie> „automatyczne formatowanie po wklejeniu”
tomsmithweb

37

Zainstalowałem rozszerzenie o nazwie „Formatuj dokument przy zapisywaniu”, które formatuje cały dokument za każdym razem, gdy go zapisujesz. Aby zainstalować go w VS15 lub 17, w Narzędziach wystarczy kliknąć „Rozszerzenia i aktualizacje ...”:

wprowadź opis zdjęcia tutaj

A następnie przejdź do „Online” na lewym panelu i wyszukaj „Formatuj dokument przy zapisywaniu” wprowadź opis zdjęcia tutaj

Mam nadzieję, że to pomoże!.


Możesz także zainstalować go za pomocą marketplace marketplace marketplace.visualstudio.com/…
VMM

28

Chociaż pytanie jest nieco stare, ktoś może się przydać.

Możesz zdefiniować nowe powiązania klawiszy, przechodząc do Tools -> options -> Environment -> keyboard

wprowadź opis zdjęcia tutaj


Dzięki. Dla mnie Ctrl E + D w schemacie VS2005 :)
nawfal

20
  1. Przejdź do Narzędzia -> Rozszerzenia i aktualizacje i wpisz „produktywność” w wyszukiwaniu: 1
  2. Zainstaluj „Productivity Power Tools 2015”
  3. Uruchom ponownie VS.
  4. Przejdź do Narzędzia -> Opcje -> Wydajność Elektronarzędzia -> Polecenia mocy i zaznacz „Formatuj dokument przy zapisie”: 2)

Byłoby dobrze, gdyby działało podczas pisania, jak w VB.NET:
tmighty

trzeba się przyzwyczaić do formatowania każdy nowy dokument można edytować i popełnienie zmian zanim faktycznie zmienić plik w przeciwnym razie commity może wyglądać dość głośno
smurtagh

Zainstalowałem rozszerzenie dla Visual Studio 2019, nie widzę powerCommands po HTML Copy.
Amir Dora

Działa dla mnie, Microsoft Visual Studio Community 2019 Wersja 16.5.2
Slava Latun


10

Jeśli wyświetlisz pasek narzędzi edycji źródła HTML, istnieje również przycisk „Formatuj cały dokument”


To naprawdę dziwne miejsce. Wszędzie szukałem tego.
rory.ap

1
Mam VS13, ten pasek narzędzi nie ma dostępnego przycisku „Formatuj dokument”.
emcor

1
W Microsoft Visual Studio Community 2015 wersja 14.0.23107.0 D14REL na wspomnianym pasku narzędzi znajduje się przycisk „Formatuj cały dokument”.
Ian Carpenter

9

Rozwiązanie podane w zaakceptowanej odpowiedzi nie dotyczy Microsoft Visual Studio 2012 .

W przypadku VS2012 skróty to:

  • Dla podświetlonego bloku kodu: Ctrl+ K, Ctrl+F
  • W przypadku formatowania całego dokumentu: Ctrl+ K, Ctrl+D

Właściwie to nie jest źle. Zarówno CTRL + K, F, jak i CTRL + E, F robią dokładnie to samo. Jeśli przejdziesz do EDYCJA -> Zaawansowane, faktycznie zobaczysz skróty wymienione jako CTRL + E, D i CTRL + E, F. Komentowanie można również wykonać za pomocą CTRL + K, C lub CTRL + E, C. - Używanie VS2012 Premium ze wszystkimi zainstalowanymi najnowszymi aktualizacjami.
Alan006,

1
@ Alan006 Ciekawe. Moja instalacja VS2012 Pro mówi, że Ctrl + e, f / Ctrl + e, d nie są poleceniami.
Geowil

5
Myślę, że może to mieć związek z tym, jakie ustawienia środowiska / programowania wybierzesz początkowo przy pierwszym uruchomieniu. Oba działają dla mnie, więc nie będę narzekać: D
Alan006

@ Alan006 ma rację, domyślne środowisko dla VS2010 i wyższych używa układu klawiatury dla „Visual Basic” (sprawdź Narzędzia -> Opcje -> Klawiatura ). „Visual C # 2005” ma nieco inne przypisania do klawiatury.
Bryan Way,


7

W VS 2017 i 2019

Formatuj dokument to CTRL E + D.

Ale ... jeśli chcesz dodać przycisk Formatuj dokument do paska narzędzi, zrób to.
Kliknij pasek narzędzi prawym przyciskiem myszy.
Wybierz „Dostosuj ..”
Wybierz kartę „Polecenia”.
Wybierz przycisk opcji „Pasek narzędzi”.
Wybierz „Edytor tekstu” z menu rozwijanego obok przycisku opcji (lub dowolnego paska narzędzi, w którym chcesz włączyć)

Teraz...

Kliknij Add Commandprzycisk.
Kategorie: Edytuj
polecenia: Format dokumentu
KliknijOK


6

W obszarze Narzędzia -> Opcje -> Edytor tekstu , a następnie przejdź do sekcji Formatowanie -> Ogólne w dowolnym języku, który chcesz sformatować, znajdziesz Ogólne . Zaznacz wszystkie trzy pola wyboru formatowania.

W obszarze Narzędzia -> Opcje -> Edytor tekstu , a następnie przejdź do sekcji TABS dowolnego języka, który chcesz sformatować, znajdziesz wcięcie . Wybierz Smart a aktywuje automatyczne formatowanie za każdym razem, gdy użyjesz jednego z elementów zamykających; )} w tym bloku.

Nie ma potrzeby naciskania klawiszy.


1
Nie poprawia to kodu „już pomieszanego”, gdy robi to VB.NET.
potężny

5

Możesz dodać przyciski do paska narzędzi, klikając małą strzałkę rozwijaną po prawej stronie ostatniego przycisku paska narzędzi, wybierz „Dodaj lub usuń przyciski”, a następnie kliknij przyciski, które chcesz dodać do nich zaznaczenie. Wybrane przyciski pojawią się na pasku narzędzi ...

wprowadź opis zdjęcia tutaj

Następnie zaznacz tekst i kliknij przycisk Zwiększ wcięcie lub Zmniejsz wcięcie. Testowałem to tylko na Visual Studio 2013.



5

Pierwotne pytanie brzmiało: „Nie mogę znaleźć ustawienia”.

Prosta odpowiedź brzmi: w takim razie spójrz na górne menu

Edycja -> Zaawansowane -> Formatuj dokument

Zobaczysz także aktualnie przypisane naciśnięcia klawiszy dla tej funkcji. Nic specjalnego do zapamiętania. To naprawdę pomaga, jeśli używasz wielu środowisk programistycznych w różnych systemach operacyjnych.


5

Wybierz dane i kliknij prawym przyciskiem myszy, a znajdziesz tę opcję. FORMAT DOKUMENTU I WYBÓR FORMATU

zobacz ten obraz


Wątek dotyczy programu Visual Studio. Twój komentarz mówi o Visual Studio Code
S. ten Brinke


2

Tylko po to, by odpowiedzieć na powyższe odpowiedzi Starwfanatic i Ewana . Możesz dostosować swoje IDE, aby dodać dowolny przycisk do dowolnego paska narzędzi - dzięki czemu możesz dodać przycisk Format (tak jak pasek narzędzi do edycji kodu źródłowego HTML) do dowolnego innego paska narzędzi (takiego jak Edycja tekstu ze wszystkimi innymi elementami sterującymi edycji, takimi jak wcięcie zwiększające / zmniejszające).

Kliknij strzałkę po prawej stronie paska narzędzi> Dodaj lub usuń przyciski> Dostosuj ...> karta Polecenia> przycisk Dodaj polecenie ...

Format dokumentu i format wyboru znajdują się w grupie Edycja .

(Testowane w VS2010 i VS2013)



1

Dzięki rozszerzeniu Continuous Formatting (komercyjnemu, opracowanemu przeze mnie) kod jest formatowany naprawdę automatycznie podczas pisania.


To świetnie i powinno być domyślnie uwzględnione w VS, ale cena jest zbyt wysoka. Za 19 € powiedziałbym „Świetnie!”.
potężny

1

Mam komputer Mac i kliknąłem Kod> Preferencje> Ustawienia> Obszar roboczy> Formatowanie, a następnie wybrałem Formatuj przy zapisywaniu .

Teraz za każdym razem, gdy naciskam cmd+ sto automatycznie formatuje plik.

wprowadź opis zdjęcia tutaj


2
Chociaż nie mam komputera Mac (a zatem być może Visual Studio na komputerze Mac wygląda jak VS Code?), Twoja odpowiedź / zrzut ekranu dotyczy VS Code, a nie Visual Studio, o co pyta OP.
Gregg L,

1

Rozszerzenie Visual Studio - CodeMaid jest całkiem w porządku.


Nie znaleziono rozszerzenia
Sushan


1
Dzięki temu rozszerzeniu możesz nawet kliknąć folder prawym przyciskiem myszy i wyczyścić cały kod we wszystkich plikach, co jest bardzo wygodne.
Xinthose

0

Wytnij / wklej sekcję to kolejny szybki sposób (i łatwy do zapamiętania).


2
... to nic dla mnie nie formatuje. w rzeczywistości powodem, dla którego to sprawdziłem, było sformatowanie PO wycinaniu i wklejaniu ..
tenwest

To nie formatuje kodu przy ustawieniach defatult. Być może masz jakieś ustawienia / wtyczki, które wykonują zadanie po wklejeniu. Aż do Novermber 2018 (wersja 1.30.2) droga to SHIFT + ALT + F
Pablo

0

Jeśli możesz sobie na to pozwolić (lub jeśli jesteś uprawniony do 30-dniowej bezpłatnej wersji próbnej) Jetbrains ReSharper może sformatować cały katalog projektu.

Wystarczy zainstalować -> Kliknij katalog prawym przyciskiem myszy -> wybierz Kod czyszczenia z menu kontekstowego.


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 W przypadku czegoś takiego lepiej jest po prostu przesłać sugerowaną zmianę. Możesz po prostu podświetlić cały kod i nacisnąć Ctrl-K, a zostanie on automatycznie wcięty.
EJoshuaS - Przywróć Monikę

0

Możesz także spróbować kliknąć prawym przyciskiem myszy opcję menu, aby sformatować wybór dokumentu kodującego. Spójrz na zrzut ekranu poniżej

wprowadź opis zdjęcia tutaj


0

Wybierz tekst, który chcesz automatycznie wciąć.

Kliknij Formatuj zaznaczenie w Edycja, Zaawansowane lub naciśnij CTRL + K, CTRL + F. Wybór formatu stosuje inteligentne reguły wcięcia dla języka, w którym programujesz, do zaznaczonego tekstu.

Krok (1): - CTRL + A

Krok (2): - CTRL + K

Krok (3): - CTRL + F.



-1

W Visual Studio 2015 i 2017 dla kodu c #. 1) Przewiń do końca pliku 2) Usuń ostatni „Nawias klamrowy”} 3) Poczekaj, aż nad nim pojawi się błąd 4) Wymień „Nawias klamrowy”} fini. :)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.