【问题标题】:Moving development from Windows to Linux将开发从 Windows 转移到 Linux
【发布时间】:2010-12-10 15:58:01
【问题描述】:

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

我也对 GUI 库、c++ 或 c# 的建议感兴趣。

【问题讨论】:

  • 您迁移到 Linux 的原因是什么?
  • 迁移到 Linux 作为开发平台的一个很好的理由是受益于其强大的命令行界面和多种(专用)工具。选择您选择的编辑器,然后选择编译器/链接器、调试器等。
  • @Julien:我想这就是我的意思。如果他想尝试 Linux 以获得体验,那么我会建议他避免使用 IDE,因为它们不适合 *nix 的做事方式。如果他有其他原因,那么 IDE 可能对他更有意义。
  • 我对“纯 linux”方式的编码不是特别感兴趣。我更感兴趣的是为平台编写有趣的程序。有点厌倦了 MS 和 windows。

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


【解决方案1】:

http://monodevelop.com/ 将是您最接近类似于 Visual Studio 的编辑器的选择

【讨论】:

  • 酷,没听说过那个
【解决方案2】:

Eclipse 是目前唯一支持多种语言的 IDE,其功能与 Visual Studio 相当。

【讨论】:

  • 我认为 monodevelop 会非常类似于 Visual Studio :)
【解决方案3】:

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

【讨论】:

  • 真的有人在使用 Eclipse 进行 .net 开发
【解决方案4】:

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

【讨论】:

    【解决方案5】:

    单体。 #Develop 也很不错 - 速度很快,但缺少一些功能,并且只支持 C#(Mono 或 .NET)

    【讨论】:

    • 我确信#Develop 很棒,但问题是关于在 linux 上运行的 IDE,不幸的是 #Develop 没有。
    【解决方案6】:

    不要,只是不要!我现在正在这样做@工作,因为我必须这样做并且我尝试过,netbeans,kdevelop,eclipse。与 VS 相比,它们是如此基础,尤其是如果您习惯了更高级的功能,您会发疯并渴望恢复视觉工作室。

    【讨论】:

    • 我同意这篇文章。我已经使用了几乎所有的 IDE,相比之下它们显得苍白无力。例如,一些真正的基本内容,在 Eclipse 中使用断点进行调试期间,很难像在 VS 中那样轻松查看变量值。在 Eclipse 中,您必须打开一个 frikkin“变量”选项卡。你在开玩笑吗?
    • 这令人沮丧。我对配置我的系统不感兴趣,我对使用十五种工具不感兴趣。我感兴趣的是编写有趣的应用程序。
    • 我也尝试过很多次从 windows 和 vs.net 切换到 linux(我更喜欢最后一个,因为他的轻量级)......但每次,在尝试 eclipse 之后的几个小时后,netbeans 和monodevelop,我用Visual Studio 重新打开了我的win 分区。 Monodevelop 是唯一可以“击败”vs 的人,但它输了,例如在 asp.net 可视化编辑器上。我希望 De Icaza 的团队尽快发布它。但是他们在 mono 上做得很好和monodevelop!
    【解决方案7】:

    如果你打算在 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 上运行。

    【讨论】:

      【解决方案8】:

      我是一名 Linux 开发人员,我会杀死(或至少破坏)一个接近 Visual Studio 复杂性的开发环境。但是 Visual Studio 不支持 Lua、Haskell 或 ML,这些是我这些天使用的主要语言。

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

      我确实有两个积极的建议:对于调试 C 和 C++ 程序,valgrind(内存调试器)和 Data Display Debugger(交互式GUI 调试器)使我在 C 语言中的工作效率比以前仅使用 dbxgdb 时提高了大约 5 倍。

      【讨论】:

      • Visual Studio 2010 支持 F#,这是一种 ML 方言。
      • 虽然我非常钦佩 Don Syme 和其他人在 F# 上所做的工作,并期待它将函数式编程带给更广泛的受众,但我首先将 F# 视为 .NET 语言和函数式编程语言第二。这项工作非常出色,我很想看到一些功能被反向移植到标准 ML,但对我来说,它绝对感觉像是一个混合体。但你是对的,VS 对 F# 的支持很棒——或者至少它提供了很棒的演示。
      • 我已经成功使用WingGDB在Linux上的Visual Studio中进行开发。它以静默方式 sftps 文件,并将 gdb 的调试输出直接发送到 VS 前端(可视化、本地、断点等)。你会整天都没有意识到你在 Linux 上。我的工作效率很容易提高 4 或 5 倍。
      【解决方案9】:

      现在我正在考虑尝试一下 Linux, 是否有类似的IDE,或 更好,功能在那里?

      我也对 GUI 库、c++ 或 c# 的建议感兴趣。

      我只为 C++ 说话:

      1. 类似的IDE也有,但不如VS。
      2. Qt 框架包括最好的 C++ GUI 库。

      甚至不用为 C++ 使用 Eclipse 或 MonoDevelop,试试 KDevelop 或 QtCreator。与您习惯的相比,C++ 调试会特别痛苦。

      【讨论】:

      • 我同意!对于 C++,QtCreator 是一个不错的轻量级 IDE。
      【解决方案10】:

      在使用 Visual Studio 度过了我最初的职业生涯后,我大约在 9 年前从 Windows 迁移到了 linux。

      迁移相对容易,因为构建环境首先基于 Makefile。到目前为止,我每次有更改时都会使用脚本为该项目创建一个 Visual Studio 项目。

      当时,我团队中的其他人都在使用 emacs。当您来自 VS 之类的公司时,学习曲线非常陡峭,但恕我直言,我在这方面投入的时间非常值得。

      在 emacs 上卖给我的是与 gdb 的集成。 Emacs 有一个专门用于 gdb 的模式。启动此模式后,您可以启用“gdb-many-windows”。这为您提供了与任何调试器环境非常相似的视图。此外,我在移动后做的第一件事就是设置 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 使用的真正可能的信息来源。我今年四月才从this 问题中得知gdb-many-windows

      【讨论】:

        猜你喜欢
        • 2020-06-14
        • 1970-01-01
        • 2018-02-11
        • 2012-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-24
        相关资源
        最近更新 更多