当前位置:  开发笔记 > 编程语言 > 正文

什么是C开发的最佳IDE /为什么在IDE上使用Emacs?

如何解决《什么是C开发的最佳IDE/为什么在IDE上使用Emacs?》经验,为你挑选了7个好方法。

根据我以前的一个问题,我正在刷新我的C技能.

我的问题是,人们用什么来开发C?

很多人使用Emacs,并且已经这么做了多年,但学习emacs比使用像Geany或KDevelop这样的IDE更好吗?

还有兴趣听听那些仍在使用emacs的人,以及为什么他们将其用于其他应用程序?

请注意,我只对免费的IDE /编辑感兴趣.

编辑:

感谢您发布回答我的一些问题的链接,但我想我真正想知道的是:

是否学习使用emacs/vim进行编辑以及使用gcc-toolchain进行编译/调试是否值得,而不仅仅是使用IDE,为什么?

人们不迁移到IDE的原因是什么?

有没有人从以终端为中心的开发转向IDE开发,为什么他们会移动?



1> n-alexander..:

我开始使用IDE,微软与否.然后,在很久以前使用QNX时,我被迫使用文本编辑器+编译器/链接器.现在我更喜欢这种简单的组合 - 语法高亮编辑器+ C编译器和链接器cli + make - 任何IDE,即使环境允许它们.

原因是,对我来说:

    它无处不在.如果你用C编程,你就有了编译器,通常你可以自己编辑.我做的第一件事 - 我在Windows上使用Linux或Notepad ++.我会使用vi,但GUI编辑器提供了更好的字体,这对于整天查看代码非常重要

    您可以在需要时通过ssh远程编程.而且它有时能帮助我们进入目标并在那里做一些快速的事情

    它使我接近CLI,最好是UNIX/Linux CLI.因此,所有命令都在我的指尖,当我需要它们时,我不必去阅读参考书.UNIX CLI可以做IDE经常无法做到的事情 - 因为他们的开发人员并不认为你需要它们

    最重要的是,它非常像在原始代码中查看Matrix.我操作文件,所以我不得不让它们易于管理.我手动在代码中找到了东西,这使我保持简单和有条理.我明确地进行了Config Management,所以我知道我何时同步以及如何同步.我知道我的Makefiles因为我写了它们,而且它们只做我告诉他们的事情

    (如果你想知道它是否适用于"真正的大项目" - 它确实有效,项目越大,它就越有利于我)

    当人们让我看他们的代码时,我不必学习他们使用的IDE


调试器怎么样?
@JimmyJ只是在控制台上使用GDB
@rathboma:这就是Windows的用途:一个用于编辑,另一个用于文档
你可以在gvim中使用更好的字体,同时也可以查看unicode字符,而不是nedit.
调试是gdb的用途!它非常强大,可以让你做任何事情
调试怎么样?你如何单步执行代码?

2> Anders Hanss..:

对于我的大多数项目,我已经从终端文本编辑器+ make环境转移到了Eclipse.从C和C++扩展到Java和Python,我所使用的语言很少.

原因只是生产力.随着其他事情变得更加重要,我无法花费时间和精力将所有项目"保持在我的脑海中".

使用"硬核"方法(终端)有一些好处 - 比如你自己和代码之间有一层薄得多的层,这样当你在项目内"所有"内部时,你的工作效率会更高一些.在你的头顶.但是,当你在其他地方需要你的思想时,我认为不可能仅仅为了它本身而捍卫这种工作方式.

通常,当您使用命令行工具时,您将经常需要解决许多样板问题,这些问题会使您无法提高工作效率.您需要详细了解这些工具才能充分发挥其潜力.维护项目也需要付出更多努力.重构将导致make文件等的更新.

总结一下:如果您只处理一个或两个项目,最好是全职,而不会有太多干扰,"基于终端的编码"可以比完整的IDE更高效.但是,如果您需要将精力投入到更重要的事情上,那么IDE绝对是保持生产力的方法.

做出相应的选择.



3> Svante..:

Emacs 一个IDE.

编辑:好的,我会详细说明.什么是IDE?

作为一个起点,让我们扩展首字母缩略词:Integrated Development Environment.为了分析这一点,我从头开始.

一个环境,一般来说,围绕来看世界的一部分.在这种情况下,它是我们在显示器上看到的(可能是从我们的扬声器听到)并通过我们的键盘(也许是鼠标)进行操作.

如果您愿意,开发就是我们想要在这种环境中实现的目标.我们使用环境来开发软件.这定义了我们需要的子部分:编辑器,REPL的接口,resp.编译器,调试器的接口以及对在线文档的访问(此列表可能并非详尽无遗).

集成意味着环境的所有部分都以某种方式在均匀的表面下.在IDE中,我们可以以最少的切换访问和使用不同的子部分; 我们不必离开我们定义的环境.这种集成使不同的子部分更好地交互.例如,编辑器可以了解我们写什么语言,给我们的符号自动完成,跳转到定义,自动缩进,语法高亮,等等.它可以从编译器获取信息,自动跳转到错误,突出他们.在大多数(如果不是全部)IDE中,编辑器自然是开发过程的核心.

Emacs的这一切,它也具有广泛的语言和任务,它是卓越的,因为它是由何处,他错过任何用户无缝地扩展.

反例:你可以开发使用类似记事本,通过Firefox和XPDF访问文档,并引导从shell的编译器和调试器.这将是一个开发环境,但它不会被集成.


你自己不必是一个elisp魔术师.你可以使用别人的作品.例如,尝试将Eclipse的SLIME(针对emacs的高级lisp交互模式)与Lisp模式(或称为插件?)进行比较.
emacs是集成的,就像石头与伊特鲁里亚废墟中的砂浆融为一体.说真的,emacs是我早上开始的第一件事,但称它为集成IDE?除非你是一个elisp魔术师.

4> fluffels..:

我已经非常成功地使用了Eclipse和CDT插件.


我从未对CDT感到满意.不能把我的手指放在上面.在Eclipse环境中做C很奇怪.

5> Jimmy J..:

如果它有一个文本编辑器,Emacs会更好...... :-)


它实际上有一个.我想你可以按下META-CTRL-LEFT_ALT-Q + R + W来启动它!
+1是的,正确的编辑,像vim!让圣战开始吧!
作为Vim用户,我不会理解你.你能解释一下吗?

6> soulmerge..:

使用Code :: Blocks.它拥有您需要的一切和非常干净的GUI.



7> Joshua Rieke..:

Netbeans具有出色的C和C++支持.有些人抱怨它臃肿而缓慢,但我几乎专门用于个人项目,并喜欢它.代码辅助功能是我见过的最好的功能之一.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有