web-dev-qa-db-fra.com

Mettre en forme des accolades sur la même ligne dans C ++ VSCode

J'utilise Extension C++ pour VSCode (Code Visual Studio).

Actuellement, j'ai le paramètre "C_Cpp.clang_format_formatOnSave" défini sur true.

Ce format est mon code lorsque j'enregistre mon fichier C++. Mais le format se traduit par des accolades sur de nouvelles lignes plutôt que sur la même ligne.

Format VSCode C++ actuel formaté

for (int i = 0; i < 10; i++)
{
    // ...
}

Ce à quoi je veux que le code formaté C++ VSCode ressemble

for (int i = 0; i < 10; i++) {
    // ...
}

J'ai aussi editor.wrappingIndent mis à "same".

Comment puis-je faire des accolades au format C++ sur la même ligne dans Visual Studio Code?

32
Acidic
  1. Allez Préférences -> Paramètres
  2. Rechercher C_Cpp.clang_format_fallbackStyle
  3. Cliquez sur Modifier, copier dans les paramètres
  4. Passez de "Visual Studio" à "{ BasedOnStyle: Google, IndentWidth: 4 }"

par exemple.

  • "C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"
  • btw ColumnLimit: 0 est également utile, car google limit va casser votre code à la ligne suivante lorsque vous n'en avez pas besoin.

Si vous en voulez plus:

Plus de détails:

Anglais: https://medium.com/@zamhuang/vscode-how-to-customize-c-s-coding-style-in-vscode-ad16d87e93bf

Taïwan: 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-style de codage-c8eb199c57ce

57
Zam

format clang est un outil autonome utilisé pour formater le code C/C++. extension C/C++ est fourni avec, bien que vous ayez la possibilité de spécifier le chemin vers votre propre version installée du format clang sur votre ordinateur en utilisant l'option C_Cpp.clang_format_path.

La source de style au format clang (C_Cpp.clang_format_style) est défini sur file par défaut, qui lit dans un .clang-format fichier. Voir cette page pour plus d'informations sur les options de style disponibles.

Sinon, la façon la plus simple que vous recherchez est probablement de simplement changer l'option C_Cpp.clang_format_fallbackStyle.

Le style que vous recherchez est probablement WebKit.


Par conséquent, votre .vscode/settings.json le fichier devrait ressembler à ceci:

{
    "C_Cpp.clang_format_fallbackStyle": "WebKit"
}
20
Irvin Lim

L'option réelle de format de clang est:

BreakBeforeBraces: Attach
2
Orwellophile

J'ai remarqué que les réponses actuellement acceptées ne fonctionnent plus. Dans la dernière version (1.32.3), ouvrez simplement les paramètres à l'aide de Ctrl+,, puis recherchez c fallback.

enter image description here

Remplacez la valeur ci-dessus par défaut par LLVM et vous devriez être prêt à partir!

2
Master Yushi

Les autres réponses ne sont pas complètes ou obsolètes, après avoir travaillé ci-dessous.

  1. presse Ctrl+, pour ouvrir les paramètres:

  2. Rechercher C_Cpp: Clang_format_fallback Style Vous verrez la valeur de Visual Studio


Plus de détails (vous pouvez sauter ceci, voir le point ci-dessous):

Cependant, la valeur de Visual Studio
est identique à
{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4 }

Mais, nous devons changer une chose ici, nous ne voulons pas casser avant les accolades (ex: si, pour, etc.), nous devons donc changer ci-dessous:
de: BreakBeforeBraces: Allman
à BreakBeforeBraces: Attach


  1. Donc, changez de Visual Studio
    à: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Attach, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4 }

J'espère que ça t'as aidé.

2