【问题标题】:What does Visual Studio offer that Monodevelop lacks? [closed]Visual Studio 提供了 Monodevelop 所缺乏的什么? [关闭]
【发布时间】:2024-05-22 22:10:01
【问题描述】:

如果转用 Monodevelop,习惯于使用 Visual Studio 工作的开发人员会放弃什么?这个假设的开发人员最常使用 C# 开发 ASP.NET Web 应用程序

我知道 Monodevelop 具有基本的 Visual Studio 功能,例如语法突出显示和对 Visual Studio 解决方案的支持。哪些缺陷会对开发人员放弃 Visual Studio 的工作效率影响最大

为保持一致,请将您的回答仅限于关于 Visual Studio 2008Monodevelop 2.0 的要点。

【问题讨论】:

    标签: .net visual-studio visual-studio-2008 mono monodevelop


    【解决方案1】:

    不能代表以前的版本,但我一直在 MacBook 上使用 MonoDevelop 3+ 进行商业项目,发现它比 Visual Studio 更愉快。

    它加载速度更快,编译速度更快,所有工具更易于访问且布局更合理(如源代码控制)。

    在我看来,UI 布局要好得多,您可以看出它是由软件的实际用户开发的,而不是实际不使用该软件的“UI 设计师”。

    我还没有发现需要 3rd 方工具。在 Visual Studio 中,我使用 Resharper 进行代码格式化和其他小事,但通常觉得它很霸道。在 MonoDevelop 中,我发现它比 Resharper 更好地处理代码格式化,并且默认提供更多选项(例如,它可以像 Resharper 那样正确格式化流利的样式)。

    仅在成本效益分析方面,MonoDevelop 胜过 Visual Studio。如果您需要进行 WPF 开发、基于 TFS 的开发、SharePoint 或其他以 MS 为中心的开发,那么它不是该工作的工具。如果您需要构建 ASP.NET MVC 应用程序、桌面应用程序、移动应用程序、后端应用程序,那么我建议您检查一下并节省 Visual Studio 许可证的费用。

    就我个人而言,我计划 100% 迁移到 MonoDevelop 并最终逐步淘汰 Visual Studio。我当然不会为了未来的发展而走 VS2012/RT 路线。我现在的客户摆脱了他们的 Win8 机器并决定使用 Win7。他们的客户要求我们在 Mac 上开发桌面客户端应用程序,因为他们希望完全淘汰 Windows。你自己决定这一切的去向。

    【讨论】:

    • 更新:Xamarin Studio 在 MonoDevelop 上改进了几倍,并且绝对适用于商业应用程序 - WPF 除外。如果 Visual Studio 2012 Professional 不容易获得,强烈推荐。
    【解决方案2】:

    我认为很多开发人员已经习惯了 ReSharper 等第三方工具,而 MonoDevelop 则无法获得这些工具。

    MonoDevelop 用户的数量与 Visual Studio 用户相比相形见绌,因此在线帮助(例如博客文章)要少得多。

    【讨论】:

    • 我来自 java 世界,发现工作室在功能方面极其缺乏,直到我安装了 resharper。 +1
    • ReSharper 是 Visual Studio 需要更像 Eclipse 或 IntelliJIDE 的真正 IDE(如果您习惯于重构,优化...)的基本插件。
    • 一些 .NET 程序集、一些项目模板、GUI 设计器和表/数据集调试查看器
    【解决方案3】:

    当我在这篇文章中说“C# 编辑器”时,我指的是 Visual Studio C# 文本编辑器。抱歉,这只是打字习惯。 :o

    我猜测 Visual Studio C# 文本编辑器的安装和完成度比 MonoDevelop 更好。我之所以这么说,是因为我过去曾参与过一个项目,而且要正确地获取细节是难以置信的困难。以下是 Visual Studio C# 编辑器异常擅长的一些最难复制的项目:

    • IntelliSense 的速度和准确性,尽管I've documented 如何处理它的最佳功能之一。 Visual Studio 2010 编辑器是even better,我是haven't been able to match it yet(似乎没人关心,所以祝你好运匹配这个功能集)。 IntelliSense 引擎还可以在大规模级别上处理部分完成(语法不正确)的代码令人惊叹。在方法中的语句内做起来并不难,但是 C# 编辑器非常彻底。
    • Smart Indent is stupid-difficult to do well,而 C# 编辑器会执行此操作。甚至 Visual Studio 2010 Beta 1 也存在重大问题,但它在 Beta 2 中得到了改进,几乎达到了 2008 年的水平。
    • Visual Studio C# 编辑器中的代码格式非常好。这比上述两点要容易得多,所以我可以看到 MonoDevelop 包括它(不确定是否有)。与 Visual Studio 一样,主要困难在于匹配可定制性 - 它往往会导致一些粗略的代码(虽然这只是我的经验,其他人可能有一个很好的解决方案)。

    【讨论】:

      【解决方案4】:

      看来您以前从未见过 monodevelop。是的,它是很好且非常重要的软件。但此时它根本无法与VS相提并论。 VS是更稳定、丰富、健壮的软件系统。昨天我在monodevelop编译了一个非常重要的项目,它就崩溃了……

      但它有 ASP.NET desinger 和 ASP.NET MVC 插件。也许它会适合你

      【讨论】:

      • 我用过一点monodevelop,但不是最近。我用笼统的方式表达了我的问题,因为我认为这是获得权威答案的最佳方式。
      • 你也可以试试wine+.net2.0+sharpdevelop2.2。如果你在 linux 上。如果您在 Windows 上并且不想为 VS 付费(或者您不是学生),我的建议是 Sharpdevelop。但是你也可以通过某种方式为 Monodevelop 项目做出贡献:-)
      【解决方案5】:

      我尝试了 Monodevelop,发现它不是一个“令人惊叹”的体验,但这并不意味着它不是一个伟大的成就。

      我习惯于停靠控件并能够轻松地将控件拖入/拖出容器。但是,如果我想在 GTK 中执行此操作,我必须删除所有控件并重新开始!因此,我无法使用 MonoDevelop 来提高工作效率。

      一般来说,有人可以学习如何处理它。

      只有知道如何在 Linux 中使用 C 和 C++(一般的 Linux 开发)编程的人才会觉得这是一种“哇”的体验。对于 Windows 开发人员来说,这是一种不愉快的体验。

      【讨论】: