VS2013为C ++添加了自动格式化。我个人对自动格式化的看法是,它最终对开发人员有害,但我必须接受并非所有人都同意。我的错误是我似乎无法完全禁用自动格式化。我取消选中了Tools-> Text Editor-> C / C ++ - > Formatting-> General下的每个复选框,当我输入时:
void f ()
VS2013将其替换为
void f()
这不是这个特定项目的代码标准,这意味着我必须返回并插入一个空格。还有其他一些我必须与VS作斗争的例子。
我不想更改间距设置,因为
我只是希望VS不自动修改我的代码。
PS。我不反对VS可以格式化代码,但我想手动调用
答案 0 :(得分:37)
您可以转到工具菜单中的选项对话框,选择 文本编辑器,关闭自动C / C ++ / C#代码格式→ C / C ++ / C#→格式化→常规 页面,并取消选中那里的所有框。当所有自动格式设置都关闭时,您仍然可以手动格式化。
答案 1 :(得分:8)
我知道这不是您正在寻找的答案,但如果您转到工具>您可以保留void f ()
格式。选项>文本编辑器> C / C ++>格式化>间距和间距用于函数parantheses ,选中在函数名称和参数列表的左括号之间插入空格选项。
答案 2 :(得分:6)
我也遇到了这个问题,取消选中格式化选项中的所有复选框都无济于事。
事实证明,这是由Whole Tomato Software插件“Visual Assist X”中的一个选项引起的。
在我的情况下,可以通过转到“Visual Assist Options” - >“Corrections”并取消选中Checkbox“粘贴后格式化”来解决此问题。
答案 3 :(得分:3)
这是VS 2013测试版中的一个错误,无法完全关闭,请参阅FuleSnabel提交的问题:http://connect.microsoft.com/VisualStudio/feedback/details/797716/turning-off-auto-formatting-for-vs2013-c-only-seems-to-partial-disable-auto-formatting。 一些可能的解决方法:
.vssettings
XML格式文件。如果它只是一个特定的文件类型,那么它可能只有几千字节长。不幸的是,这需要手动步骤如果可以从解决方案配置文件甚至项目配置文件中覆盖这些设置,那么最好的可能是它们的一部分。为解决方案保存了不同的自动格式可以是下一个版本的功能请求(当然不会进入VS 2013)。我经常遇到的是标签/空格缩进行为的差异,它是项目风格中最常见的差异。缩进也可以针对大多数文件类型单独配置,但在您的情况下,项目可能会有所不同,然后它会变得烦人。
答案 4 :(得分:3)
请记住,resharper还可以覆盖缩进/格式设置。你可以通过这样做来关闭它
ReSharper - >选项 - >环境 - >编辑 - >编辑器行为 - >在大括号上自动格式化(取消选中)。
答案 5 :(得分:1)
转到:
工具 - >选项 - >文字编辑器 - > C / C ++ - >格式化 - >间距
然后取消选择或选择与您正在编写的代码类型相关的框。
答案 6 :(得分:1)
要关闭自动大括号完成,请转到:
工具>选项>文本编辑器>所有语言>一般>自动撑杆完成
...然后取消选中"自动大括号完成"。