Visual Studio 2005/2012:如何使第一个大括号保持在同一行上?


119

试图让我的css / C#函数看起来像这样:

body {
    color:#222;
}

代替这个:

body 
{
    color:#222;
}

当我自动格式化代码时。


2
为什么要这样做?您正在上游,针对.NET样式的MS准则是当前的自动格式样式。
Anthony Mastrean,2009年

36
@AnthonyMastrean:我认为任何事情都没有MS准则。也许,这家伙主要在Java上工作,他们习惯了这种名称约定。至少,css与.net无关:)
Dzung Nguyen 2012年

1
我尝试使用这种格式,但放弃了与VS的对抗。如果其他人查看其版本中的代码,则至少是其所有标准。
webnoob 2012年

15
请勿滥用标准一词。并非每个人都希望以相同的方式支撑。
2014年

1
聚会晚了一点,但是当括号在同一行上时,对我来说,阅读代码更容易。同样,您也可以在同一屏幕空间上放置更多代码,为我双赢:/
Isaac Clarke

Answers:


209

C#

  1. 工具菜单中单击选项
  2. 单击显示所有参数(左下方的复选框)(显示 VS 2010中的所有设置
  3. 文本编辑器
  4. C#
  5. 格式化
  6. 换行

在那里检查是否需要带括号的新行

CSS:

几乎相同,但选项较少

  1. 工具菜单中单击选项
  2. 单击显示所有参数(左下方的复选框)(显示 VS 2010中的所有设置
  3. 文本编辑器
  4. 的CSS
  5. 格式

并且比您选择所需的格式(在您的情况下,第二个单选按钮)

对于Visual Studio 2015:

工具→选项

在边栏中,转到文本编辑器→C#→格式→新行

并取消选中“大括号的换行选项”部分中的每个复选框

在此处输入图片说明


2
对于Visual Studio 2013中的CSS,您可以将值更改为默认值以外的其他值,方法是Tools > Options > Text Editor > Css > Advanced > Brace positions
David Sherret 2014年

对于Visual Studio Code,请转到“文件”->“首选项”->“设置”,然后在“扩展名”下选择要更改属性的语言。搜索 Clang_format_fallback Style(例如:对于C ++ C_Cpp: Clang_format_fallback Style)并将值从更改Visual StudioGoogle
Riccardo Bonesi

对于Visual Studio 2017:Tools > Options > Text Editor > C# > Code Style > Formatting > New Lines
koviroli

26

工具->选项->文本编辑器-> C#->格式->新行->大括号的新行选项->取消选中所有框。


11

官方MS准则(2008年当时)告诉您,花括号与方法/属性/类以及Visual Studio中未强制执行的许多其他操作位于同一行。

您可以在以下位置更改所有这些自动文本设置:
工具->选项->文本编辑器-> [您要更改的语言]

更新:这是基于.NET团队的一些核心人员编写的“框架设计准则”书。如果查看ASP.NET MVC之类的源代码,这将不再准确


您能否为此@Seb提供参考?我找到了一份2005年的MS指南文档,其中指出了花括号(下一行样式)的相反约定: blogs.msdn.com/b/brada/archive/2005/01/26/361363.aspx。我本人更喜欢“埃及式”样式(同一行的大括号),并希望C#遵循此约定……
Ian Campbell


4

对于CSS,您需要使用“半扩展”选项。


2

VS 2008/2010中有一个特定的格式设置,以将大括号保持在同一行:

单击“工具”->“选项
”。在“文本编辑器”树节点中
选择“ CSS”。在“ CSS”节点下选择“格式”。
单击“半展开”单选按钮

您将看到一个预览,各种单选按钮将对格式进行处理


1

如果要在Visual Studio 2014中寻找此选项,则该选项处于高级状态,现在是“括号位置”下拉框:

在此处输入图片说明


0

对于Visual Studio Mac OS(社区版)8.3版,您需要执行以下操作:

首选项->源代码(在左侧菜单中)->代码格式-> C#源代码-> C#格式->按Edit

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.