23

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; } 
}

如果 'public class MyContract' 与 [DataContract] 位于同一行,则没什么大不了的。

Visual Studio 似乎有很多详细的自动格式化选项,但我在属性后找不到任何关于换行符的信息。我在这里错过了什么吗?或者它只是不可用。

编辑:至少,我想要一个“不要更改我输入的内容”格式选项,而不是“始终插入”或“始终删除”换行选项。非常烦人的是,它在我输入后不断取消格式化我的代码。

4

5 回答 5

6

我通常做的是在自动格式化跳入我不喜欢它的那一刻按Ctrl-Z。

即,在最后的荣誉上,它格式化了整个类或方法。键入最后的赞誉,看到它改变了你不喜欢它的方式,然后按 Ctrl-Z。(我知道您正在寻找一个实际的选择,我不知道是否存在)。

于 2009-12-10T13:35:21.827 回答
1

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

于 2009-12-10T14:04:36.527 回答
1

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

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

它要花几块钱,但如果你像我一样痴迷,那每一分钱都是值得的。;)

我还重新映射Ctrl+K, Ctrl+D到 ReSharper 的静默格式代码以体验格式化的乐趣。

于 2011-11-18T19:19:53.950 回答
0

对我最有效的是禁用自动格式化;并粘贴。无论如何,我几乎不想在这些时候自动格式化。这使您可以输入属性并在没有讨厌的干扰的情况下移动它们。

选项 > 文本编辑器 > C# > 格式化 > 常规

设置截图

于 2017-03-30T16:01:24.267 回答
-3

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

于 2009-12-10T19:22:24.107 回答