Visual Studio中的c#命名空间缩进

本文关键字:命名空间 缩进 中的 Studio Visual | 更新日期: 2023-09-27 18:14:42

Visual Studio在命名空间内缩进代码。当全局禁用缩进时,这可以避免,这不是我想要的。在所有其他情况下,缩进都很好,我只是不喜欢所有代码都是一层的事实——这让我看起来很丑。

namespace X
{
    public class A
    {}
}

我更喜欢这样:

namespace X
{
public class A
{
}
}

在c++中,有一个很好的解决方法,如下所示:

namespace X
{; // the ; after opening brace makes visual studio not indent the class below.
class A
{};
}

但是在c#中,命名空间不能直接包含字段,所以这不起作用。

如何让Visual Studio停止缩进命名空间而不全局禁用缩进?

更新 Visual Studio 2013行为改变

Tools->Options->C/C++->Formatting->Indentation: [ ] Indent namespace contents 

启用我的首选格式,而{;把戏不再管用了。但是c#没有任何变化

Visual Studio中的c#命名空间缩进

  1. 文本编辑器→c#→制表符→缩进-设置为"Block"
  2. 文本编辑器→c#→格式化→常规-关闭"自动格式化…"

这个问题应该在2021年有一个新的答案。c# 10(随。net 6和Visual Studio 2022一起发布)引入了文件作用域命名空间。它允许以下语法:

namespace Hello.World;
class MyClass
{
    public static void Main()
    {
        Console.WriteLine("Hello, World!");
    }
}

因此,我们可以完全删除由命名空间声明添加的缩进。