【问题标题】:Can I make Visual Studio place curly braces on the same line as an if statement (in HTML)?我可以让 Visual Studio 将花括号与 if 语句(在 HTML 中)放在同一行吗?
【发布时间】:2023-07-08 09:48:01
【问题描述】:

在 Visual Studio 中设计 MVC 视图时(在.aspx.ascx 文件中),我经常使用if 语句。当我自动格式化 (Ctrl+K+D) 时,Visual Studio 会以这种非常丑陋且难以阅读的方式包装大括号:

<% if (Model.UserIsAuthenticated)
    { %>
       (some HTML goes here...)
<% } %>

有没有办法让 Visual Studio 像这样自动格式化:

<% if (Model.UserIsAuthenticated) { %>
       (some HTML goes here...)
<% } %>

或者有更好的方法吗?我还不想使用 Razor,但看起来它可以解决我的问题。如果有帮助,我正在使用 VS2010 和 Resharper 5。

【问题讨论】:

  • 您找到解决方案了吗?

标签: visual-studio-2010 view formatting curly-braces


【解决方案1】:

工具选项文本编辑器C#格式化New Lines 是每个案例(新方法、控制块等)的左大括号规则,也许你可以在那里找到你想要的。

【讨论】:

  • 这适用于 .cs 文件,但我只想在视图页面中中使用这种类型的 C# 格式。
  • 它在查看页面上对我有用。我取消选中“在控制块的新行上放置左大括号”,试试那个。
  • 对,它适用于视图文件,但它也适用于所有 cs 文件。我试图让它只适用于视图文件。
  • 如果你使用的是resharper,请指出:RESHARPER->options..->c#->Formatting Style->Braces Layout 从 BSD 更改为 K&R 样式
  • 它向我显示一个错误:“加载此属性页时发生错误”。我该怎么办,我有VS 2013无限的。
【解决方案2】:

菜单在 VS2019 中有所改变。

您可以通过进入
工具选项文本编辑器C#找到格式选项→ 代码样式格式NewLines

【讨论】:

  • 感谢您展示过多的选项。我仍然不明白为什么 VS 不只有 one 选项来控制所有这些和整个约定。
【解决方案3】:

延伸至Fleix Martinez's 答案:

在mac中,2020 Visual Studio,是这样完成的:

Preferences -> Source Code -> Code Formatting -> C# Source Code -> 选择 C# Format 选项卡

  1. Edit

  2. Category中选择New Lines

  3. 取消选中所有这些(随意选择):

【讨论】:

    【解决方案4】:

    格式由各个插件处理,对于 js,您可以使用以下设置:

    // Defines whether an open brace is put onto a new line for functions or not.
    "javascript.format.placeOpenBraceOnNewLineForFunctions": true,
    

    【讨论】:

    • 错误的软件,伙计。这不是 Visual Studio Code。
    最近更新 更多