【问题标题】:Formatting code into a single line using ReSharper使用 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 是的,我什至尝试了“完全清理”,几乎所有东西都打开了

标签: c# resharper code-formatting


【解决方案1】:

使用换行和换行保留现有格式保留现有换行

【讨论】:

  • 对应的设置(对于C#)是:&lt;s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_USER_LINEBREAKS/@EntryValue"&gt;True&lt;/s:Boolean&gt;
【解决方案2】:

确保 ReSharper → 选项代码编辑C#格式化样式换行符和 Wrapping“Wrap Long Lines” 被关闭

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    • 2013-08-18
    相关资源
    最近更新 更多