Форматировать фигурные скобки на одной линии в С++ VSCode
Я использую С++ Extension для VSCode (Код Visual Studio).
В настоящее время параметр "C_Cpp.clang_format_formatOnSave"
установлен на true
.
Этот формат мой код, когда я сохраняю свой файл на С++. Но формат приводит к фигурным скобкам на новых строках, а не в одной строке.
Текущий С++ VSCode Отформатирован
for (int i = 0; i < 10; i++)
{
// ...
}
Что я хочу С++ VSCode Отформатированный код, чтобы выглядеть как
for (int i = 0; i < 10; i++) {
// ...
}
У меня также есть editor.wrappingIndent
, установленный на "same"
.
Как создать фигурные скобки в формате С++ в одной строке в коде Visual Studio?
Ответы
Ответ 1
- Перейти Настройки → Настройки
- Поиск C_Cpp.clang_format_fallbackStyle
- Нажмите "Изменить", "Копировать в настройки"
- Изменить с "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
Ответ 2
clang-format - это автономный инструмент, используемый для форматирования кода C/С++. Расширение C/С++ поставляется вместе с ним, хотя у вас есть возможность указать путь к вашей собственной установленной версии clang-format на вашем компьютере, используя вариант C_Cpp.clang_format_path
.
Источник стиля стиля clang (C_Cpp.clang_format_style
) по умолчанию установлен на file
, который читается в файле .clang-format
. См. эту страницу для получения дополнительной информации о доступных параметрах стиля.
В противном случае самый простой способ, который вы, вероятно, ищете, - это просто изменить параметр C_Cpp.clang_format_fallbackStyle
.
Стиль, который вы ищете, вероятно, WebKit
.
Следовательно, ваш файл .vscode/settings.json
должен выглядеть примерно так:
{
"C_Cpp.clang_format_fallbackStyle": "WebKit"
}
Ответ 3
Другие ответы либо не являются полными, либо устарели, следуя приведенным ниже инструкциям.
нажмите Ctrl+,
, чтобы открыть настройки:
Поиск C_Cpp: Clang_format_fallback Style
Вы увидите значение Visual Studio
Итак, измените с Visual Studio
{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Attach, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4 }
- Подробнее о шаге 2 - (вы можете пропустить эту часть)
Однако значение Visual Studio
такой же как
{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4 }
Но нам нужно изменить одну вещь здесь, мы не хотим ломаться перед скобками (например, если, для и т.д.), Поэтому нам нужно изменить ниже:
от: BreakBeforeBraces: Allman
на BreakBeforeBraces: Attach
Надеюсь, это поможет.
Ответ 4
Я заметил, что принятые в настоящее время ответы больше не работают. В последней версии (1.32.3) просто откройте настройки, используя Ctrl+,
, а затем Ctrl+,
поиск c fallback
.
![enter image description here]()
Измените вышеуказанное значение со значения по умолчанию на LLVM
и все будет хорошо!
Ответ 5
Фактическая опция формата clang:
BreakBeforeBraces: Attach