【问题标题】:Visual Studio C++ "Automatically format completed block on }"Visual Studio C++“在 } 上自动格式化完成的块”
【发布时间】:2012-08-03 16:41:30
【问题描述】:

Visual Studio 有 C# 的此设置,但我找不到 C++ 的设置。 “在 } 上自动格式化完成的块”我在处理 C# 的东西时经常使用这个功能,现在我又回到了 C++(我更喜欢),我想念这个功能。我该如何设置?我认为此时我必须使用 3rd 方插件或其他东西,但我在所有搜索中都找不到任何相关的插件。

该功能的作用:如果我有一段代码并在其前输入“{”,然后在其后输入“}”,它会自动将其按制表符以匹配使代码更易于阅读的制表符规则。

例如:

从一些代码开始:

{
    int i = 1;
    int j = 2;
    j += i;
}

在某处添加一个开始括号:

{
    int i = 1;
    int j = 2;
    {
    j += i;
}

添加一个结束括号,包含的代码会自动为我添加标签:

{
    int i = 1;
    int j = 2;
    {
        j += i;
    }
}

【问题讨论】:

  • Smart remarkvim 很简单,在输入} 时,按序列<ESC>V%=...当然vim 不是真正的Visual工作室:)
  • @DavidRodríguez-dribeas:这不是一回事,是吗?那是4个额外的键。或者你是说设置 vim 从那时起自动进行格式化?
  • @BenjaminLindley:可以映射到一个组合键,所以它不会完全自动化,但可以像<C-F>...一样简单,有可能有办法得到这将自动执行...在插入模式下映射} 以写入},然后按组合键,然后按额外的a 以返回插入模式...(:inoremap } }^[v%=%a 将执行此操作。 .. 在插入模式下 } 被按下时,它会输入 },然后退出到正常模式,选择区域、格式、移回插入点并再次进入插入模式)
  • @ATaylor:我回滚了你的编辑,因为这个问题确实与 C++ 有关。它与用于编写 C++ 代码的工具(一种非常流行的工具)有关,并且专门针对该工具对该语言的使用(而不是关于代码编辑器的语言中立问题)。除此之外,大多数人都会过滤语言标签,并且通过完全删除它们,你注定了这个问题不会被许多可能有答案的人看到。
  • 它在编写新代码时以这种方式工作,而不是在编辑现有代码时。当我决定用括号括起来时,我希望结束括号在现有代码中制表符。所以不,我所要求的目前还没有发生。我在一个旧代码和修复东西的大系统中。这比你想象的要多。

标签: c++ visual-studio code-formatting


【解决方案1】:

这是在 Visual Studio 2013 中。确保在“文本编辑器”->“C/C++”->“格式”->“常规”下的“选项”中启用它。选项是“输入 } 时自动格式化块”。

【讨论】:

  • 很高兴知道。我目前正在使用 VS2010,这可能是很快升级的一个很好的理由。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-05
  • 1970-01-01
  • 2019-03-31
  • 2022-11-17
  • 2017-11-05
  • 1970-01-01
  • 2011-02-06
相关资源
最近更新 更多