将开发从Windows迁移到Linux

时间:2009-10-27 21:27:01

标签: c# c++ windows visual-studio linux

我是一个长期的Visual Studio(从版本6到2008)用户,非常喜欢编辑器,尤其是调试器。现在我正在考虑给Linux一个机会,是否有一个具有相似或更好功能的IDE?

我也对GUI库,c ++或c#的推荐感兴趣。

10 个答案:

答案 0 :(得分:17)

对于类似于visual studio的编辑来说,

http://monodevelop.com/将是你最接近的赌注

答案 1 :(得分:8)

我建议使用Eclipse,它与Visual Studio的功能非常相似,并且可以使用比VS提供的更多的插件进行扩展。

答案 2 :(得分:6)

我会查看Mono。你不应该对你已经做的事做太多改变。

答案 3 :(得分:6)

不,不要!我正在做这个@工作,因为我必须和我尝试,netbeans,kdevelop,eclipse。与VS相比,它们是如此基本,特别是如果你习惯了更高级的功能,你会变得疯狂,并希望视觉工作室回来。

答案 4 :(得分:1)

Eclipse是唯一支持多种语言的IDE,它具有与Visual Studio相当的功能。

答案 5 :(得分:1)

如果您要在Linux上进行c#开发,我建议使用MonoDevelop。它专为.net开发而设计(eclipse不是),它现在非常全功能,它包括可视化调试器,代码完成,图形nunit集成以及几乎所有你期望从现代IDE中获得的东西。它包含Visual Studio中缺少的一些功能。我最近兴奋地发现我可以右键单击界面并选择查找所有实现,这是一个未在visual studio中实现的功能,我发现它非常有帮助。

关于GUI库,如果你在linux上使用c#,那么最好的GUI框架是GTK#MonoDevelop包含一个内置的图形设计器。 几个成熟且广泛使用的linux应用程序使用它包括:

Banshee - 音乐播放器

FSpot - 照片管理员(默认在Ubuntu中)

Tomboy - Notes应用程序(默认在gnome中)

MonoDevelop - IDE(类似于Visual Studio)

GTK#也是跨平台的,因此也可以在mac和windows上运行。这可以通过它在MonoDevelop中的用法来证明,它用于在linux,mac和windows上运行。

答案 6 :(得分:1)

我是Linux开发人员,我会杀死(或至少是maim),因为开发环境接近Visual Studio的复杂程度。但是Visual Studio不支持Lua或Haskell或ML,这些是我最近使用的主要语言。

与许多其他人一样,我发现Eclipse太慢而且缺乏非Java语言的功能。

我有两个积极的建议:对于调试C和C ++程序, valgrind (内存调试器)和 Data Display Debugger (一个交互式GUI调试器)使我在C中的工作效率比以前只有dbxgdb高出5倍。

答案 7 :(得分:1)

  

现在我想给Linux一个机会,   是否有类似的IDE,或   更好,有能力吗?

     

我也对GUI库,c ++或c#的推荐感兴趣。

我只代表C ++:

  1. 有类似的IDE,但它们不如VS。
  2. Qt框架包含最好的C ++ GUI库。
  3. 甚至不打扰Eclipse或MonoDevelop for C ++,尝试使用KDevelop或QtCreator。与您习惯的相比,C ++调试会特别痛苦。

答案 8 :(得分:1)

在使用Visual Studio度过我最初的职业生涯之后,我在9年左右从Windows迁移到Linux。

此举非常简单,因为构建环境首先基于Makefile。到目前为止,每次发生更改时,我都会使用脚本为项目创建一个visual studio项目。

当时,我团队中的其他人正在使用emacs。当你来自像VS这样的东西时,学习曲线非常陡峭,但恕我直言,我投入的时间非常值得。

在emacs上卖给我的是与gdb的集成。 Emacs有一个专门针对gdb的模式。启动此模式后,您可以启用“gdb-many-windows”。这为您提供了与任何debuger环境非常相似的视图。此外,我在移动后做的第一件事就是设置VS键快捷键。所以即使在这段时间之后,我的.emacs文件中还有以下内容:

(global-set-key [f7] 'compile)             ;; asks for a command to run eg: make
(global-set-key [f4] 'next-error)          ;; show the next error
(global-set-key [S-f4] 'previous-error)    ;; show the previous error

(global-set-key [f5] 'gdb)                   ;; start the debugger   
(add-hook 'gud-mode-hook                     ;; allows changes to debugger mode
          '(lambda ()
             (define-key (current-local-map)
               [f10]
               'gud-next)                    ;; F10 does step over
             (define-key (current-local-map)
               [f11]
               'gud-step)                    ;; F11 does step into
             (define-key (current-local-map)
               [\S-f11]
               'gud-finish)                  ;; Shift+F11 finish function
             (define-key (current-local-map)
               [f5]
               'gud-cont)                    ;; F5 does continue.
             (gdb-many-windows t)))          ;; Set's up a debugger type view

如果您以前没有使用过emacs,那么首先要输入的是:Ctrl + X Ctrl + C退出emacs。

如果你决定试一试,在加载之后使用Ctrl-H然后't'。这将启动emacs教程,它将为您提供基础知识。

当然,如果您遇到问题,请查看或询问标有emacs的SO问题。这已经成为emacs使用的真正信息来源。我今年4月从this问题中发现了gdb-many-windows这个问题!

答案 9 :(得分:0)

MonoDevelop中。另外#Develop非常好 - 虽然缺少一些功能但速度很快,只支持C#(Mono或.NET)