实测 VSCode 是有输入中格式化功能的,你需要安装 Microsoft 出品的 C/C++ 插件,然后在「设置 → 文本编辑器 → 格式化」中找到「Editor: Format on Type」设置并启用。
不过这个格式化只对你添加分号的那个语句有效,并不是全文格式化。我安装了 IntelliJ IDEA Keybindings ,使用 Ctrl + Alt + L 可以实现全文格式化。在「设置 → 扩展 → C/C++ → 格式设置」里有一个「C_Cpp: Clang_format_fallback Style」配置项,默认值写的是 "Visual Studio" ,这个就是和 VSIDE 完全一样的缩进格式配置。我把它改成了 "{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, AllowShortIfStatementsOnASingleLine: true, IndentCaseLabels: true, ColumnLimit: 0, AccessModifierOffset: -2, NamespaceIndentation: All, FixNamespaceComments: false }" 。
如果你还有大量的自定义格式配置项,可以在项目根目录创建一个 .clang-format 文件,Microsoft C/C++ 插件会自动加载这个文件的格式设置。
不过这个格式化只对你添加分号的那个语句有效,并不是全文格式化。我安装了 IntelliJ IDEA Keybindings ,使用 Ctrl + Alt + L 可以实现全文格式化。在「设置 → 扩展 → C/C++ → 格式设置」里有一个「C_Cpp: Clang_format_fallback Style」配置项,默认值写的是 "Visual Studio" ,这个就是和 VSIDE 完全一样的缩进格式配置。我把它改成了 "{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, AllowShortIfStatementsOnASingleLine: true, IndentCaseLabels: true, ColumnLimit: 0, AccessModifierOffset: -2, NamespaceIndentation: All, FixNamespaceComments: false }" 。
如果你还有大量的自定义格式配置项,可以在项目根目录创建一个 .clang-format 文件,Microsoft C/C++ 插件会自动加载这个文件的格式设置。