Как вы автоматически форматируете код в Visual Studio?


821

Я знаю, что Visual Studio может автоматически форматировать, чтобы мои методы и циклы имели отступ, но я не могу найти настройки.


17
Из верхнего меню: Правка -> Дополнительно -> Формат документа
zipzit

6
что насчет 2019 года?
l --''''''--------- '' '' '' '' '' ''

1
то же самое в vs2019
финн

Вы имеете в виду "как вы форматируете блок кода парой нажатий клавиш"? Похоже, именно на это ссылаются популярные ответы (а не «как вы автоматически форматируете» ... при вводе / вставке / и т.д.).
КевинВиктор

Для Visual Studio 2017. Используя комбинацию клавиш Ctrl + Alt + Enter
Файруз Сулейман

Ответы:


1317

Чтобы отформатировать выделение: Ctrl+ K, Ctrl+F

Чтобы отформатировать документ: Ctrl+ K, Ctrl+D

Смотрите заранее определенные сочетания клавиш . (Эти двое есть Edit.FormatSelectionи Edit.FormatDocument.)

Примечание для OSX

На OSX используйте CMD ⌘ключ не Ctrl:

  • Чтобы отформатировать выделение: CMD ⌘+ K, CMD ⌘+F
  • Для формирования ducument: CMD ⌘+ K, CMD ⌘+D

17
против 2010, кажется, Ctrl + K, Ctrl + D
Саравут Positwinyu

29
Его Ctr + K, Ctrl + D в Visual Studio 2013 для форматирования документа.
Крис

5
В VS2010, если у вас есть Format document is not available...сообщение об ошибке, прочитайте: stackoverflow.com/q/8812741/1016891
tom_mai78101

4
Это точно для VS2013
Джеймс Вежба

9
Я не знаю, почему Microsoft продолжает менять их. Для дальнейшего использования его можно найти в меню «Правка» -> «Дополнительно» -> «Формат документа». Кто знает, возможно, они собираются переименовать это меню на следующей итерации.
Джереми

154

Для Visual Studio 2010/2013/2015/2017

  • Формат документа ( Ctrl+K, Ctrl+D), введите Ctrl+K, Ctrl+Dа затем, как это последовательность
  • Выбор формата ( Ctrl+K, Ctrl+F)

Панель инструментов Правка -> Дополнительно (если вы не видите Advanced , выберите файл кода в обозревателе решений и попробуйте снова)

Ваши ярлыки могут отображаться иначе, чем мои, так как я настроен на кодирование на C #, но навигация по панели инструментов приведет вас к вашим.

Если это не работает, поищите ошибки в своем коде, например пропущенные скобки, которые мешают работе автоматического форматирования


11
Если вы обнаружите, что он не работает, проверьте скобки {}, (), когда он не работает для меня, потому что где-то в файле есть открытые скобки.
ono2012

40

Следуйте инструкциям ниже:

  • Перейти к Tools
  • Перейти к Options
  • Перейти к Text Editor options
  • Нажмите на язык по вашему выбору. Я использовал C#в качестве примера.

Смотрите изображение ниже:

введите описание изображения здесь


24
И как только я это сделал? Я не вижу каких-либо из этих настроек для обработки автоматического отступа?
MrJalapeno

21
@MrJalapeno Я абсолютно не знаю, на какой вопрос я отвечал здесь 6 лет назад, но 34 человека сочли его полезным. Извините за путаницу. Возможно, я неверно истолковал вопрос, и в этом случае мой ответ применим, поскольку в моем ответе есть параметры, связанные с форматированием. Оглядываясь назад, можно с уверенностью сказать, что ОП искал ctrl + k, ctrl + d.
Пит

(стиль кода) Форматирование> "автоформатирование при вставке"
tomsmithweb

37

Я установил расширение под названием «Формат документа при сохранении», которое форматирует весь документ каждый раз, когда вы сохраняете его. Чтобы установить его в VS15 или 17, на Сервисе просто нажмите «Расширения и обновления ...»:

введите описание изображения здесь

А затем просто перейдите в «Онлайн» на левой панели и найдите «Формат документа при сохранении». введите описание изображения здесь

Я надеюсь, что это помогает!.


Кроме того, вы можете установить его визуальным место студии рынка marketplace.visualstudio.com/...
VMM

28

Несмотря на то, что вопрос немного устарел, кому-то это может пригодиться.

Вы можете определить новые привязки клавиш, перейдя в Tools -> options -> Environment -> keyboard

введите описание изображения здесь


