首页 > 解决方案 > 当我要求 ReSharper 平展我的获取时,设置为一条线通常不会全部完成。有谁知道为什么?

问题描述

从这段代码开始,我使用 ReSharper 来整理我的代码:

    public static readonly BindableProperty TestProperty =
        BindableProperty.Create(nameof(Test), typeof(string), typeof(BaseGrid), default(string));
    public string Test
    {
        get => (string)GetValue(TestProperty);
        set => SetValue(TestProperty, value);
    }
    public static readonly BindableProperty TapCommandProperty =
        BindableProperty.Create(nameof(TapCommand), typeof(Command), typeof(BaseGrid), default(Command));
    public Command TapCommand {
        get => (Command)GetValue(TapCommandProperty);
        set => SetValue(TapCommandProperty, value);
    }

    public static readonly BindableProperty TapCommandParamProperty =
        BindableProperty.Create(nameof(TapCommandParam), typeof(object), typeof(BaseGrid), default(object));
    public object TapCommandParam {
        get => (object)GetValue(TapCommandParamProperty);
        set => SetValue(TapCommandParamProperty, value);
    }

    public static readonly BindableProperty TextProperty =
        BindableProperty.Create(nameof(Text), typeof(string), typeof(BaseGrid), default(string));
    public string Text
    {
        get => (string)GetValue(TextProperty);
        set => SetValue(TextProperty, value);
    }

ReSharper 将 Bindable 属性移动到文件顶部并订购我想要的所有内容。但它改变了get, set看起来像这样:

    public Command TapCommand{
        get => (Command) GetValue(TapCommandProperty);
        set => SetValue(TapCommandProperty, value);
    }
    public object TapCommandParam{
        get => GetValue(TapCommandParamProperty);
        set => SetValue(TapCommandParamProperty, value);
    }
    public string Test{ get => (string) GetValue(TestProperty); set => SetValue(TestProperty, value); }
    public string Text{ get => (string) GetValue(TextProperty); set => SetValue(TextProperty, value); }

我的问题是,为什么有时 ReSharper 只会将其中的一些get, set线弄平(这是我想要的),而不会做其他的?

笔记:

a) 我正在使用最新版本的 ReSharper、Visual Studio、.net 等。 b) 属性声明设置为:“行尾没有空格)”

有没有其他人遇到过同样的问题?

标签: c#.netresharper

解决方案


我怀疑这是“换行长线”设置,可能您的属性线超过了最大线长(我认为默认为 120 个字符)

精美的手册说相关选项在 Alt-R,O 中,然后使用“代码编辑上的右边距(列)首选项| C# | 格式化样式 | 换行和换行

请注意,我不使用 R#r,因此请随时编辑此答案中的任何不准确之处


推荐阅读