在我的工作中,我现在主要处理C#代码,不时有一些java.我非常喜欢Eclipse(我知道每天使用它的人更喜欢它)是一种复杂的代码格式化程序,能够将代码转换成任何可能想象的编码标准.C#有这样的工具吗?Visual Studio代码格式(Crtl + K,Crtl + D)是subpar,StyleCop只检查源而不修复它.
我的梦想工具将从控制台运行(易于包含在自动构建或预提交钩子中以及在Linux + Mono上执行),基于文本文件的配置易于存储在项目存储库中,并且具有预览的图形规则编辑器 - 只需就像Eclipse Code Formatter一样.
对于Visual Studio,请查看ReSharper.这是一个很棒的工具,也是一个必备的必备工具.4.0之后的版本具有您正在寻找的代码格式和清理功能.还有与StyleCop的插件集成,包括格式设置文件.您可能也想要Agent Smith插件,用于拼写检查标识符和注释.ReSharper支持每个解决方案格式设置文件,可以将其检入版本控制系统并由整个团队共享.代码清理的键盘快捷方式是Ctrl+E C.
在'vanilla'Visual Studio中,当前文件可以自动格式化Crtl+K Crtl+D,并Ctrl+K Ctrl+F格式化选定的文本.
对于要与提交挂钩一起使用的无处不在的命令行工具,请尝试NArrange.它是免费的,可以立即处理整个目录,并在Mono和Microsoft.Net上运行.
有些人也使用Artistic Style命令行工具,虽然它需要perl并且使用C/C++代码比使用C#更好.
.NET Foundation刚刚在GitHub上发布了他们的代码格式化工具
https://github.com/dotnet/codeformatter
它使用Rosyln编译器服务来解析项目文档并将它们转换为预期的格式约定.他们将这个应用于一些非常旧的CLR代码,以使所有项目保持一致.
继@Chris Karcher的回答 - 您还可以通过按+ ,+ 自动格式化整个文档.CtrlKCtrlD
这些格式化功能适用于各种文件格式 - 它可以在丑陋的HTML上创建奇迹.
另一种选择:NArrange ;
自由
基于控制台(非常适合提交挂钩等,但仍可用作VS中的"外部工具")
灵活的配置文件
对我来说,Ctrl+ Shift+ F映射到在文件中查找.当我需要格式化代码时,我会突出显示它并点击Ctrl+ K,Ctrl+ F.
我理解这并不能真正解决自动格式化问题,我只是想澄清那些可能不知道甚至存在于VS中的这个功能的人.