Best C++ IDE for *nix [closed]

十年热恋 提交于 2019-12-18 10:22:57

问题


What is the best C++ IDE for a *nix envirnoment? I have heard the C/C++ module of Eclipse is decent as well as Notepad++ but beyond these two I have no real idea. Any thoughts or comments?


回答1:


On Ubuntu, some the IDEs that are available in the repositories are:

  • Kdevelop
  • Geany
  • Anjuta

There is also:

  • Eclipse (Recommended you don't install from repositories, due to issues with file/folder permissions)
  • Code::blocks

And of course, everyone's favourite text-based editors:

  • vi/vim
  • emacs

Its true that vim and emacs are very powerful tools, but the learning curve is very steep..

I really don't like Eclipse that much, I find it buggy and a bit too clunky.
I've started using Geany as a bare-bones but functional and usable IDE. It has a basic code-completion feature, and is a nice, clean [Gnome] interface.
Anjuta I tried for a day, didn't like it at all. I didn't find it as useful as Geany.

Kdevelop and code::blocks get a bunch of good reviews, but I haven't tried them. I use gnome, and I'm yet to see a KDE app that looks good in gnome (sorry, I'm sure its a great program).

If only bloodshed dev-c++ was released under linux. That is a fantastic (but windows-only) program. You could always run it under Wine ;)

To a degree, it comes down to personal preference. My advice is to investigate Kdevelop, Geany and code::blocks as a starting point.




回答2:


As a programmer who has been writing code under linux for many years, I simply cannot seem to move away from using Vim for writing code.

Once you learn it, and learn some of its more advanced features (Code Folding, how to use ctags, how to work with multiple buffers effectively, etc) moving to another editor is very hard - as everything else seems to be missing features that you're used to.

The only other editor with a superset of vim's features is emacs. I highly recommend learning one or the other - and if you have questions, don't hesitate to ask here or in #emacs or #vim on irc.freenode.net - there's a very large and helpful community that will help you learn what extensions or commands best suit the software editing problems that you're facing.

[Edit: A comment noted that "vim isn't an IDE", I agree. I don't like the IDE moniker because it means a gui with a project manager and a bunch of drop down boxes. I like to use the terminology "Good Tools". See Ted Leung's writings on the matter]




回答3:


I'm surprised noone has mentioned Qt Creator, as it's available in most repositories, quite small in size and yet does most things I need very well.




回答4:


I would recommend CodeBlocks.

Highlights:

  • Open Source! GPLv3, no hidden costs.
  • Cross-platform. Runs on Linux, Mac, Windows (uses wxWidgets).
  • Written in C++. No interpreted languages or proprietary libs needed.
  • Extensible through plugins

Compiler:

  • Multiple compiler support:
    • GCC (MingW / GNU GCC)
    • MSVC++
    • Digital Mars
    • Borland C++ 5.5
    • Open Watcom
    • ...and more



回答5:


I just use Emacs.




回答6:


Emacs is a fantastic, stay-out-of-my-way-but-be-able-to-do-everything kind of IDE. See this other related question: Using Emacs as an IDE




回答7:


My vote is KDevelop (I wish I had more points so I can "vote up", so I could just agree with others indirectly than comment).

I've been using Eclipse for about couple years now for personal use, convincing myself that "since IBM donated it, it must be good", but then I've discovered KDevelop and never turned back. Because I'm quite spoiled with Microsoft Visual Studio for professional use, thus KDevelop felt the most comfortable to me.

I want to enjoy programming as a hobby, not spend time looking up what ctrl-k-k and ctrl-k-b does. Like others has mentioned, whatever "feels right" to them is the best IDE. For me, KDevelop feels the most comfortable because I can concentrate on coding (I could probably remap the keys to other IDE's to make it feel like VS, but as mentioned, I rather invest my time coding, which is more fun).




回答8:


If you're coming from Windows & Visual Studio, you might find Code::Blocks meets your expectations.

That was my experience; I tried a few others first, but they all seemed to expect me to do a lengthy tutorial before I could start doing anything interesting - and with a dozen IDEs to try, that could take days.

With Code::Blocks there were no hoops to jump through, and very little mandatory cruft to learn before I could be productive. I still prefer Visual Studio, but Code::Blocks can open my Visual Studio projects, and it doesn't seem to want me to waste any time, so it's the winningmost *nix IDE for me.




回答9:


I use the NetBeans C++ plugin and it's superb. I come from a Visual Studio background and the Netbeans project management is very similar. I tried KDevelop but found it a little flaky (this was 12 months ago, so it is probably better now).

I also struggled with dependencies using KDevelop - i.e. where a program requires a raft of libs to be built first - but Netbeans made this simple.

The only complaint is that being a Java app, it isn't particularly fast - very noticeable when running under VMWare.




回答10:


Simply put, Netbeans. You have to try it out. It's so good. It's much better than Eclipse with the CDT plugin.




回答11:


KDevelop is nice, especially if you run KDE. It supports many languages, as an added bonus. I've found its embedded terminal really useful.




回答12:


Netbeans has gotten some pretty good reviews for its C++ support: http://www.netbeans.org/features/cpp/

I've never used Netbeans or Eclipse for C++ development, but it's worth looking at.




回答13:


I was a VisualStudio + VA-X user before I switched to ubuntu, and needed good auto completion and function navigation features in any IDE.

I have tried Netbeans,Eclipse CDT,CodeBlocks,Geany,Anjuta, KDevelop and finally settled for KDevelop since that was the closest I could get to VS+VA-X.

Eclipse & NetBeans are too heavy & sluggish for my taste. Most of the other IDEs have buggy/incomplete/dumb auto completion & other features; or they want to take control of your code and needs to be imported into projects; or they put 101 files in your source folder. Only KDevelop allowed me to have a simple link to my src folder and let me work. auto completion is not brilliant, but better than the others.

KDevelop doesn't blend well with my Gnome, but I can live with it ;)




回答14:


I really like CodeLite. Check out it's feature page.




回答15:


Personally, I agree with the kDevelop crowd as well. Eclipse felt a bit bulky and mildly unstable. Something about kDeveloper just always feel right.




回答16:


Ultimate++ [http://www.ultimatepp.org/index.html]

[edit]
It does have it's own C++ class libs (as Hernan points out), but nothing stops you from using any other class libs like the SDL, or you can roll your own. You can even use boost if you like, but I must say I find some of the supplied classes & techniques to be more useful.

What I appreciate most is it's brilliant integration with the debugger and very complete context-sensitive editor. It uses the standard compiler & debugger (gcc, g++, gdb) on Linux and the MS compiler/debugger on that platform.

The only (very small) gripe I have is the home-made names for projects (called Nest's & so forth). That is unnecessary and may even be off-putting to serious developers, but they are only names & I find I can easily ignore it.




回答17:


I asked this question before to experience Linux users and they always say Vim and automake. I use Vim as my default editor in Linux and after a while it becomes intuitive. I learned it by working through some small examples while learning C++ so I could learn both at the same time.




回答18:


At my old job we used SlickEdit for C++ development under Debian. It's cross-platform and quite powerful.

It's not free, though.




回答19:


The problem with most IDEs is that they want to have a certain degree of control on how the project is organized, and this could be a problem if you have to work on that project with other people. In my experience this leads to two series of related problems:

  • If you start a project in a particular IDE, they will layout for you a particular directory structure, file organization, file naming convention, build system, etc. Of course most of these options are customizable, but it's not always possible to adhere to specific conventions which you might be required to follow. Projects with a complex build system might be difficult to implement from within the IDE. Moreover, the project might not be suitable for external, independent modification; so for instance, if you are planning to write an opensource application, avoid making the IDE a dependency for the project.

  • If you import a project started elsewhere, chances are it won't be very easy to use all the features provided by the IDE. You will have to figure out how to hook the build system, the debugger (as the binaries might not be where expected), etc. This is especially true for large and complex projects.

The reason why these ares not a problem under Windows is that Visual Studio is a de-facto standard. Under *nix there's a tendency not to impose particular tools/editors when developing a project collaboratively, and this is why these "cross-IDE communication" problems arise.

As a final note, if you learn, say, kdevelop or netbeans, you might have problems if one day you have to work on a machine where installing those is problematic (e.g. you might not have a Java runtime available and you might not be allowed to install it). If you learn (say) Vim + plugins, you are way safer: you can keep your configuration as a .zip file on your webserver and be pretty sure that Vim will always be available everywhere.




回答20:


I can't really vouch for the Eclipse module, but that might be attributed to the fact that I'm on Windows and have nearly no idea what I'm doing.

Can't go wrong with your favorite text editor though.




回答21:


Eclipse isn't bad, but you have to do things Eclipse's way. Eclipse has some built in ideas on directory layout. For a new project, Eclipse is a reasonable choice. Importing an existing project into Eclipse may require some restructuring.

I used to use Eclipse under QNX for C++. The QNX people actually developed the C++ capability, so QNX would have an IDE.




回答22:


Emacs works for simple things but I use Eclipse for any larger project.



来源:https://stackoverflow.com/questions/79210/best-c-ide-for-nix

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!