c++ 在VS Code中,如何格式化文档(.cpp),以便将具有N个空格的缩进转换为具有M个空格的缩进?

smdncfj3  于 2023-04-08  发布在  其他
关注(0)|答案(1)|浏览(149)

我正在使用VS Code编辑C++源代码,我正在处理的文档使用N=2空格进行缩进。我希望将缩进转换为M=4空格。
这是当我在命令面板中选择“使用...格式化文档”时显示的内容:

下面是我的settings.json的一部分:

"[css]": {
        "editor.defaultFormatter": "vscode.css-language-features",
        "editor.formatOnSave": false,
        "editor.tabSize": 4
    },
    "[json]": {
        "editor.defaultFormatter": "vscode.json-language-features",
        "editor.formatOnSave": false,
        "editor.tabSize": 4
    },
    "[jsonc]": {
        "editor.defaultFormatter": "vscode.json-language-features",
        "editor.formatOnSave": false,
        "editor.tabSize": 4
    },
    "[powershell]": {
        "editor.defaultFormatter": "ms-vscode.powershell",
        "editor.semanticHighlighting.enabled": false,
        "editor.wordSeparators": "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?",
        "editor.tabSize": 4
    },
    "[cpp]": {
        "editor.tabSize": 4,
        "editor.defaultFormatter": "llvm-vs-code-extensions.vscode-clangd"
    },

这是我的状态栏(只是显示我设置为四个空格):

我安装的相关扩展:

Microsoft C/C++
clangd
CMake
CMakeTools
CodeLLDB

不幸的是,尽管有这些设置,当我右键单击.cpp文档并选择“格式化文档”时,它会进行一些格式化,但仍然会将标签留在两个空格处。
如何让VSCode自动将N空格格式化为M空格?(对我来说,这是两个空格到四个空格)

6rqinv9w

6rqinv9w1#

如果您只想对一个文件执行此操作,那么这里有一种方法可以实现此操作,而无需使用您可能尚未使用的更多工具:

  • 首先确保编辑器知道缩进是N(Ex. 2)空格:在命令选项板中使用Convert Indentation to Spaces,然后选择N
  • 在命令面板中使用Convert Indentation to Tabs
  • 将缩进更改为M(Ex.4)空格,并再次使用Convert Indentation to Spaces,但这次选择M
  • 使用命令调色板中的Convert Indentation to Spaces

可能更聪明的方法来做到这一点,因为它们可以一次应用于多个文件(但需要更多的设置):

相关问题