使用Eclipse进行.NET开发是否可行?

13

使用Eclipse开发.NET应用程序有多可行?最好是直接使用Visual Studio吗?

更新:我并不特别关心成本,而且我使用的是Windows而不是Linux。我主要是想避免使用两个不同的IDE。

另一种表达这个问题的方式是“是否有好的Eclipse插件来进行.NET开发”。不幸的是,答案似乎是“没有”。


可以使用edlin进行.NET开发,但我建议使用Visual Studio。 - Adam Crossland
将近12年过去了,我没有看到任何人回复说他们实际上在雇主、企业或专业目的(如这些)中使用Eclipse进行.Net开发。 - Sam Hobbs
8个回答

15

使用Eclipse的理论是,您可以在可能的Linux环境中使用类似于Visual Studio完整版本的等效工具。 - greendave11

8
我只使用过Eclipse一次,大约几分钟,那时候900MHz的CPU是最顶尖的。所以我不敢说我知道它可以做什么或者它做得有多好。
话虽如此,我认为使用非VS开发环境没有任何问题。我们公司几乎所有C#开发人员都使用Emacs(也有少数VIM)。我们拥有C#模式、跳转到定义、代码块折叠、编译模式等等,这些都来自我们的"编辑器"。(我不太敢用"编辑器"和"IDE"之间的区别来明确这个词)。VS能做的特殊事情并不多,其他环境都可以做到,而10年以上的经验和配置很容易战胜它。
我唯一能想到的特殊之处就是调试器:VS2005有一个独立的调试器,而VS2010只能作为IDE的一部分使用(带有一些新功能),但仅此而已。但是即使您不使用VS2010进行任何操作,您仍然可以启动VS2010并连接到正在运行的进程。稍微有点笨拙的调试器的影响主要是我写了更多的单元测试,但似乎没有人对此抱怨。
人们喜欢提到的一件事是"智能感知"。我以前使用过VS,也用过Intellisense,它很棒,但后来我错过了dynamic-abbrevs。今天我使用Emacs并使用dynamic-abbrevs,很少想念Intellisense。我认为一旦您熟悉正在使用的语言/stdlib,dynamic-abbrevs更有用。但我肯定不认为任何人拥有唯一正确的代码完成方法。两者都有用。
VS似乎在你只生活在微软的世界中时表现最佳:.NET、TFS等。如果你一路使用Microsoft-everything,它可能相当不错,但是你离开这个范围越远,它就越糟糕。像Emacs这样的通用环境为各种事情提供了非常好的支持。(例如:你想在下一个项目中学习新的UI,当它使用不同的VCS或脚本语言时?这个成本仅在您的知识毫无价值时才为零。)
所以使用让你更加高效的工具,并不要让任何人告诉你需要Visual Studio Express才能编写C#程序。

1
听起来你已经写了自己的“Visual Studio”版本超过10年了。 - Umar Farooq Khawaja

1

这是非常可行的。所有的.NET编译器都是标准的stdin/stdout控制台应用程序,可以轻松地插入到大多数现代IDE(如Eclipse)中。如果您想使用MSBuild(*.sln、*.csproj等)作为构建/制作系统,甚至可以使用控制台应用程序msbuild.exe。因此,如果您最擅长在Eclipse中工作,我会毫不犹豫地尝试一下。

您可能会错过一些Visual Studio的功能:

  • 集成调试。
  • 出色的Intellisense支持。
  • GUI设计师。(适用于WPF、Silverlight、Web应用程序和WinForms。)

因此,如果其中任何一个对您非常重要,那么使用Visual Studio可能是值得的。

在Visual Studio和Eclipse之间分配时间并没有什么问题。例如,您可以决定在Visual Studio中进行原型设计和调试,但在Eclipse中进行核心开发工作。


当然使用两个集成开发环境没有问题。只是这样做很烦人。 - Christopher Barber

0

你可能会觉得这个帖子有趣且有用:

http://forums.whirlpool.net.au/forum-replies-archive.cfm/425594.html

0

0

记住,.Net和Visual Studio是为了最佳协同工作而开发的。如果您可以使用Visual Studio的Express版本,那么应该选择它。其他任何版本都无法为您提供准确评估.Net平台所需的功能。

话虽如此,我可以理解习惯于Eclipse的开发人员不想安装单独的IDE来尝试.Net。您甚至可能通常运行Linux。考虑到这一点,快速搜索mono eclipse会出现几个有前途的结果。您也可以直接尝试Monodevelop


我需要什么才能准确地使用 .Net 平台? - Ken
@Ken - 抱歉,缺了一个字。应该是“准确地评估 .net 作为一个平台”。 - Joel Coehoorn
好的,我需要什么才能准确评估 .Net 平台?(我实际上并不是在挑毛病!)我看过人们在 Emacs、VIM 和 VS 中编写 .NET 代码,而 VS 的使用者似乎并没有更高的生产力甚至更快乐。我不明白为什么这里有这么多回答者认为 VS 是必要的。你说话声音最强烈,所以我向你发问。 :-) - Ken

0
回答你的问题,可以看一下 Eclipse 的 Improve 插件。
这个 主题 也涵盖了你的问题。

改进插件似乎已经失效。 - Christopher Barber

0
想象一下,当你在Unix上工作并使用Visual Studio进行编码时,你必须将你的文件上传到Unix以进行编译和链接。如果有任何错误,你必须在你的电脑上修复它,然后重复这个过程。你会有多高效呢?我知道这是相反的极端比较,但人们必须考虑使用最合适的工具来提高团队效率。
另一个你应该考虑的因素是,当你去拜访客户或同事的时候,你是否期望他/她在自己的环境中安装了Eclipse?
这有助于你做出决定吗?
以上是我的两分钱。
祝好!

你可以在Linux或Windows上运行Eclipse,因此它是跨平台开发的明显选择。我认为Visual Studio只能在Windows上运行。 - Christopher Barber
@Chris,我猜你可能还没有深入体验过VS。VS提供了很多免费的向导,比如重构、单元测试框架、与数据源的简单集成、解决未知问题、为MVC项目生成代码等等。当然,你可能会在Eclipse中找到类似的插件,如果你是Eclipse(或CodeWrite)的铁杆粉丝,那么很难说服你使用编辑器,因为通常使用编辑器是非常个人化的选择。我的建议是:先试用VS,然后再比较其优缺点。 - Syd
我的问题不是VS在Windows上是否比Eclipse更适合.NET开发,而是考虑到我已经必须使用Eclipse进行其他工作,是否可以将其用于.NET开发。 - Christopher Barber
@Chris。使用Eclipse可行吗?-是的,生产力如何?-在编码方面可能会有所提高(因为您已经建立了许多宏等),其他开发方面呢?-您可能会失去一些东西。出于同样的原因,我使用四个工具-JDeveloper用于Java开发,VS用于.NET开发,vi和记事本用于快速修补。请记住我之前说过的话:编辑器是非常个人化的东西,最重要的是我的评论只是两分钱。祝你选择顺利。 :) - Syd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接