VS Форматирование кода для "{}"

Я на ubuntu. Когда я пишу код С++ в VS Code, он автоматически накладывается как

if (condition == true)
{
  DoStuff();
}

вместо этого хочу сделать как

if (condition == true) {
  DoStuff();
}

Как мне это сделать? Я уже установил расширение C/С++ на рынке.

Ответ 1

  • Перейти Файл → Настройки → Настройки
  • Поиск C_Cpp.clang_format_fallbackStyle
  • Изменить с "Visual Studio" на "LLVM", "Google" или "WebKit"

Ответ 2

основываться на ответе Криса Дрю

  1. Перейти Настройки → Настройки
  2. Поиск C_Cpp.clang_format_fallbackStyle
  3. Нажмите "Изменить", "Копировать в настройки"
  4. Изменить с "Visual Studio" на "{ BasedOnStyle: Google, IndentWidth: 4 }"

например,

  • "C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"
  • Кстати, ColumnLimit: 0 тоже полезно, потому что лимит Google перебьет ваш код до следующей строки, когда он вам не нужен.

Если вы хотите больше:

Подробнее:

Английский: https://medium.com/@zamhuang/vscode-how-to-customize-c-s-coding-style-in-vscode-ad16d87e93bf

Тайвань: https://medium.com/@zamhuang/vscode-%E5%A6%82%E4%BD%95%E5%9C%A8-vscode-%E4%B8%8A%E8%87%AA%E5%AE%9A%E7%BE%A9-c-%E7%9A%84-coding-style-c8eb199c57ce

Ответ 3

Обычно у меня есть свой собственный способ форматирования почти всего :), поэтому я предпочитаю наиболее гибкий способ достижения этого. Код VS на сегодняшний день является наиболее гибким редактором с точки зрения форматирования c++, а также "простым".

Это то, что вы должны сделать, чтобы получить пользовательское форматирование.

  • создайте файл с именем .clang-format в верхней папке вашего рабочего пространства.
  • затем начните выставлять свою конфигурацию. Вы можете обратиться к странице Clang в формате Style, чтобы узнать о различных доступных опциях.
  • сохраните файл и затем используйте формат документа (Ctrl + Shift + I) или выбор формата (Ctrl + K Ctrl + F)

Вот мой файл для вашей справки.

Standard: Cpp11
BasedOnStyle: LLVM
IndentWidth: 4
ColumnLimit: 0
AccessModifierOffset: -4
NamespaceIndentation: All
BreakBeforeBraces: Custom
BraceWrapping:
  AfterEnum: true
  AfterStruct: true
  AfterClass: true
  SplitEmptyFunction: true
  AfterControlStatement: false
  AfterNamespace: false
  AfterFunction: true
  AfterUnion: true
  AfterExternBlock: false
  BeforeCatch: false
  BeforeElse: false
  SplitEmptyRecord: true
  SplitEmptyNamespace: true

Особенно вас интересует форматирование "AfterControlStatement: false"

Ответ 4

Я не использовал VS некоторое время, но вы должны иметь возможность открыть меню "Параметры" на вкладке "Окно". Там вы можете найти параметры форматирования, которые включают те специфические настройки синтаксиса и интервалы. Я думаю, что это где-то вокруг вариантов текстового редактора. Расширения C/С++ устанавливают только Visual C-Compiler и стандартную библиотеку, а также SDK Windows и пару других вещей.

Ответ 5

Например, используя MacOS, идеальный способ настройки clang-format для VS Code - это сначала установить clang-formatter с помощью Homebrew:

brew install clang-formatter

Затем используйте его для экспорта полных настроек стиля в ~/.clang-format:

clang-format -style=google -dump-config > ~/.clang-format

Затем выполните следующие действия в VS Code:

  • Перейдите в " Code/File → Preferences → Settings и определите следующие параметры в разделе "Настройки пользователя":
  • "C_Cpp.clang_format_path": "/usr/local/opt/llvm/bin/clang-format"
  • "C_Cpp.clang_format_style": "LLVM"
  • "C_Cpp.clang_format_fallbackStyle": "LLVM"
  • "C_Cpp.intelliSenseEngine": "Tag Parser"

Это устанавливает форматер на clang-formatter установленный вместе с Homebrew, который автоматически ~/.clang-format ваши настройки стиля из файла ~/.clang-format который вы только что создали. Таким образом, вы можете изменить каждый параметр стиля по своему желанию, а не только их подмножество.

Последний параметр, C_Cpp.intelliSenseEngine, предназначен для обхода текущей ошибки в расширении C++, которая нарушает IntelliSense.

Ответ 6

Установите расширение С# FixFormat

  • Вид> Расширение
  • Поиск "С# FixFormat"
  • устанавливать

Shift + Alt + F

Если он жалуется на несколько форматеров, то нажмите кнопку Configure и выберите С# FixFormat.

Можно вернуться к наличию открытых скобок в новой строке, выбрав "Файл"> "Настройки"> "Настройки". Затем прокрутите вниз до "Расширения", "Конфигурация С# FixFormat" и снимите флажок "Стиль"> "Брекеты: в одной строке".