让 VS 2008 停止强制缩进命名空间的方法?

Posted

技术标签:

【中文标题】让 VS 2008 停止强制缩进命名空间的方法?【英文标题】:Way to get VS 2008 to stop forcing indentation on namespaces? 【发布时间】:2011-01-14 14:13:12 【问题描述】:

我从来都不喜欢大多数编辑器处理命名空间的方式。他们总是强迫你添加一个额外的无意义级别的缩进。

例如,我在一个页面中有很多我更喜欢格式化为的代码

namespace mycode

class myclass
  void function()
    foo();
  
  void foo()
    bar();
  
  void bar()
    //code..
  




而不是像

namespace mycode

  class myclass
    void function()
      foo();
    
    void foo()
      bar();
    
    void bar()
      //code..
    

  


老实说,我什至不喜欢大多数时候缩进的类,因为我通常每个文件只有 1 个类。而且这里看起来还不错,但是当您获得大量代码和大量范围时,您可以轻松地缩进迫使您离开屏幕,而且在这里我只使用了 2 空格制表符而不是 4 空格正如我们使用的那样。

无论如何,有什么方法可以让 Visual Studio 停止尝试为我缩进命名空间吗?

【问题讨论】:

我认为您可以使用 ReSharper 来避免这种情况,但对于应该是一个微不足道的问题来说,这是一个相当昂贵的解决方案。 :) 糟糕,Java 风格的格式 ;) 我不明白.. 我不知道 Java 哈哈。如果您在一行中谈论void bar(),那么这就是我学习C 后自然编写代码的方式.. 但是VS 为我将其更改为void bar()\n.. 嘿,我打开我的时候没有看到这个问题,但我现在在“相关”列表中注意到它。我提出了 500 赏金并得到了很好的回答;因为我的答案包含更好的答案,所以即使之前有人问过,我也会投票决定将其作为副本关闭。我的问题是:***.com/questions/3727862/… @Skurmedel:我有 ReSharper,但我没有看到这个设施。如果您能提供更具体的信息,我将不胜感激。 【参考方案1】:

这是一个 hack,但这里是:

namespace mycode 
#if 0

#endif

class myclass
    ...

【讨论】:

我应该在我的问题中添加“没有非常糟糕的技巧”:) 这适用于 Visual Studio 2012,但不适用于 Visual Studio 2015。对于 VS 2015,它认为“#if 0”是语法错误。更改为“#if false”可以解决此问题,但编辑器不再让自己被愚弄,因此您又回到了命名空间内容缩进的问题。该死的。

以上是关于让 VS 2008 停止强制缩进命名空间的方法?的主要内容,如果未能解决你的问题,请参考以下文章

vs2008中的错误 1 找不到类型或命名空间名称“Graphics”(是不是缺少 using 指令或程序集引用?)怎么解决?急

vs2008 c#.net如何配置global.asax

添加 ASP.NET 文件夹和 App_Code 命名空间中缺少 VS 2010 App_folder

安装vs2017后,RDLC 报表定义具有无法升级的无效目标命名空间

使用 C# 在 Visual Studio 中的命名空间缩进

VS2008执行MFC程序,提示microsoft incremental linker已停止工作解决方法