使用 C# 在 Visual Studio 中的命名空间缩进
Posted
技术标签:
【中文标题】使用 C# 在 Visual Studio 中的命名空间缩进【英文标题】:Namespace indentation in Visual Studio with C# 【发布时间】:2013-05-17 05:56:54 【问题描述】:Visual Studio 在命名空间内缩进代码。在全局禁用缩进时可以避免这种情况,这不是我想要的。在所有其他情况下,缩进很好,我只是不喜欢所有代码都是一个级别的事实 - 这让我看起来很难看。
namespace X
public class A
我更喜欢这样:
namespace X
public class A
在 C++ 中,有一个很好的解决方法,如 here 所述:
namespace X
; // the ; after opening brace makes visual studio not indent the class below.
class A
;
但是在 C# 中,命名空间不能直接包含字段,所以这不起作用。
如何让 Visual Studio 在不全局禁用缩进的情况下停止缩进命名空间?
更新 Visual Studio 2013 行为 C++ 已更改
Tools->Options->C/C++->Formatting->Indentation: [ ] Indent namespace contents
启用我喜欢的格式,而 ;诡计不再起作用了。但我找不到 C# 的任何变化。
【问题讨论】:
我只是在开玩笑/讽刺!这似乎是一个奇怪的问题,因为我从来没有在任何接受这种代码格式的地方工作过!大多数现代显示器都是宽屏的,无论是否使用前导选项卡,都不会产生太大影响! 我还想知道为什么人们会想要做这样的事情,并以我从未见过的方式格式化代码。无论如何,如果有办法让@Wilbert 开心,那就这样吧 - 我不知道 :) 这是个人喜好,但我似乎不是唯一有这种喜好的人。是的,解决这个问题会让我很开心。 是的,这是个人喜好,我希望有一个好的解决方案。启发我这样做的原因是,我有时会复制一些代码,例如从 C# 到 Java/android 的单个方法。结果当然需要编辑,但不必删除额外的缩进会少一个编辑步骤。 任何对此感兴趣的人(并且已被查看超过 500 次)请在此处投票以尝试让 Microsoft 提供此选项:visualstudio.uservoice.com/forums/121579-visual-studio-2015/… 【参考方案1】:-
文本编辑器 → c# → 选项卡 → 缩进 — 设置为“块”
文本编辑器 → c# → 格式化 → 常规 — 关闭每个显示“自动格式化...”的复选框
【讨论】:
请说出复选框是什么,而不是“前两个”。如果 VS 更改其设置对话框,这将有所帮助。并且可能在第二个中删除标签,这是误导。【参考方案2】:这个问题值得在 2021 年得到新的答案。C#10(随 .NET 6 和 Visual Studio 2022 一起提供)引入了File Scoped Namespaces。它允许以下语法:
namespace Hello.World;
class MyClass
public static void Main()
Console.WriteLine("Hello, World!");
因此,我们可以完全删除命名空间声明添加的缩进。 也支持旧语法。
【讨论】:
以上是关于使用 C# 在 Visual Studio 中的命名空间缩进的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Microsoft Visual Studio 将查询插入到 C# 中的另一个查询中?
可能是 Visual Studio 2015 中的 C# 编译器错误
怎样在visual studio 2008中的c#控制台中用console.writeline语句输出一个字符数组?用foreach循环怎么写
如何在 Visual Studio 中为迷宫设计项目制作 C# 中的图片框?