在VS2008中,有没有自动重新格式化整个C#源代码树的工具?

4

我继承了一个庞大的源代码树,使用的是C#和Visual Studio 2008。

它存在许多质量问题,其中一个问题是代码通常格式不良。

我正在寻找一种工具,最好是Visual Studio的插件,可以遍历整个解决方案,并应用与Visual Studio本身应用相同的基本格式,例如在代码块周围关闭花括号时。

有什么建议吗?

5个回答

6
在vs2005中,您可以对单个文件进行编辑 ->高级 ->格式化文档,这将(我相信)做你要求的事情。我认为vs2008也有类似的功能。

这个的快捷键是Ctrl+K,Ctrl+D。在Resharper中使用Ctrl+E,C。 - Michael Meadows
C# 开发者设置中还有另一个和弦:Ctrl+E,D。 - configurator
VS只为单个文件做了这件事,不是像OP所要求的整个解决方案吧? - Ray
是的 - 我需要一个能够在整个解决方案中工作的工具。18个项目!! - tomfanning
为什么不在第一次打开文件时就格式化它呢? - Ed S.
因为从源代码控制的角度来看,一次性进行重新格式化更加清晰。您只需要进行一次提交,即可完成代码重构。相比于在提交时进行重新格式化和修复错误,这样做会使变更更难以查看。 - Ray

5

好的,如果您想要整体解决方案,为什么不尝试使用宏呢?这里有一个VB示例。

http://blogs.msdn.com/kevinpilchbisson/archive/2004/05/17/133371.aspx

它会打开每个文件并应用与VS相同的格式设置,但该宏将适用于整个解决方案(如果您的解决方案很大,则可能不明智运行它)。除了反映VS中格式文档代码的内部并将其嵌入某种流之外,这似乎是利用Visual Studio中非常有用的功能的最简单方法。


3

ReSharper 可以做到你要的功能。可以看看他们的代码清理功能。它可以应用于多个文件,包括整个解决方案。


又一个让人垂涎ReSharper的理由。 :) - Randolpho
昂贵的工具只能完成一项任务 :-(为了反其道而行之,总体而言我并不是Resharper的铁杆粉丝。 - tomfanning
嗯,确实为了仅此而花费那么多有点昂贵,但250美元你还会得到很多其他东西。 - Ray
如果您选择个人许可证,只需支付150美元。 - Ray
不便宜,也不适合我打算使用的用途。真遗憾 :-( - tomfanning

0
这是我觉得简单的方法...
我将我的Visual Studio设置为在“粘贴”时重新格式化。
Tools | Options | Text Editor | C# | Formatting

**Automatically format on paste** (checked)

当我遇到一个丑陋的文件时,我会按下CTRL-A,CTRL-X,CTRL-V -- 瞬间格式化 :)
希望这可以帮到你。
Kevin

再次强调,这不是解决方案范围内的问题。谢谢。 - tomfanning

0
如果您已经在 VS 编辑器选项中设置了您的首选项,那么您应该可以按下 Ctrl+K、Ctrl+D 来根据您的偏好整理代码。

只适用于一个文件。我需要一种能够在整个解决方案中工作的东西。 - tomfanning

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接