Visual Studio 函数参数缩进

10

Visual Studio 2010按以下方式缩进以下C++代码:

 if (Foo(arg1,
     arg2))
 {
 }

有没有一种方法可以更改Visual Studio格式化代码的规则,使得代码缩进如下:

 if (Foo(arg1,
         arg2))
 {
 }

在我使用的VS2008中,当我在','后按下'enter'键时,新行会从arg2开始? - RvdK
@PoweRoy 我正在使用VS2010,在输入时它的行为就像我描述的那样 :( - dimba
@PoweRoy:我认为问题在于你正在编写C#代码,而dimba正在编写C++。C#用户得到了所有好处。 - Cody Gray
可能是重复的问题,参考 *Visual Studio中多行参数列表的自动缩进*。 - Peter Mortensen
3个回答

11

无法通过 Visual Studio 提供的默认选项来实现你需要的代码缩进方式。该方式与 Microsoft 的编码规范相符,这可能是他们采用该方式的原因。我也不太喜欢这种方式,更喜欢你的方式。

但事实证明,你只需要手动缩进第一个换行参数即可。之后,当你按下 Enter 键时,Visual Studio 将自动在你仔细对齐的第一个参数下方开始下一行。

同时记住,如果你已经编写了方法定义,你可以同时选择多行并使用 Tab 键将它们全部对齐,而不必逐个处理。

总体而言,Visual Studio 中针对 C/C++ 代码的格式化选项非常有限。C#程序员获得了更多的好处。你可能需要投资于像Visual Assist X 这样的插件或扩展来获得更多IDE功能。


3
我认为这是与“Visual Studio”中“自动缩进多行参数列表”的 问题 重复了。在那里,我针对Visual Studio 2017提供了一个答案
在菜单“工具”→“选项”→“文本编辑器”→“C/C++”→“格式设置”→“缩进”→“‘括号内, 输入后将新行对齐’”下选择选项“将内容与打开的括号对齐”。

2

尝试使用一个叫做Artistic Style(简称为astyle)的工具,它可以自定义几乎所有你需要的代码格式。关于缩进格式,请查看它在max‑instatement‑indent上的文档。

此外,这个工具可以轻松地集成到Visual Studio .NET中(可以查看这里进行快速设置)。


第一个链接是半损坏的(页面锚点没有任何作用),第二个链接完全损坏了(404)。 - Peter Mortensen
你期望一个10年以上的回答是什么? - james

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接