标签云

微信群

扫码加入我们

WeChat QR Code

I want to expand my programming horizons to Linux. A good, dependable basic toolset is important, and what is more basic than an IDE?

I could find these SO topics:

I'm not looking for a lightweight IDE. If an IDE is worth the money, then I will pay for it, so it need not be free.

My question, then:

What good, C++ programming IDE is available for Linux?

The minimums are fairly standard: syntax highlighting, code completion (like intellisense or its Eclipse counterpart) and integrated debugging (e.g., basic breakpoints).

I have searched for it myself, but there are so many that it is almost impossible to separate the good from the bads by hand, especially for someone like me who has little C++ coding experience in Linux. I know that Eclipse supports C++, and I really like that IDE for Java, but is it any good for C++ and is there something better?

The second post actually has some good suggestions, but what I am missing is what exactly makes the sugested IDE so good for the user, what are its (dis)advantages?

Maybe my question should therefore be:

What IDE do you propose (given your experiences), and why?


This is, I think, the 4th "What IDE should I use on Linux" question in a day or two.

2018年08月17日14分15秒

Maybe you should look at the date this question was asked... or point the newer questions to here

2018年08月17日14分15秒

In the last release, Eclipse has integrated the eclipse.org/linuxtools into its release train - that project aims to make Eclipse a more fully-fledged C/C++ IDE on Linux by integrating Linux-specific tools.

2018年08月17日14分15秒

i strongly disagree. a decent ide is important no matter what u'r working on. it drastically increases productivity. i use codeblocks and find that going back to VI is almost impossible. i have coded on Mac, Win and Linux, and although i find visual studio to be the best IDE, codeblocks comes close.

2018年08月17日14分15秒

David, perhaps you could detail (own answer …) what exactly you're missing from the toolchain I described that an IDE delivers. As I've said, I've come from a strong IDE background and my productivity increase was the exact inverse of yours.

2018年08月16日14分15秒

What refactoring support does Vim offer? In Eclipse (which runs under Linux), I can change the name of any Java method I wish, even if it is called in 300 places. Can you do it easily in Vim?

2018年08月17日14分15秒

quant_dev: refactoring requires parsing the source code in some way. As far as I know, no VIM modules do that so the answer to your question is “none.” That's one of the reasons to prefer an IDE for IDE-centered languages such as Java. Since refactoring support (etc) for C++ is so minimal anyway (even in IDEs), this doesn't apply to C++.

2018年08月17日14分15秒

hasen: oh but large parts of it can. Scope-aware renaming, for example. And believe me, this is big. And Ecplise (e.g.) can save a lot of work here.

2018年08月16日14分15秒

Eclispe has support for Hg, Git, SVN and others via plugins. And startup/splash screens suck huge balls. They suck down resources and offer very little in benefit. And they usually pop up in front of whatever I'm working on while waiting for the app to load. PortableApps and Eclipse need to get rid of them.

2018年08月16日14分15秒

Codelite got the same keyboard shortcut as Visual Studio for debugging, making it very user-friendly for Visual addicts.

2018年08月16日14分15秒

May be beating an old horse here, but IMO eclipse's GUI is really unmatched. Yes, it's difficult to learn at first, but it's kind of like Vi where the productivity starts to skyrocket after you've climbed the steep learning curve. To prove a point, try pressing Ctrl+3 -- one of the very awesome features in eclipse IMO.

2018年08月16日14分15秒

"Cons: uses Spaces for indentation [...] I'm sure this is configurable, but I couldn't find out how to to that." That shows, you haven't really used to tool, otherwise, you'd have eventually found the option.

2018年08月17日14分15秒

CodeLite is amazing, like chewing on dentyne ice gum. It'll leave a fresh and minty taste in your mouth. Eclipse, while being featureful, also gives you this vomit after taste when you use it. I know this sounds childish to say, but its really the best metaphor for explaining the "feel" of using them. I'm sure others will agree with me.

2018年08月16日14分15秒

+1 for codeblocks and yea, you'll definitely want to learn at least how to compile and run your programs from a shell, cause code::blocks has some blimishes.

2018年08月16日14分15秒

Eclipse is not at all lightweight IMHO, Code::Blocks... just

2018年08月16日14分15秒

-1 for code blocks. -1 for eclipse. They both change their UI's during debugging. To the point where a novice user usually feels lost. They both can't debug fork. They both have nasty problems with SVN/CVS integration. (Latest Eclipse in tandem with Subclipse is broken in Gnome as of 4/28/11 and crashes every 10 minutes). Setting up source control is a nightmare and integration with these IDE's is just as difficult.

2018年08月16日14分15秒

