【问题标题】:Code indenting specified at project/solution level rather than global [duplicate]在项目/解决方案级别而不是全局指定的代码缩进[重复]
【发布时间】:2011-07-11 01:39:51
【问题描述】:

可能重复:
Visual Studio, per solution indentation settings

所以我有一种情况,我正在处理一些承包商的代码库,其代码缩进为 4 个空格,而我使用的每个其他项目都是 2 个空格。

在两种缩进标准之间来回切换的最佳策略是什么,Visual Studio 2010 将其设置为全局而非解决方案级别。

【问题讨论】:

  • Visual Studio 的行业标准是 4 个空格。确保您的承包商遵守您(和行业)的标准。
  • @Mitch,至少在 Oz 中这根本不是真的。我工作过的每个地方都默认有 2 个空格(在 C#、C++、Delphi 和 Java 中)我们使用 4 的次数很少,通常是因为一开始有人忘记更改默认值。
  • 无论如何,它已经完成了。而且我不想仅仅为了缩进而改变 3000 多个文件。我追求的是一个可行的解决方案,可以在解决方案级别来回切换。
  • @Mitch,不,最初不是 Java 商店,尽管我们确实在某些事情上使用 Java。曾几何时,我们的 Oz 实验室主要是 Delphi,可能是 2 空间标准最初的来源。 (我来自 Delphi 背景,这很可能是我个人主要看到 2 个空间代码标准的原因……即使在 C# 项目中也是如此)但无论如何这不是重点。关键是我有一个我们现在需要使用和维护的大型代码库,这与我们的标准缩进不同,将整个源代码更改为我们的标准是不切实际的,并且我必须不断切换的 PITA。
  • @Mitch:开始一场关于“唯一真正的缩进标准”的宗教辩论(提示:它不是两个空格、四个空格,甚至不是三个空格)并没有帮助@Tim 管理他的代码更好。

标签: c# visual-studio-2010


【解决方案1】:

Visual Studio SDK 提供对此设置的访问:http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.package.languagepreferences.indentsize.aspx

似乎很可能有人已经开发了一个插件来管理缩进设置,甚至可能在Addins/Extensions Gallery 中列出,也可以在 VS2010 中查看。

这个看起来很合适:

Indentation Matcher Extension

此扩展程序检测当前文件的缩进设置并自动重置相应的工具->选项设置以匹配。它还检测文件加载和文件保存时的混合制表符和空格,然后提供使缩进一致的选项。

【讨论】:

  • 太棒了!正是我所追求的。谢谢。
【解决方案2】:

您可以在打开有问题的文件(即不符合您的标准的文件)时,按CTRL+K, CTRL+D,这将重新格式化为当前的 Visual Studio 设置。不完美,但可能会减轻“痛苦”。您甚至可以通过 Visual Studio 自动执行此操作。

此外,您必须要求您的承包商更改那里的标准;可能很难说服他们(我知道我不会!)。

您是否尝试过创建两个Custom Editor settings files,并在需要时加载相关的?

另外,正如 cmets 中提到的,许多源代码 Diff 工具可以忽略空格,因此在打开文件时转换文件不应导致签入差异。

【讨论】:

  • 就我而言,拥有 2 或 4 个空格的代码标准非常好。我对他们的 4 个空间没有问题,除了我所有的其他项目都是 2 个空间。它的 VS 是这里的限制因素,因为它自动缩进,而不是代码标准。我要对任何人说更改您的 3000 多个文件,因为来回更改全局设置很烦人,这简直是疯狂。
  • @Tim Jarvis:我不建议您全部更改,只建议您打开的那些......
  • 问题是这些文件将被协作处理,如果我更改某些内容并更改缩进,文件上的差异将是整个文件,或者至少比实际更改更大的比例,然后他们进行更改并再次更改缩进,差异无处不在。这不好,尤其是当你在不同的时区工作时(这些人在印度),我们都需要看到真正的差异。所以看起来我只需要来回更改我的设置,但这是一个非常糟糕的手动解决方案。
  • 使用忽略空格的差异工具:很多人都这样做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-11
相关资源
最近更新 更多