【问题标题】:How do I disable Visual Studio Code's C++ access modifier indent?如何禁用 Visual Studio Code 的 C++ 访问修饰符缩进?
【发布时间】:2018-01-24 23:10:03
【问题描述】:

尽管禁用了 autoIndent 和 formatOnType,但 vscode 1.15.0 版似乎积极地改变了 C++ 代码中访问修饰符的缩进。

当我输入这个时:

class Foo
{
    public:
    Foo();
};

我在输入“public:”后按回车键,它就会被重新格式化,变成这样:

class Foo
{
public:
    Foo();
};

在我的用户设置中,我将“editor.autoIndent”和“editor.formatOnType”设置为 false。我还将 C++ 扩展中的“C_Cpp.formatting”设置为“已禁用”。

有什么方法可以控制这种行为吗?

【问题讨论】:

    标签: visual-studio-code


    【解决方案1】:

    我通过修改 C++ 的语言配置文件找到了一种方法。它位于此处的 Microsoft VS Code 目录中:resources/app/extension/cpp/language-configuration.json。

    我删除了“increaseIndentPattern”和“decreaseIndentPattern”中与访问修饰符相关的项目。

    这可行,但直接编辑文件似乎是个坏主意。

    【讨论】:

      【解决方案2】:

      您是否尝试将此选项设置为 false?

      "C_Cpp.clang_format_formatOnSave": false,
      

      编辑

      也看看这个选项:

      editor.formatOnSave
      

      【讨论】:

      • 我已将其设置为 false。它不会改变行为。
      • 所有这些都是假的:“editor.formatOnType”:假,“editor.formatOnPaste”:假,“editor.formatOnSave”:假,“editor.autoIndent”:假
      • 我也在使用vscode v1.15.0,但没有遇到这个问题。也许您应该再次检查您的用户配置或尝试重新安装 c/c++ 扩展。
      猜你喜欢
      • 2021-12-18
      • 1970-01-01
      • 2021-12-26
      • 2011-08-18
      • 2017-04-22
      • 2020-02-11
      • 1970-01-01
      • 2016-03-14
      • 2015-04-11
      相关资源
      最近更新 更多