63

在我的工作中,我现在主要处理 C# 代码,不时会使用一些 java。我绝对喜欢 Eclipse(而且我知道每天使用它的人更喜欢它)是一个复杂的代码格式化程序,能够将代码塑造成人们可以想象的任何编码标准。C#有这样的工具吗?Visual Studio 代码格式(Crtl+K、Crtl+D)低于标准,StyleCop 只检查源而不修复它。

我梦寐以求的工具可以从控制台运行(以便轻松包含在自动构建或预提交挂钩中并在 Linux + Mono 上执行),具有易于存储在项目存储库中的基于文本文件的配置和带有预览的图形规则编辑器 - 只需就像 Eclipse Code Formatter 一样。

4

14 回答 14

49

对于 Visual Studio,请查看ReSharper。这是一个很棒的工具,也是绝对必备的。4.0 之后的版本具有您正在寻找的代码格式化和清理功能。还有与 StyleCop 的插件集成,包括格式化设置文件。

您可能还需要Agent Smith 插件,用于对标识符和注释进行拼写检查。ReSharper 支持每个解决方案的格式化设置文件,这些文件可以签入版本控制系统并由整个团队共享。代码清理的键盘快捷键是Ctrl+ E, C

在 'vanilla' Visual Studio 中,当前文件可以使用Ctrl+ KCtrl+DCtrl+自动格式化KCtrl+F格式化所选文本。

至于与提交挂钩一起使用的运行无处不在的命令行工具,请尝试NArrange。它是免费的,可以一次处理整个目录并在 Mono 和 Microsoft .NET 上运行。

有些人还使用Artistic Style命令行工具,尽管它需要 Perl 并且与 C/C++ 代码相比,它与 C# 相比更好。

于 2008-08-27T13:34:46.983 回答
22

.NET 基金会刚刚在 GitHub 上发布了他们的代码格式化工具

https://github.com/dotnet/codeformatter

它使用Roslyn编译器服务来解析项目文档并将它们转换为预期的格式约定。他们将此应用于一些非常古老的CLR代码,以使所有项目保持一致。

于 2015-02-10T00:23:40.927 回答
15

除了@Chris Karcher 的回答 - 您还可以通过点击+ 、+来自动格式化整个文档CtrlKCtrlD

这些格式化功能适用于各种文件格式——它在丑陋的 HTML 上创造了奇迹。

于 2008-08-27T14:19:14.537 回答
6

另一种选择:NArrange ;

  • 自由
  • 基于控制台(非常适合提交挂钩等,但仍可用作 VS 中的“外部工具”)
  • 灵活的配置文件
于 2009-04-22T13:55:41.970 回答
5

对我来说,Ctrl++Shift映射F到在文件中查找。当我需要格式化代码时,我突出显示它并点击Ctrl+ KCtrl+ F

我知道这并没有真正解决自动格式化问题。我只是想向那些可能不知道此功能甚至存在于 Visual Studio 中的人澄清一下。

于 2008-08-27T13:43:05.077 回答
3

我只听说过ReSharper的好消息。它在我的学习清单上。

于 2008-08-27T13:42:17.870 回答
3

http://www.sourceformat.com/

这个工具大约是(~30 美元)。我试过了,效果很好(有多种语言)。

我最喜欢这个工具,因为它不检查代码文件的正确性。我可以从互联网上发布代码片段,无论它们是否在代码的缺失部分中,它都会正确翻译它们。在这种情况下,我尝试抱怨的其他工具。该工具还可以轻松集成到编辑器中,因为它允许命令行驱动。

其他工具:

http://www.polystyle.com/index.jsp

http://astyle.sourceforge.net/(开源)

于 2009-04-22T12:50:48.037 回答
2

不是直接的,但我使用 R# 的Agent Smith插件来执行此操作。不幸的是,R# 不是免费的。

于 2008-08-27T13:33:51.370 回答
2

还可以看看Microsoft StyleCop

于 2008-08-27T13:47:06.020 回答
1

我还没有尝试过(通过谷歌找到它)。它可能会起作用。http://www.semdesigns.com/Products/Formatters/CSharpFormatter.html。50 美元的价格相当便宜,但没有试用版。

于 2009-03-03T22:33:32.537 回答
1

请参阅上一个问题:

有没有用于重新格式化 C# 代码的工具?

搜索 [c#] astyle 也会显示更多以前的问题。

于 2009-04-22T12:55:36.637 回答
1

也许您可能对这个适用于 Visual Studio 2010/2012的免费插件感兴趣。

于 2013-09-22T16:42:54.583 回答
0

这是一个具有惊人功能的开源代码格式化工具

代码女佣

于 2012-11-27T05:42:59.943 回答
0

如果你想在网上做,有一个freecodeformat

于 2017-03-03T16:06:07.387 回答