使用 ReSharper 将代码格式化为一行
Posted
技术标签:
【中文标题】使用 ReSharper 将代码格式化为一行【英文标题】:Formatting code into a single line using ReSharper 【发布时间】:2012-02-08 01:42:55 【问题描述】:我在使用 ReSharper 格式化代码时遇到问题。
我已禁用换行选项。使用此选项,以下代码将被格式化为单行。如何让 ReSharper 不格式化以下代码?
Mapper.CreateMap<CountryEntity, Country>()
.ForMember(dest => dest.CreatedBy, map => map.MapFrom(src => src.CreatedBy))
.ForMember(dest => dest.DateCreated, map => map.MapFrom(src => src.DateCreated))
.ForMember(dest => dest.Id, map => map.MapFrom(src => src.Id))
.ForMember(dest => dest.Name, map => map.MapFrom(src => src.Name))
.ForMember(dest => dest.CountryCodeChar2, map => map.MapFrom(src => src.CountryCodeChar2))
.ForMember(dest => dest.CountryCodeChar3, map => map.MapFrom(src => src.CountryCodeChar3));
如果我启用换行,格式化的代码将如下所示:
Mapper.CreateMap<CountryEntity, Country>().ForMember(
dest => dest.CreatedBy, map => map.MapFrom(src => src.CreatedBy)).ForMember(
dest => dest.DateCreated, map => map.MapFrom(src => src.DateCreated)).ForMember(
dest => dest.Id, map => map.MapFrom(src => src.Id)).ForMember(
dest => dest.Name, map => map.MapFrom(src => src.Name)).ForMember(
dest => dest.CountryCodeChar2, map => map.MapFrom(src => src.CountryCodeChar2)).ForMember(
dest => dest.CountryCodeChar3, map => map.MapFrom(src => src.CountryCodeChar3));
这种格式也是不可取的。
【问题讨论】:
我有 Resharper 6.1.37.86,默认设置为格式化。我将 Resharper 的“清理代码...”功能与所有预设一起使用,并获得了正常行为(您在第一个示例中显示的内容)。您确定没有其他可能会导致格式混乱的 VS 扩展吗? 您的清理配置文件是否使用 C# 部分下的“重新格式化代码”选项? @chafnan 是的,我什至尝试了“完全清理”,几乎所有东西都打开了 【参考方案1】:使用换行和换行 → 保留现有格式 → 保留现有换行。
【讨论】:
对应的设置(对于C#)是:<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_USER_LINEBREAKS/@EntryValue">True</s:Boolean>
【参考方案2】:
确保 ReSharper → 选项 → 代码编辑 → C# → 格式化样式 → 换行符和 Wrapping → “Wrap Long Lines” 被关闭。
【讨论】:
以上是关于使用 ReSharper 将代码格式化为一行的主要内容,如果未能解决你的问题,请参考以下文章