【问题标题】:C# Code Formatter for Linux and/or MonoDevelop适用于 Linux 和/或 MonoDevelop 的 C# 代码格式化程序
【发布时间】:2008-09-17 16:39:35
【问题描述】:

MonoDevelop 1.0 似乎没有 Eclipse 为 Java 提供的代码格式化程序。是否有您认为运行良好的首选 shell 脚本(或 MonoDevelop 插件?)?

【问题讨论】:

标签: c# formatting mono


【解决方案1】:

目前,MonoDevelop 中的源代码格式化被标记为未来的增强功能: https://bugzilla.novell.com/show_bug.cgi?id=321946

与此同时,您可能想查看 C# 格式的艺术风格: http://astyle.sourceforge.net/

我打算看看如何将它作为一个外部工具连接到 MonoDevelop 中。如果我做到了,我将用这些信息编辑我的答案。 更新:我没有足够的声誉来发表评论,所以我会在这里做一个:干得好,达斯汀,还有 MonoDevelop 的补丁 :-) 我想知道 Ubuntu 中包含的版本有多新... 不管怎样,我很高兴你找到了适合你的东西。

【讨论】:

  • 太棒了——我刚刚意识到 AStyle 可以作为一个包在 Ubuntu 中使用。
  • 我可以在 MonoDevelop 中添加“astyle”作为外部工具,但是在尝试使用变量替换时它会出错。看来 MonoDevelop 并没有像预期的那样扩展 ${itemPath} ——也许它正在引用它?我现在去看看源码看看。
  • 好吧,我能够修补 MonoDevelop 以正确使用 astyle 作为外部工具。我会查找现有的错误报告并在必要时连同补丁一起提交一个新错误。感谢您的想法!
【解决方案2】:

谢谢,布兰登。我向 MonoDevelop 提交了一个补丁。 MonoDevelop 插件的问题是存在一个无法正确处理匿名委托的单编译器错误。 (错误报告:https://bugzilla.novell.com/show_bug.cgi?id=394347

补丁/解决方法是将匿名委托转换为正确的委托类型。 (错误报告和补丁:https://bugzilla.novell.com/show_bug.cgi?id=369538

我现在正在使用修补版本运行,并且能够通过简单地使用以下设置创建一个新的外部工具设置来在当前编辑的文档上执行 AStyle:

TITLE:A_Style(放入下划线 _ 以启用热键)
命令:astyle
参数:${ItemPath}

然后,只需使用Tools->AStyle(或ALT-TS)执行它

9/25/08 编辑 -- 我刚刚发布了一篇关于如何修补 MonoDevelop 1.0 并使其与 AStyle 一起使用的博客:http://dustinbreese.blogspot.com/2008/09/auto-formatting-code-in-monodevelop-10.html

【讨论】:

    【解决方案3】:

    编写自己的格式化程序是一个很好的编程练习。我为 C++ 写了一个,这是一个很好的挑战。你可以通过写它学到很多东西:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 1970-01-01
      • 2014-07-02
      • 2010-10-24
      • 2012-01-17
      相关资源
      最近更新 更多