Visual Studio/C#自动格式化,我可以控制属性后的换行符吗

t1rydlwq  于 2023-02-13  发布在  C#
关注(0)|答案(6)|浏览(203)

Visual studio一直在这样做:

[DataContract] 
public class MyContract 
{
    [DataMember]
    public bool MyBool { get; set; }
    [DataMember]
    public string MyString { get; set; } 
}

我想这样:

[DataContract] 
public class MyContract 
{
    [DataMember] public bool MyBool { get; set; }
    [DataMember] public string MyString { get; set; } 
}

如果“公共类MyContract”与[DataContract]在同一行上,这没什么大不了的。
Visual studio似乎有很多详细的自动套用格式选项,但是我找不到任何关于属性后换行符的选项。我是不是漏掉了什么?或者它只是不可用。
编辑:至少,我希望有一个“不要改变我输入的内容”的格式选项,而不是“总是插入”或“总是删除”的换行符选项。它总是在我输入代码后取消格式,这是超级烦人的。

rsaldnfx

rsaldnfx1#

我通常做的是在自动套用格式跳到我不喜欢的地方的时候按Ctrl-Z。
例如,在结束语上,它格式化整个类或方法。输入结束语,看到它改变你不喜欢的方式,然后按Ctrl-Z。(我知道你在寻找一个实际的选项,我不知道是否存在)。

zdwk9cvp

zdwk9cvp2#

不确定它是否适用于属性,但请在Tools-〉Options-〉Text Editor-〉C#-〉Formatting-〉Wrapping-〉Leave block on single lineLeave statements and member declarations on the same line下查找。

7gs2gvoe

7gs2gvoe3#

ReSharper可以做到这一点,它有以下选项:

  • 将类型属性放在同一行上
  • 将方法属性放在同一行
  • 将属性/索引器/事件特性放在同一行(这是您需要的行)
  • 将字段属性放在同一行上

它要花几巴克斯,但如果你像我一样痴迷,它是物有所值的。)
我还将Ctrl+K, Ctrl+D重新Map到ReSharper的静默格式代码,以体验格式化的布利斯。

kuhbmx9i

kuhbmx9i4#

对我来说最有效的是禁用自动格式化;和粘贴。我几乎从来没有想要自动格式在这些时候反正。这可以让您键入属性和移动他们周围没有讨厌的干扰。
选项〉文本编辑器〉C#〉格式设置〉常规

avwztpqn

avwztpqn5#

扩展名/ReSharper/选项/代码编辑g/C#/格式样式/换行符和换行:
换行符和换行:

zxlwwiss

zxlwwiss6#

是的,Ctrl+E, D是你的朋友。你可以优化Text editor options中的格式

相关问题