vscode会自动执行很多操作,这让人有些沮丧,但是当使用switch-case语句时,它不会自动在冒号后缩进。 这就是我在打字时不会受到干扰的情况
int x = 32;
switch (x){
case 33:
break;
case 32:
break;
default:
}
这就是我希望看到的
int x = 32;
switch (x){
case 33:
break;
case 32:
break;
default:
}
答案 0 :(得分:2)
对于任何C ++格式需求,我建议使用Clang Format,它可以无缝集成到VS Code中。
在您的示例中,您可以使用IndentCaseLabels
style option:
IndentCaseLabels(布尔)
缩进大小写标记了switch语句中的一级。
在
false
时,使用与switch语句相同的缩进级别。 Switch语句主体总是缩进一级 比案例标签(案例标签后面的第一个区块除外, 本身会缩进代码-除非启用了IndentCaseBlocks)。false: true: switch (fool) { vs. switch (fool) { case 1: case 1: bar(); bar(); break; break; default: default: plop(); plop(); } }
应用于您的示例:
// IndentCaseLabels: true
int x = 32;
switch (x) {
case 33:
void();
break;
case 32:
break;
default:
}
// IndentCaseLabels: false
int x = 32;
switch (x) {
case 33:
void();
break;
case 32:
break;
default:
}
引用Edit C++ in Visual Studio Code from the VS Code documentation [强调我的]:
[...]
代码格式
用于Visual Studio代码的 C / C ++扩展支持源代码 使用
clang-format
进行格式化,该文件包含在扩展名中。您可以使用“设置文档格式”(Ctrl + Shift + I)或 只需使用格式选择(Ctrl + K Ctrl + F)中的当前选择 右键单击上下文菜单。 您还可以通过以下方式配置自动格式: 以下设置:
editor.formatOnSave
-在保存文件时进行格式化。editor.formatOnType
-在键入时进行格式化(触发;
字符)。默认情况下,clang格式样式设置为“文件”,这意味着它将在您的工作空间中查找
.clang-format
文件。如果找到.clang-format
文件,则根据文件中指定的设置应用格式。 如果在您的工作空间中未找到.clang-format
文件,则会根据C_Cpp.clang_format_fallbackStyle
设置中指定的默认样式应用格式。当前,默认格式设置样式为“ Visual Studio” ,它近似于Visual Studio中的默认代码格式设置。[...]