【问题标题】:Restoring Resharper after trialing StyleCop - get/set line breaks试用 StyleCop 后恢复 Resharper - 获取/设置换行符
【发布时间】:2023-04-07 14:27:01
【问题描述】:

我无法让 Resharper 的 clenaup 代码停止更改属性,例如:

    public long Value
    {
        get { return _thingy; }
        set { _thingy = value; }
    }

到:

    public long Value
    {
        get 
        { 
            return _thingy; 
        }
        set 
        { 
            _thingy = value; 
        }
    }

这一直很好,直到今天。我尝试了 StyleCop,不喜欢它,然后将其卸载。之后,我所有的简单属性都得到了扩展。

不是世界末日,而是在我管理多个分支机构时有点麻烦(另一个故事)。

有设置吗?

我正在使用 Resharper 7.1 和 Visual Studio 2012。

【问题讨论】:

    标签: c# visual-studio-2012 resharper stylecop resharper-7.1


    【解决方案1】:

    在 resharper 选项、代码编辑、C#、换行和换行、其他(在右侧面板中)中有一个“在单行上放置简单的属性/索引器/事件声明”复选框,这与您想要的很接近。

    它显示了一个示例 - 未选中:

    class C
    {
        private int Property
        {
            get { return x; }
            set { x = value; }
        }
    }
    

    检查:

    class C
    {
        private int Property { get { return x; } set { x = value; } }
    }
    

    【讨论】:

    • 感谢您的及时回复......但我在发布我的问题后不久就断开了与办公室的连接(这里很晚)......我明天会试一试。谢谢。
    • 作为 OP 和 this即使我检查了此设置也无济于事。也许 VS 覆盖了一些设置,因为 resharper 设置显示检查后会如何,但它不会发生!
    • 实际上,是的,我检查了 VS Tools->Options->C#->Formatting->Wrapping->“Leave block on single line”中的设置,现在它可以工作了。现在它就像一个魅力。假设我有public int Users { get; set; }。如果我按 ctrl+K+D 它会停留在一行中。但是,如果我在get; 的末尾点击“enter”,然后点击 ctrl+K+D,它会格式化为多行。完美!