适用于Linux和/或者MonoDevelop的C#代码格式化程序
MonoDevelop 1.0似乎不像Eclipse的Java那样具有代码格式化程序。我们是否发现可以正常工作的首选Shell脚本(或者MonoDevelop加载项?)?
解决方案
回答
目前,MonoDevelop中的源代码格式已标记为将来的增强功能:
https://bugzilla.novell.com/show_bug.cgi?id=321946
在此期间,我们可能想查看用于格式化的艺术风格:
http://astyle.sourceforge.net/
我打算看看如何将其作为MonoDevelop中的外部工具进行连接。如果做到这一点,我将使用信息编辑答案。更新:我没有足够的声誉来发表评论,所以我将在这里发表评论:很好的工作,Dustin和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(输入下划线以启用热键)
命令:astyle
参数:$ {ItemPath}
然后,只需使用Tools-> 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 ++编写了一个,这是一个不错的挑战。通过编写,我们可以学到很多东西:)