我可以让 Visual Studio 将花括号与 if 语句(在 HTML 中)放在同一行吗?

Posted

技术标签:

【中文标题】我可以让 Visual Studio 将花括号与 if 语句(在 HTML 中)放在同一行吗?【英文标题】:Can I make Visual Studio place curly braces on the same line as an if statement (in HTML)? 【发布时间】:2011-04-30 12:32:45 【问题描述】:

在 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。

【问题讨论】:

您找到解决方案了吗? 【参考方案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 选项卡

    Edit

    Category中选择New Lines

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

【讨论】:

【参考方案4】:

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

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

【讨论】:

错误的软件,伙计。这不是 Visual Studio Code。

以上是关于我可以让 Visual Studio 将花括号与 if 语句(在 HTML 中)放在同一行吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Visual Studio 2017 使用尖括号查看我的 .h 文件?

如何让 Visual Studio 为功能块自动生成大括号?

Visual Studio 可能存在怪异括号行为的错误

转到Visual Studio中的匹配大括号?

Visual Studio 中的大括号逗号语法是啥?

Visual Studio 性能分析器:开括号上的行数