适用于 Linux 和/或 MonoDevelop 的 C# 代码格式化程序
-
01-07-2019 - |
题
MonoDevelop 1.0 似乎没有像 Eclipse 对于 Java 那样的代码格式化程序。是否有您发现效果良好的首选 shell 脚本(或 MonoDevelop 插件?)?
解决方案
目前,MonoDevelop 中的源代码格式化被标记为未来的增强功能:https://bugzilla.novell.com/show_bug.cgi?id=321946
同时,您可能需要查看 C# 格式的艺术风格:http://astyle.sourceforge.net/
我计划看看如何将其连接为 MonoDevelop 中的外部工具。如果我做到了,我将用这些信息编辑我的答案。 更新:我没有足够的声誉来发表评论,所以我会在这里发表评论:干得好,达斯汀,还有 MonoDevelop 的补丁 :-) 我想知道 Ubuntu 中包含的版本有多新......不管怎样,我很高兴你找到了适合你的东西。
其他提示
谢谢,布兰登。我向 MonoDevelop 提交了一个补丁。MonoDevelop 插件的问题是存在一个无法正确处理匿名委托的 mono 编译器错误。(错误报告: https://bugzilla.novell.com/show_bug.cgi?id=394347)
补丁/解决方法是将匿名委托强制转换为正确的委托类型。(错误报告和补丁: https://bugzilla.novell.com/show_bug.cgi?id=369538)
我现在正在运行修补版本,并且只需使用以下设置创建一个新的外部工具设置即可在当前编辑的文档上执行 AStyle:
标题:a_style(在下划线启用hotkeys)命令:ASTYLE论点:${项目路径}
然后,只需使用“工具”->“AStyle”(或 ALT-T、S)执行它
2008 年 9 月 25 日编辑 - 我刚刚发布了一篇关于如何修补 MonoDevelop 1.0 并使其与 AStyle 一起工作的博客文章: http://dustinbreese.blogspot.com/2008/09/auto-formatting-code-in-monodevelop-10.html
编写自己的格式化程序是一个很好的编程练习。我为 C++ 编写了一个,这是一个很好的挑战。写下来你可以学到很多东西:)