格式化-C#是否有自动代码格式化程序?

如今,在我的工作中,我主要处理C#代码,并时不时撒一些Java语言。 我绝对喜欢Eclipse(而且我知道人们每天都在使用它,甚至更加喜欢它)是一种复杂的代码格式化程序,能够将代码转换为人们可能想到的任何编码标准。 有C#这样的工具吗? Visual Studio代码格式(Crtl + K,Crtl + D)低于标准格式,StyleCop仅检查源代码而不进行修复。

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

skolima asked 2019-11-18T21:54:27Z
14个解决方案
46 votes

对于Visual Studio,请看一下ReSharper。 这是一个了不起的工具,而且绝对是必备工具。 4.0以后的版本具有所需的代码格式和清理功能。 还与StyleCop集成了插件,包括格式设置文件。 您可能还需要Agent Smith插件,用于对标识符和注释进行拼写检查。 ReSharper支持每个解决方案的格式设置文件,可以将其检入版本控制系统并由整个团队共享。 清除代码的键盘快捷键是Ctrl + EC。

在“普通” Visual Studio中,可以使用Ctrl + K Ctrl + D自动格式化当前文件,而Ctrl + K Ctrl + F可以格式化所选文本。

对于与提交挂钩一起使用的“在任何地方运行”命令行工具,请尝试使用NArrange。 它是免费的,可以立即处理整个目录,并且可以在Mono以及Microsoft.Net上运行。

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

FantaMango77 answered 2019-11-18T21:54:58Z
14 votes

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

[https://github.com/dotnet/codeformatter]

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

Paul Turner answered 2019-11-18T21:55:34Z
14 votes

除了@Chris Karcher的答案-您还可以通过按Ctrl + K,Ctrl + D来自动设置整个文档的格式。

这些格式设置功能适用于多种文件格式-适用于难看的HTML。

Ian Nelson answered 2019-11-18T21:56:04Z
6 votes

另一种选择:NArrange;

  • 自由
  • 基于控制台的(非常适合提交挂钩等,但在VS中仍可以用作“外部工具”)
  • 灵活的配置文件
Marc Gravell answered 2019-11-18T21:56:47Z
5 votes

对我来说,Ctrl + Shift + F映射到“在文件中查找”。 当我需要格式化代码时,将其突出显示并按Ctrl + K,Ctrl + F。

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

Chris Karcher answered 2019-11-18T21:57:17Z
3 votes

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

Zack Peterson answered 2019-11-18T21:57:40Z
3 votes

[http://www.sourceformat.com/]

这个工具大约是(〜30 $),我试过了,它很好用(多种语言)我最喜欢此工具,因为它不检查代码文件的正确性。 我可以从网上发布代码片段,无论它们是否在代码的缺失部分,它都会使它们正确化。 在这种情况下,我尝试使用其他工具抱怨。 该工具还可以轻松集成到编辑器中,因为它允许命令行驱动。

其他工具:

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

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

majkinetor answered 2019-11-18T21:58:28Z
2 votes

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

JamesSugrue answered 2019-11-18T21:58:51Z
2 votes

还可以看看Microsoft StyleCop

SQLMenace answered 2019-11-18T21:59:14Z
1 votes

我还没有尝试过(通过Google找到它)。 可以工作吗? [http://www.semdesigns.com/Products/Formatters/CSharpFormatter.html。] 50美元的价格相当便宜,但没有试用版。

Jan answered 2019-11-18T21:59:38Z
1 votes

参见前面的问题:

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

搜索[c#] astyle也会显示其他一些先前的问题。

Simon Steele answered 2019-11-18T22:00:14Z
1 votes

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

CodeMaid

Vikram answered 2019-11-18T22:00:43Z
1 votes

我知道这是一个很晚的答案,但也许您可能对此免费的Visual Studio 2010/2012插件感兴趣

NinjaCross answered 2019-11-18T22:01:07Z
0 votes

我想在网上做一个:freecodeformat

Alexandre Nascimento answered 2019-11-18T22:01:30Z
translate from https://stackoverflow.com:/questions/30101/is-there-an-automatic-code-formatter-for-c