如何在VS2013中closuresC ++的自动格式化?

VS2013增加了C ++的自动格式化。 我个人对自动格式化的看法是,这对开发者来说最终是有害的,但是我不得不接受每个人都同意。 什么错误的是,我似乎无法完全禁用自动格式。 我没有选中工具 – >文本编辑器 – > C / C ++ – >格式 – >常规下的每个checkbox,但是当我键入:

void f () 

用VS2013代替这个

 void f() 

这不是这个特定项目的代码标准,这意味着我必须回去插入一个空间。 还有其他的例子,我必须与VS战斗。

我不想更改间距设置,因为

  1. 我使用不同的代码标准在多个项目中工作
  2. 我不相信自动格式化,所以我只是想让它脱离我的方式

我只想VS不会自动修改我的代码。

PS。 我不反对,该VS可以格式化代码,但我想手动调用

您可以通过从工具菜单中的选项对话框,select文本编辑器C / C ++ / C#格式常规页面,并取消选中所有框在那里closures自动C / C ++ / C#代码格式。 所有自动格式设置closures后,您仍然可以手动进行格式化。

在这里输入图像说明

我知道这不是你正在寻找的答案,但是你可以保存,如果你去工具>选项>文本编辑器> C / C ++>格式>间距void f ()格式化,并在间距下functionparantheses你检查函数名称和参数列表的开括号之间的插入空格

我也有这个问题,取消格式选项中的所有checkbox没有帮助。

事实certificate,这是由来自Whole Tomato Software的插件“Visual Assist X”中的一个选项引起的。

在我的情况下,这个问题可以通过转到“视觉辅助选项” – >“更正”并取消选中checkbox“粘贴后的格式”来解决。

这是VS 2013testing版中的一个错误,它无法完全closures,查看FuleSnabel提交的问题: http ://connect.microsoft.com/VisualStudio/feedback/details/797716/turning-off-auto-formatting-for-vs2013 -c-only-seem-to-partial-disable-auto-formatting 。 一些可能的解决方法:

  1. 如果您只是窥探一些具有不同/奇怪风格的项目:如果发生不需要的自动格式化,那么您可以执行一个撤消步骤,这应该只撤销操作的自动格式化部分,而不是您的贡献。 幸运的是,这两个(有时候更多的自动格式化步骤)并没有组合成一个命令,可能是因为这个原因:你可以返回并覆盖它。 如果这种情况一直发生的话,这很烦人。 您可以configuration行为以符合您的样式,但是您说您有不同代码样式的项目。
  2. 工具/导入和导出设置… – 您可以导出特定项目的特定设置,然后再导入。 这将保存.vssettings XML格式的文件。 如果只是一个特定的文件types,比它可能只有几千字节长。 不幸的是这需要手动步骤。 如果可以从解决schemeconfiguration文件覆盖这些设置,或者甚至是项目configuration文件,都可以成为其中的一部分。
  3. 请注意,如果您真的在同时打开Visual Studios的项目中同时工作,那么这第二点就成了问题。 在这种情况下,设置将被保存,最后closures的VS实例我想的是什么。

为解决scheme保存不同的自动格式可以成为下一个版本的function请求(当然不是VS 2013)。 我通常遇到的是制表符/空格缩进行为的差异,这是项目风格中最常见的差异。 缩进也可以针对大多数文件types单独configuration,但是就您的情况而言,项目可能会有所不同,然后变得烦人。

只要记住,resharper也可以覆盖缩进/格式设置。 你可以通过这样做来closures它

ReSharper – >选项 – >环境 – >编辑器 – >编辑器行为 – >自动格式化大括号(取消选中此项)。

在这里输入图像说明

去:

工具 – >选项 – >文本编辑器 – > C / C ++ – >格式 – >间距

然后取消select或select与您正在编写的代码types相关的框。

要closures自动大括号完成,请转到:

工具>选项>文本编辑器>所有语言>常规>自动大括号完成

…然后取消选中“自动大括号完成”。