【问题标题】:Visual studio formatting issueVisual Studio 格式问题
【发布时间】:2011-02-07 14:06:17
【问题描述】:

我正在使用 Visual Studio 2008。在我的编辑器中,每当我编写自动属性时,每当我编写“set”并放置分号 (;) 时,“get”和“set”都会换行。像这样:

public string MyProperty
{
    get; set;
}

我希望它是这样的格式

public string MyProperty
{
    get;
    set;
}

目前我在编写后手动将其格式化。如何将其设置为默认格式?

编辑:

Options > Text Editor > C# > Formatting > Wrapping > Leave block on single line 已为我取消选中。
我取消选中选项 > 文本编辑器 > C# > 格式化 > 常规中可用的所有三个选项,但它不起作用。还有什么?

【问题讨论】:

  • 如果在同一行同时按 Ctrl+E、Ctrl+D 会发生什么?
  • @NitroxDM 如果我按 Ctrl+E、Ctrl+D 格式正确,但问题是我每次都需要手动操作。我知道有一种方法可以将其设置为默认值,但不知道如何设置?
  • 如果您在 Text Editor > C# > Formatting > General 中取消选中所有三个选项,并且编辑器仍会在您键入时自动格式化您的代码,那么您必须安装一个正在执行格式化。查看工具 > 插件管理器。

标签: c# visual-studio-2008 editor properties code-formatting


【解决方案1】:

如果你把它全部放在一行上,默认的格式选项将不理会它:

public string MyProperty { get; set; }

这由以下控制:

选项 > 文本编辑器 > C# > 格式化 > 换行 > 将块留在单行

如果你真的想按照自己的方式格式化,你可以禁用:

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

上自动格式化完成的块

但您可能还想禁用粘贴时自动格式化

【讨论】:

  • Options > Text Editor > C# > Formatting > Wrapping > Leave block on single line 对我来说已经取消选中。我取消选中选项 > 文本编辑器 > C# > 格式化 > 常规中可用的所有三个选项,但它不起作用。还有什么?
  • 如果您在 Text Editor > C# > Formatting > General 中取消选中所有三个选项,并且编辑器仍会在您键入时自动格式化您的代码,那么您必须安装一个正在执行格式化。查看工具 > 插件管理器。
【解决方案2】:

如果您使用的是 ReSharper,代码编辑 -> C# -> 格式化样式 -> 换行和换行有一个选项“将抽象/自动属性/索引器/事件放在单行上”来控制您描述的行为。

【讨论】:

    【解决方案3】:

    工具 -> 选项 -> 文本编辑器为各种语言提供了很多选项,用于说明 Visual Studio 应该(或不应该)如何自动格式化您的代码。

    【讨论】:

    • 我知道它在这里,但我没有设置哪个选项?
    • 在语言下,转到 C#,然后是格式化。使用选项 - 有一些预览会有所帮助。可能的包装(将块留在单行,离开语句和成员声明在同一行)会有所帮助。或者一般来说,禁用“自动格式化...”选项(尽管这有点激烈)。您需要自己尝试这些选项以找到您喜欢的平衡点。
    • ... 对我来说,格式保持不变。另一方面,如果您希望它自动为您拆分行,而不必按回车键一次(?)那么也许您最好为自动属性主体添加代码 sn-p 以节省您每次都输入。
    • 天啊!在我更改答案后,我没有看到您关于添加代码 sn-p 的评论。
    【解决方案4】:

    查看工具 -> 选项 -> 文本编辑器 -> C# -> 格式化。

    您可能会在那里找到一个设置,可以按照您的意愿对其进行格式化。

    编辑

    这是一种解决方法,但它可以解决问题。

    为自动魔法属性编写一个代码 sn-p。这是有关如何执行此操作的更多信息的链接。它需要一些修改,但你可以处理它。 ;)

    http://msmvps.com/blogs/kevinmcneish/archive/2007/04/30/property-code-snippet-for-visual-studio-2005.aspx

    您是否安装了 coderush 或任何其他代码生成插件?

    【讨论】:

    • 我知道它在这里,但我不知道要设置哪一个?
    【解决方案5】:

    注意 - 我相信这是 https://github.com/dotnet/roslyn/issues/2837 并在 VS2015 更新 1 中修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-19
      • 2019-01-28
      • 2016-08-17
      • 1970-01-01
      • 1970-01-01
      • 2020-08-16
      • 1970-01-01
      • 2012-08-20
      相关资源
      最近更新 更多