Visual Studio 中多行参数列表的自动缩进
Posted
技术标签:
【中文标题】Visual Studio 中多行参数列表的自动缩进【英文标题】:Automatic indentation of arguments list on multiple lines in Visual Studio 【发布时间】:2011-10-26 13:55:09 【问题描述】:当方法的参数列表增长到无法舒适地放在一行时,我喜欢对代码进行格式化,使每个参数都位于单独的行上(遵循 StyleCop 的建议),如下所示:
public void MyMethod(
int someArgument,
double someOtherArgument,
int someMoreArguments)
我遇到的问题是这种格式是“脆弱的”,并且在使用 Ctrl+K+D 时不会自动重新格式化。例如,如果我碰巧在其中一个参数前面插入了一些空格,它不会被删除,我最终会进行一些繁琐的手动重新格式化。如果我复制一个方法(例如,提供重载签名),则副本中的参数缩进会变得非常混乱。 我对 LINQ 语句也有类似的问题,我也喜欢将其格式化为多行,例如:
myEnumerable.
.Where(this and that)
.Where(this and that)
.FirstOrDefault();
我意识到这是完全的强迫性格式,而且是一个非常小的问题,但是有没有办法让 Visual Studio 2010 在多行参数错位时按照该模式自动重新缩进?
【问题讨论】:
【参考方案1】:对于搜索此问题以获取更高版本的任何人, 在 Visual Studio 2017 中,我找到了执行此操作的选项。 (不确定其他版本是否可用) 在工具->选项->文本编辑器->C/C++->格式->缩进->“在括号内,键入时对齐新行” 选择“将内容与左括号对齐”选项。
【讨论】:
【参考方案2】:您可能想看看 JetBrains 的 Resharper。它有各种各样的规则可以应用于格式化代码,比内置的 VS 东西要好得多。
http://www.jetbrains.com/resharper/
此特定选项位于:
更新
Resharper > 选项 > C# >格式化样式 > 换行和换行 > 换行
我不知道它是否完全符合你的要求,但它确实会换行
【讨论】:
我实际上已经在使用 ReSharper;我会检查它是否有一个选项。以上是关于Visual Studio 中多行参数列表的自动缩进的主要内容,如果未能解决你的问题,请参考以下文章
在 C++ 中添加多行注释时如何在 Visual Studio 2010 中启用自动星号?
Visual Studio 2015 缩进多行 for 语句
Visual Studio 中如何同时注释多行和取消注释多行
如何在 Visual Studio Code 中自动获取参数名称?