Спасибо. Для меня Ctrl E + D в схеме VS2005 :)
nawfal

20
  1. Перейдите в Инструменты -> Расширения и обновления и введите «производительность» в поиске: 1
  2. Установите «Инструменты для повышения производительности 2015»
  3. Перезагрузите VS.
  4. Перейдите в Инструменты -> Параметры -> Инструменты управления производительностью -> Команды питания и установите флажок «Форматировать документ при сохранении»: 2

Было бы хорошо, если бы он работал во время набора текста, как с VB.NET:
tmighty

необходимо привыкнуть к форматированию каждого нового документа, который вы редактируете, и внесению изменений, прежде чем вы фактически измените файл, иначе коммиты могут выглядеть довольно шумно
smurtagh

Установил расширение для visual studio 2019, не вижу powerCommands после HTML Copy.
Амир Дора

Это работает для меня, Microsoft Visual Studio Community 2019 Версия 16.5.2
Слава Латун


10

При отображении панели инструментов редактирования исходного кода HTML также есть кнопка «Форматировать весь документ».


Это действительно странное место для этого. Я искал повсюду для этого.
rory.ap

1
У меня VS13, на этой панели инструментов нет кнопки «Формат документа».
Эмкор

1
При использовании Microsoft Visual Studio Community 2015 версии 14.0.23107.0 D14REL на упомянутой панели инструментов есть кнопка «Форматировать весь документ».
Ян Карпентер

9

Решение, приведенное в принятом ответе, не относится к Microsoft Visual Studio 2012 .

В случае VS2012 ярлыки:

  • Для выделенного блока кода: Ctrl+ K, Ctrl+F
  • Для форматирования всего документа: Ctrl+ K, Ctrl+D

На самом деле это не так. И CTRL + K, F, и CTRL + E, F делают одно и то же. Если вы перейдете в РЕДАКТИРОВАТЬ -> Дополнительно, вы увидите сочетания клавиш CTRL + E, D и CTRL + E, F. Также комментирование может быть сделано либо с помощью CTRL + K, C или CTRL + E, C. - Использование VS2012 Premium со всеми последними установленными обновлениями.
Alan006

1
@ Alan006 Интересно. Моя установка VS2012 Pro говорит, что Ctrl + e, f / Ctrl + e, d не являются командами.
Geowil

5
Я думаю, что это может быть связано с тем, какие параметры среды / разработки вы выбираете изначально при первом запуске. Они оба работают для меня, хотя, поэтому я не буду жаловаться: D
Alan006

@ Alan006 - это право, среда по умолчанию для VS2010 и выше использует раскладку клавиатуры для «Visual Basic» (выберите Сервис -> Параметры -> Клавиатура ). «Visual C # 2005» имеет несколько иные привязки клавиатуры.
Брайан Уэй


7

В VS 2017 и 2019

Формат документа есть CTRL E + D.

Но ... если вы хотите добавить кнопку «Формат документа» на панель инструментов, сделайте это.
Щелкните правой кнопкой мыши на панели инструментов.
Выберите «Настроить ...».
Выберите вкладку «Команды».
Выберите переключатель «Панель инструментов».
Выберите «Текстовый редактор» в выпадающем меню рядом с переключателем (или на любой панели инструментов, на которой вы хотите, чтобы кнопка была нажата)

Сейчас же...

Нажмите на Add Commandкнопку.
Категории: Редактировать
Команды: Формат документа
НажмитеOK


6

В разделе « Инструменты» -> «Параметры» -> «Текстовый редактор» перейдите в раздел « Форматирование» -> «Общие » на любом языке, который вы хотите отформатировать, и найдете « Общий» . Проверьте все три флажка форматирования.

В разделе Инструменты -> Параметры -> Текстовый редактор , затем перейдите в раздел TABS на любом языке, который вы хотите отформатировать, вы найдете отступы . Выберите Smart, и он активирует автоматическое форматирование всякий раз, когда вы используете один из закрывающих элементов; )} в этом блоке.

Нет необходимости нажатия клавиш.


1
Это не улучшает "уже испорченный" код, пока VB.NET делает это.
tmighty

5

Вы можете добавить кнопки на панель инструментов, щелкнув маленькую стрелку выпадающего меню справа от последней кнопки панели инструментов, выберите «Добавить или удалить кнопки», а затем нажмите кнопки, которые хотите добавить к ним. Выбранные вами кнопки появятся на вашей панели инструментов ...

введите описание изображения здесь

Затем вы просто выбираете текст и нажимаете кнопки «Увеличить отступ» или «Уменьшить отступ». Я проверял это только в Visual Studio 2013.


