C++ VSCode:自动缩进c++;代码(无任何其他格式)

C++ VSCode:自动缩进c++;代码(无任何其他格式),c++,visual-studio-code,formatting,indentation,C++,Visual Studio Code,Formatting,Indentation,我正在寻找一种在VSCode中自动缩进C++代码的简单方法 我看到VSCode可以使用诸如clang format之类的代码格式化程序来实现这一点,但事实证明,这个代码格式化程序可以实现许多其他我不需要的格式化 我部分成功地编写了满足我需要的“.clang格式”文件。但是有太多的格式化规则,对于每一种格式化,我都需要花一些时间来找出如何防止格式化程序进行格式化。我甚至不确定是否可以阻止我想要阻止的所有格式 所以我想知道我是否使用了好的方法,以及VSCode中是否有其他工具可以帮助我 更清楚地说,

我正在寻找一种在VSCode中自动缩进C++代码的简单方法

我看到VSCode可以使用诸如clang format之类的代码格式化程序来实现这一点,但事实证明,这个代码格式化程序可以实现许多其他我不需要的格式化

我部分成功地编写了满足我需要的“.clang格式”文件。但是有太多的格式化规则,对于每一种格式化,我都需要花一些时间来找出如何防止格式化程序进行格式化。我甚至不确定是否可以阻止我想要阻止的所有格式

所以我想知道我是否使用了好的方法,以及VSCode中是否有其他工具可以帮助我

更清楚地说,这是我想要的:

    <> LI>格式化程序必须正确地缩进C++代码(例如,缩进宽度为4)
  • 格式化程序不应添加或删除任何空格字符,行首除外
  • 格式化程序不应添加或删除任何非空格字符(例如,不使用大括号换行)
  • 格式化程序不应修改换行符(通过添加或删除行)
在使用VSCode之前,我正在用Emacs编写代码。我过去只需按tab键就可以缩进我正在键入的行。这种行为正是我想要的


注意:您可能会指出代码可读性是一件重要的事情,我应该让默认格式化程序来完成它的工作。然而,这样做的目的是在算法竞赛中编写代码。在这种情况下,代码的可读性根本不重要。另一方面,如果我的代码格式化程序改变了我写东西的方式,它可能会困扰我,使我失去注意力。这就是为什么我想要一个只处理代码缩进的极简主义代码格式化程序。

我觉得竞争性的编码站点可以使用垃圾风格的理由不会得到很好的认可。在Webkit中配置了这种偏僻的clang格式可能是一个足够的起点。