bleepzter -1 for using SVN/CVS to start with ;)

2018年08月16日14分15秒

Mercurial, Git and Bazaar which are vastly superior in every way.

2018年08月16日14分15秒

It's also really good for c++. It's got the best language parser ever.

2018年08月16日14分15秒

I enjoyed Netbeans much more than Eclipse for c++ development.

2018年08月17日14分15秒

NetBeans is so much more enjoyable then Eclipse, I really wish more people start to realize that.

2018年08月17日14分15秒

After fighting with Eclipse for weeks I found this, switched to NetBeans and Thank you! It has a nicer interface, is more responsive, inuitive and customisable. Beats Eclipse hands down

2018年08月16日14分15秒

Another vote here for how much better NetBeans is than Eclipse. It also has by far the best Vim emulation (as a plugin) that I've ever used.

2018年08月17日14分15秒

I use it for non-Qt projects as well.

2018年08月17日14分15秒

It is nice. I tried it and like it a lot.

2018年08月16日14分15秒

Hi Konrad. Do you use DDD?

2018年08月16日14分15秒

confuzatron: No, I use gdb for several reasons. Most importantly, I usually work without any X server running. Also, I'm a bit uncomfortable about the fact that DDD hasn't seen any update in quite a long time. On the other hand, project ownership has just changed and there seem to be changes afoot.

2018年08月16日14分15秒

Thanks for the tab info wrt gvim, never new that :)

2018年08月17日14分15秒

VS2010 highlights syntax errors without compilation.

2018年08月16日14分15秒

Candy true, VS2010 changed a lot of things in this regard and added advanced features for background compilation. But gvim has also added a lot of features via plugins in the meantime. In particular, you can probably get syntax error highlighting without compilation via the clang_complete plugin now. This answer is from 2009 and some parts are outdated. But there have been improvements on all sides so it more or less evens out.

2018年08月16日14分15秒

Eclipse CDT "not very useful yet?" Elaboration would be helpful. I find it extremely useful (and easy to use).

2018年08月16日14分15秒

"not very useful yet": autocomplete often doesn't work, navigating to declarations or uses of functions doesn't work, syntax highlighting doesn't always work, refactoring doesn't work, etc. It's little better than using vi. The GDB frontend UI is the only thing that makes it worth using at all, IMHO.

2018年08月17日14分15秒

I haven't really tried refactoring with the CDT, but the other things seem to work. I will note that I run Eclipse with some pretty big max memory usage configuration parameters (I have 8-12 GB of RAM), but it seems fine.

2018年08月17日14分15秒

Last time I tried Eclipse CDT, the syntax/semantics parser for the auto-completion made the whole IDE freeze for 8 seconds every time it got invoked. It made the whole feature useless. I can't believe the thing didn't run in its own thread. This was two years ago, so it's hopefully fixed now. (right?)

2018年08月17日14分15秒

I find CDT awesome for my forays into QT and Boost. On windows with Mingw it has it's issues, but in a proper Posix environment auto-complete works great! The navigating to declarations is actually the one glaring hole. But considering that C++ can have multiple identical declarations, I'm not surprised. This is a harder problem to solve than in Java.

2018年08月16日14分15秒

I just can add my +1 to this. netbeans has the best c++ language parser i've seen in an ide ; beats eclipse's cdt.

2018年08月17日14分15秒

Can you get IntelliSense-ish features to work in Vim+ctags? Not really just auto-complete, but context-sensitive information such as parameter list for function, etc.?

2018年08月16日14分15秒

kizzx2: Yes, there are many options.

2018年08月17日14分15秒

Good point. But unfortunately GDB has an extremely steep learning curve. I’ve been using it for years now and I still have never used macros, and (although I know this is possible via macros!) any STL code I throw at it cannot be debugged any better than in modern IDEs.

2018年08月16日14分15秒

I spent 2 days to master most of commands in GDB. Once you know the raw power of GBD, you will never look back. It will save you a lot of time when you fix the hard-to-find bugs.

2018年08月17日14分15秒

You have a point. It is not an IDE as we know it. However it is interesting that the OP voted for that answer! Nailing my colours to the mast: I'm a fan of command line makefiles.

2018年08月16日14分15秒

Finally somebody who has some brain... I guess the others just code trivial stuff if they can do everything with emacs/vim.

2018年08月17日14分15秒

wow! Regarding the screenshots that really looks amazing! I will definitely give it a try. Do you know if I have to pay for it? (That's not quite clear on the Ultimate++ website)

2018年08月16日14分15秒

Nope, it's free as in "speech", "beer" and "ride". They are even quite open about accepting patches, and release very often, so it is as open source as it gets :)

2018年08月16日14分15秒