我是否可以让 VisualStudio 将花括号放在与 if 语句(在 HTML 中)相同的行上?

在 VisualStudio 中,在设计 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...)
<% } %>

还有更好的办法吗?我还不想用剃刀但看起来它能解决我的问题。我正在使用 VS2010和 Resharper 5,如果有帮助的话。

53759 次浏览

Tools & # 8594; Options & # 8594; Text Editor & # 8594; C# & # 8594; Formatting & # 8594; New Lines是每种情况下打开大括号的规则(新方法,控制块等) ,也许你可以在那里找到你想要的。

enter image description here

格式化是由单独的插件处理的,对于 js,你可以使用以下设置:

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

延伸到 弗莱克斯 · 马丁内斯的的答案:

在 mac 和 2020 Visual Studio中,是这样做的:

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

  1. Edit enter image description here

  2. Category中选择 New Lines

  3. 取消所有这些选项(根据自己的意愿选择) : enter image description here

VS2019的菜单有所改变。

中找到格式设置选项
ToolsOptionsText EditorC#Code StyleFormattingNewLines

Formatting options in Visual Stusio 2019