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.

użytkownik719550
źródło
17
Z górnego menu: Edytuj -> Zaawansowane -> Formatuj dokument
zipzit
6
co na rok 2019?
l - '' '' ----------- '' '' '' '
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
Bogdan Verbenets
źródło
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

ono2012
źródło
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

Pete
źródło
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!.

VMM
źródło
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

Sami
źródło
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)
Slava Latun
źródło
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
15

Na komputerze Mac: Shift+ Option+F

Na Ubuntu: Ctrl+ Shift+I

Jackson Smith
źródło
10

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

Starwfanatic
źródło
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
Geowil
źródło
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,
8

Kiedyś używałem tych kombinacji. Zautomatyzowałem ten proces przy zapisywaniu dokumentu. Możesz wypróbować moje rozszerzenie Formatuj dokument przy zapisywaniu

Mynkow
źródło
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

Chris Catignani
źródło
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.

Eric
źródło
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.

Ewan
źródło
5

Kliknij prawym przyciskiem:

wprowadź opis zdjęcia tutaj

Działa w VS 2015, może wcześniejszej wersji.

RayLoveless
źródło
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.

zipzit
źródło
5

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

zobacz ten obraz

Ajit Mourya
źródło
Wątek dotyczy programu Visual Studio. Twój komentarz mówi o Visual Studio Code
S. ten Brinke
4

W nowszych wersjach skrót do formatowania całego dokumentu to: Shift+ Alt+F

Lucas Bernalte
źródło
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)

rozmieszczone
źródło
1

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

Siergiej Własow
źródło
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

supertramp
źródło
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.

James
źródło
Nie znaleziono rozszerzenia
Sushan
codemaid.net ryly?
James
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).

David Anderson
źródło
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.

dcmorse
źródło
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);
}
Ivaylo
źródło
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

Suresh K.
źródło
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.

Keshav Gera
źródło
-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. :)

podzach
źródło