C#是否有漂亮的打印机/代码格式化程序(作为构建系统的一部分)?

问题描述 投票:12回答:5

C#是否有漂亮的打印机/代码格式化程序(作为构建系统的一部分)?读作:“生活在Visual Studio之外”。对于Java,C ++ / C,Go来说似乎有很多这样的东西 - 所以C#应该还有一些代码格式化程序存在于IDE之外,这似乎更合理吗?

(我实际上喜欢将格式化程序与StyleCop结合起来,并且让dev在提交之前将其作为进程的一部分运行)。

注意:不是语法高亮,如在网页中的代码中。相反,代码美化器或代码漂亮的打印机,它将代码和格式化为样式/标准编码格式...... StyleCop进行样式检查以查看代码是否符合格式。

c# pretty-print
5个回答
3
投票

想到的第一个是ReSharper。但是,它是VS的一个加载项,这不是你要求的。我不确定你是否可以在保存时将其设置为自动格式化。

从他们的website

根据您的代码样式首选项,ReSharper可以重新格式化任意选定的代码块,当前文件中的所有代码,目录中的所有文件,甚至整个项目或解决方案。 ReSharper为C#,VB.NET,JavaScript,CSS和XML代码提供了不同的格式选项。重新格式化会影响大括号布局,空白行,换行和换行符,各种上下文中的空格,缩进,对齐多个构造,以及可以在“ReSharper选项”对话框中进行微调的更多选项。


1
投票

要在构建期间自动执行代码格式化(一种微重构),您需要一个可以从命令行运行的工具(并且您可以轻松地在msbuild中集成)。

如果你的需要不是太高级(作者将其定义为美化),那么一个好的就是NArrange。它完全支持Framework 2.0的C#和VB.NET,但也支持许多广泛使用的新语言版本的功能。

NArrange是一个.NET代码美化器,可以自动组织.NET类中的代码成员和元素。


0
投票

如果你有关于空白和支撑放置的现有和不寻常的风格指南AStyle可能足够灵活,以匹配它。 AStyle不是C#特有的,它可以做很多类似c语言的。

如果碰巧符合你的风格指南,NArrange也很好。它可以更具侵略性,例如它可以将您的类的一部分放入不同的区域并对您的方法进行排序。


0
投票

您现在可以使用https://www.npmjs.com/package/narrange利用node.js的强大功能超级简单,可配置的设置:)

const { createNArrange } = require("narrange");
const path = require("path");

createNArrange({
  srcPath: path.join(__dirname, "src/apps/mango"),
  configFilePath: path.join(__dirname, "config/NArrange.xml")
});

-1
投票

代码审查后自动更改代码对我来说听起来不是一个好主意。

执行“Ctrl + E,D”重新格式化整个文件需要2秒钟,VS会在编写代码时自动格式化...我会考虑简单地评论代码审查代码没有格式化并完成它。

© www.soinside.com 2019 - 2024. All rights reserved.