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