5

Щелкните правой кнопкой мыши:

введите описание изображения здесь

Работает в VS 2015, возможно, более ранней версии.


5

В первоначальном вопросе говорилось: «Я не могу найти настройки».

Простой ответ: посмотрите на верхнее меню, затем

Правка -> Дополнительно -> Формат документа

Вы также увидите текущие назначенные нажатия клавиш для этой функции. Ничего особенного, чтобы запомнить. Это действительно помогает, если вы используете несколько сред разработки в разных операционных системах.


5

Выберите данные и щелкните правой кнопкой мыши, и вы найдете эту опцию. ФОРМАТ ДОКУМЕНТОВ И ВЫБОР ФОРМАТОВ

увидеть это изображение


Эта тема о Visual Studio. Ваш комментарий рассказывает о Visual Studio Code
С. тен



2

Просто для дальнейшего ответа Starwfanatic и Ewan выше. Вы можете настроить свою среду IDE для добавления любой кнопки на любую панель инструментов, чтобы можно было добавить кнопку «Формат» (как на панели инструментов «Редактирование исходного кода HTML») на любую другую панель инструментов (например, «Редактирование текста» со всеми другими элементами редактирования, такими как увеличение / уменьшение отступа).

Нажмите стрелку справа от панели инструментов> Добавить или удалить кнопки> Настроить ...> вкладка Команды> Кнопка Добавить команду ....

Формат документа и формат выбор оба под редактированием группы.

(Проверено в VS2010 и VS2013)


1

С расширением Continuous Formatting (коммерческим, разработанным мной) код форматируется действительно автоматически при вводе.


Это замечательно и должно быть включено в VS по умолчанию, но цена слишком высока. За 19 € я бы сказал "Отлично!"
tmighty

1

У меня есть Mac, и я нажал « Код»> «Настройки»> «Настройки»> «Рабочая область»> «Форматирование», а затем выбрал « Формат при сохранении» .

Теперь каждый раз, когда я нажимаю cmd+, sон автоматически форматирует файл.

введите описание изображения здесь


2
Хотя у меня нет Mac (и, следовательно, возможно, Visual Studio на Mac выглядит как VS Code ??), ваш ответ / снимок экрана относится к VS Code, а не к Visual Studio, о которой спрашивает OP.
Грегг Л

1

Расширение Visual Studio - CodeMaid довольно хорошо.


Расширение не найдено
Сушан


1
С этим расширением вы можете даже щелкнуть правой кнопкой мыши по папке и очистить весь код во всех файлах в ней, что очень удобно.
xinthose

0

Вырезание / вставка раздела - еще один быстрый способ (и его легко запомнить).


2
...? это ничего не форматирует для меня. на самом деле, причина, по которой я это искал, состояла в том, чтобы отформатировать ПОСЛЕ вырезания и вставки ..
tenwest

Это не форматирует ваш код с настройками по умолчанию. Может быть, у вас есть некоторые настройки / плагин, который делает работу после вставки. До ноября 2018 года (v 1.30.2) путь SHIFT + ALT + F
Пабло

0

Если вы можете себе это позволить (или если вы имеете право на 30-дневную бесплатную пробную версию) Jetbrains ReSharper может переформатировать весь каталог проекта.

Просто установите -> щелкните правой кнопкой мыши каталог -> выберите код очистки из контекстного меню.


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
@ Робсон Для чего-то подобного, вероятно, лучше просто предложить предлагаемое изменение. Вы можете просто выделить весь код и нажать Ctrl-K, и он автоматически сделает отступ.
EJoshuaS - Восстановить Монику

0

Вы также можете попробовать щелкнуть правой кнопкой мыши меню, чтобы отформатировать выбор документа кодирования. Посмотрите на скриншот ниже

введите описание изображения здесь


0

Выберите текст, который вы хотите автоматически сделать отступ.

Нажмите «Выбор формата» в меню «Правка», «Дополнительно» или нажмите сочетание клавиш CTRL + K, CTRL + F. Выбор формата применяет правила интеллектуального отступа для языка, на котором вы программируете, к выделенному тексту.

Шаг (1): - CTRL + A

Шаг (2): - CTRL + K

Шаг (3): - CTRL + F



-1

В Visual Studio 2015 и 2017 для кода C #. 1) Прокрутите до конца файла. 2) Удалите последнюю "фигурную скобку"} 3) Дождитесь, пока в строке над ней появится сообщение об ошибке 4) Замените "фигурную скобку"} окончательно. :)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.