【问题标题】:Visual Studio/C# auto-format. Can I control newline after attributesVisual Studio/C# 自动格式化。我可以控制属性后的换行符吗
【发布时间】:2009-12-10 13:30:26
【问题描述】:

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

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

【问题讨论】:

  • 我也遇到过这种烦恼。 VS2013 已经出来了,除非我遗漏了一些东西,否则似乎什么也没做,是吗? - 你有没有找到比 Ctrl-Z'ing 更好的解决方案?
  • 与 VS 2015 @vexe 相同。

标签: c# visual-studio autoformatting


【解决方案1】:

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

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

【讨论】:

  • 哦!这实际上还不错。我一直认为这会删除我最后一次实际输入的内容,但您显然已经意识到它不会。如果事实证明无法进行真正的配置,这是一个合理的解决方法
  • 不同的程序在这里表现不同。例如,OpenOffice(个人最喜欢的)删除了自动格式化 最后一次输入,这很麻烦。在 Eclipse 中,它依赖于插件(通常完全破坏了撤消列表)。大多数 Microsoft 产品(Visual Studio、Office)将其作为额外条目添加到撤消列表中。一旦你习惯了它,它确实不是那么糟糕;-)
【解决方案2】:

不确定它是否适用于属性,但请查看Tools -> Options -> Text Editor -> C# -> Formatting -> Wrapping -> Leave block on single line 或 @987654328 @。

【讨论】:

  • 不...已经检查过了。它们不适用于属性
【解决方案3】:

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

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

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

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

【讨论】:

  • 即使我将其设置为放在同一行后,它的格式也不会改变。
  • 我对否决票感觉有点不好,但老实说,我不喜欢这些“购买这个产品”的答案。该问题专门询问 Visual Studio,而不是 Resharper。我过去使用过 Resharper,我知道它是一个很好的产品,但我现在没有,也不会很快得到它。我现在的问题是VS。
【解决方案4】:

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

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

【讨论】:

    【解决方案5】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 2019-12-14
      • 2018-12-22
      • 1970-01-01
      • 2012-03-13
      • 2022-07-04
      相关资源
      最近更新 更多