• Advertisement

Recommended Posts

Yesterday i started getting into linux development and tried a few IDEs, but not a single one i tried was good (CLion, Visual Studio Code, Geany, Emacs).

Either its incredible slow or does not run at all or miss some important features i need.

 

Is there no C++ IDE for Linux with following capabilties:

- Fast searching of functions and types (Symbol search, not a ctrl+f search)

- Fast and stable editor with the ability to increase the font size

- Supports mouse as well

- Does not require a shitton of memory (Clion needs 4 GB just to startup and it explodes when you start to use it)

- Ability to jump directly to a function, type, variable etc. (Ctrl + Mouse click)

- Runs well in a virtual machine with 2 Cores, 8 GB of Ram (Linux wont run natively on any of my machines, so i have no other choice)

- Visual debugger with breakpoints, step into, step over, etc.

 

At first glance visual studio code seems to be the best bet, but i couldnt get it to work using G++ and GDB at all (Do you have experience with that?)

CLion looked the best so far, but it used up all of the memory of my virtual machine and was still running extremely slow - even after giving the VM a total of 8 GB of a total of 16 GB ram, but it has other issues as well:

- No support for including external files into the project at all - you simply have to copy it into the project folder and copy it back when you are done which is a nuisance

- Symbol search does not work at all - it wont find any function/types/variables i search in

- Forces me to use CMake (I can live with it)

- Costs about 100 bucks

 

I tried normal text editors too, like geany and emacs but really i cant code with such tools anymore. I cant get productive with such barebone tools. The last time i used raw text editors was < 2000 and we have 2017.

Share this post


Link to post
Share on other sites
Advertisement

I've been using VisualGDB for a little over a year now, and while it isn't perfect (or free), nothing beats being able to use Visual Studio seamlessly across multiple environments. Just having access to the debugger is worth the price alone, let alone the entire VS featureset and then some. 

Share this post


Link to post
Share on other sites

I have had done some research on the same topic as I used Visual Studio Code some time before (and uninstalled it 5 minutes later because it is a shame to call this Visual Studio) so I came up with 3 alternatives to choose from after all the discussion about customizing the "on board" tools with plugins (what could also be a life time task) like vm and whatever you have access to:

Code::Blocks seems to have anything you could need to start even when it looks a bit old fashioned

Eclipse playes on the market as long as modern Visual Studio does but I personally think it has to complicated UI and features hided anywhere in the menus. Used it for Java and found it horrible but well thats an opinion

CodeLite will by now be the choice for me. It offers a good UI and has also plugins to customize it

At the end, one will say so or so, thats Linux/Unix, one thousand solutions for the same task ;)

Edit:

Forgot about the (not used nor tested by me yet) promised features from Visual Studio 2015/2017 to be able to run and debug code on Linux using a SSH connection (or else)

Edited by Shaarigan

Share this post


Link to post
Share on other sites
52 minutes ago, Zipster said:

I've been using VisualGDB for a little over a year now, and while it isn't perfect (or free), nothing beats being able to use Visual Studio seamlessly across multiple environments. Just having access to the debugger is worth the price alone, let alone the entire VS featureset and then some. 

Oh VisualGDB looks very interesting. Never heard about that. I will give that a try.

Question, how does this work? It looks like it uses SSH to connect to the linux system isn´t it? How is X handled there, VNC?

 

49 minutes ago, Shaarigan said:

I have had done some research on the same topic as I used Visual Studio Code some time before (and uninstalled it 5 minutes later because it is a shame to call this Visual Studio) so I came up with 3 alternatives to choose from after all the discussion about customizing the "on board" tools with plugins (what could also be a life time task) like vm and whatever you have access to:

Code::Blocks seems to have anything you could need to start even when it looks a bit old fashioned

Eclipse playes on the market as long as modern Visual Studio does but I personally think it has to complicated UI and features hided anywhere in the menus. Used it for Java and found it horrible but well thats an opinion

CodeLite will by now be the choice for me. It offers a good UI and has also plugins to customize it

At the end, one will say so or so, thats Linux/Unix, one thousand solutions for the same task ;)

Edit:

Forgot about the (not used nor tested by me yet) promised features from Visual Studio 2015/2017 to be able to run and debug code on Linux using a SSH connection (or else)

I know CodeBlocks, i used this in the past - but it was awful unstable in that time, especially the project configuration. I dont expect it to be magically better. But i can give it another try.

Eclipse, yeah... i have tons of java experience, so i know Eclipse very well - it has great refactoring tools and good search, but well it is very slow and my attempts to marry it with C++ and Linux was extremely painfully and very unstable. But maybe it is magically better and fast, but i dont expect that. As a matter of mact, i expect the opposite: Slower and more unstable than before - but well i give it another try too.

CodeLite was the next on my list i wanted to really try, because this looks promising.

 

But really i need to get a way to install linux natively on my notebook or my main system beside windows 10. My last attempts a few months ago, was just black screens on all 3 systems i own, for almost every distro i tried (Ubuntu, Debian, Gentoo, Slackware, Arch, etc.). Oddly enough not a single linux distro wont run on my notebook in virtualbox with windows 10 as host.

I am sure if i would upload a recorded video showing how i "try" getting linux up and running in one of my machines, i would get thousands of view.

Edited by Finalspace

Share this post


Link to post
Share on other sites

I just want to recommend CodeLite too since it does most (not all) of the things you require from an IDE.

I also heard good things from KDevelop, but never tried it myself.

Share this post


Link to post
Share on other sites
1 hour ago, Finalspace said:

Question, how does this work? It looks like it uses SSH to connect to the linux system isn´t it? How is X handled there, VNC?

Maybe not GDB but Visual Studio related https://blogs.msdn.microsoft.com/vcblog/2017/04/11/linux-development-with-c-in-visual-studio/

1 hour ago, Finalspace said:

But really i need to get a way to install linux natively on my notebook or my main system beside windows 10. My last attempts a few months ago, was just black screens on all 3 systems i own, for almost every distro i tried (Ubuntu, Debian, Gentoo, Slackware, Arch, etc.). Oddly enough not a single linux distro wont run on my notebook in virtualbox with windows 10 as host.

Havent tried it yet on Windows 10 but Windows 7 and it worked quiet well with the newest Ubunto distribution. I think you have switched the Hyper-V boot entry to get the VM running for VirtualBox?

Natively installing Linux on Windows is, was and will ever be a pain because of Microsoft's bootloader. Installing Linux (any distro) first and then let Microsoft rewrite the bootloader seems to help in this order but vice versa I got really uggly crashes up to a blue screen fo death followed by a fractured HDD

Share this post


Link to post
Share on other sites

My vote goes to QT Creator (I've tried codelite, code blocks, eclipse, vs code, but not CLion which I've heard is not bad).

As a long time visual studio user it has now totally replaced it for me since I migrated to linux 5 months ago, and I totally prefer it now. It is far faster and more responsive than VS, which is a big thing for me, and it feels like a much more solid well written application.

There are only 2 areas (in *my* everyday use) that I consider VS to be better:

1) Debugger. QT creator debugging feels less polished. It works, but the tooltip watch windows are a bit dodgy, and it could do with some colour.

2) Lack of folders in classview. I had to resort to using namespaces to organise classes.

Share this post


Link to post
Share on other sites

I'm using VSCode + CMake that generates Ninja, works pretty well for me. (I use it for debugging, I still use Visual Studio unrder windows for development).

Edited by ongamex92

Share this post


Link to post
Share on other sites
21 hours ago, lawnjelly said:

My vote goes to QT Creator (I've tried codelite, code blocks, eclipse, vs code, but not CLion which I've heard is not bad).

As a long time visual studio user it has now totally replaced it for me since I migrated to linux 5 months ago, and I totally prefer it now. It is far faster and more responsive than VS, which is a big thing for me, and it feels like a much more solid well written application.

There are only 2 areas (in *my* everyday use) that I consider VS to be better:

1) Debugger. QT creator debugging feels less polished. It works, but the tooltip watch windows are a bit dodgy, and it could do with some colour.

2) Lack of folders in classview. I had to resort to using namespaces to organise classes.

Is this page (https://www1.qt.io/download/) QT Creator? If so then QT creator is not free anymore, which is unfortunate.

Share this post


Link to post
Share on other sites

http://www.qtcentre.org/threads/50552-It-is-free-for-commercial-use-(Question-about-licence)

As said there is a LGPL licensing option for QT itself. But don't confuse the use of QT (which is a bunch of libraries for UI and other stuff) with QT Creator, which is an IDE. Although not 'advertised', you can also use QT Creator for non QT stuff, just plain c++ with gcc and gdb and cmake (and other compilers). It is even available in most linux package managers (albeit not cutting edge).

Share this post


Link to post
Share on other sites

Emacs is not an IDE, but both Emacs/Vim can do everything you want to do and be much faster than any other IDE available if you can get beyond the learning curve. I'm working on my current RTS game using Vim alone and I've been much more productive than with all the IDEs I've used in the past (a dozen of them, I used all the most popular ones for years including Visual Studio for Windows).

Edited by Michael Aganier

Share this post


Link to post
Share on other sites

Emacs needs some plugins and external tools to turn from a "raw text editor" (are you kidding?) into a C++ IDE, but it is fairly lightweight and good-looking, it supports mouse use, and it can search symbols across files beyond your wildest dreams.

The main pieces are defining "projects", creating symbol databases, compiling the project and providing a GDB front end, and there are redundant options for each.

Share this post


Link to post
Share on other sites
On 28/11/2017 at 7:54 AM, Finalspace said:

Yesterday i started getting into linux development and tried a few IDEs, but not a single one i tried was good (CLion, Visual Studio Code, Geany, Emacs).

Kdevelop is the way to go on Linux. They have appImage now, so you don't have to wait your distro to update their version, you don't need to install all the qt and kde libraries anymore.

It still has some issues but I deeply think they are doing their best to fix them more and more now. Their team also had grown. This is the IDE I am using since many years now (even if for some long times I was using no IDEs).

Other you should also try: qtcreator and gnome builder (very young one).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Advertisement
  • Advertisement
  • Popular Tags

  • Advertisement
  • Popular Now

  • Similar Content

    • By lonewolff
      Hi guys,
      I am having problems with trying to perform a basic 'shift left' on a char.
      char temp[1]; temp[0] = buffer[0] << 1; // buffer[0] is 0xff After this I have temp[0] writing to a file. Instead of being the expected 0x7F it is written as 0xF8.
      Any guidance on what I am doing wrong would be awesome.
      Thanks in advance
    • By sergio2k18
      Hi all
      this is my first post on this forum.
      First of all i want to say you that i've searched many posts on this forum about this specific argument, without success, so i write another one....
      Im a beginner.
      I want use GPU geometry clipmaps algorithm to visualize virtual inifinte terrains. 
      I already tried to use vertex texture fetch with a single sampler2D with success.
       
      Readed many papers about the argument and all speak about the fact that EVERY level of a geometry clipmap, has its own texture. What means this exactly? i have to 
      upload on graphic card a sampler2DArray?
      With a single sampler2D is conceptually simple. Creating a vbo and ibo on cpu (the vbo contains only the positions on X-Z plane, not the heights)
      and upload on GPU the texture containing the elevations. In vertex shader i sample, for every vertex, the relative height to te uv coordinate.
      But i can't imagine how can i reproduce various 2d footprint for every level of the clipmap. The only way i can imagine is follow:
      Upload the finer texture on GPU (entire heightmap). Create on CPU, and for each level of clipmap, the 2D footprints of entire clipmap.
      So in CPU i create all clipmap levels in terms of X-Z plane. In vertex shader sampling these values is simple using vertex texture fetch.
      So, how can i to sample a sampler2DArray in vertex shader, instead of upload a sampler2D of entire clipmap?
       
       
      Sorry for my VERY bad english, i hope i have been clear.
       
    • By mangine
      Hello. I am developing a civ 6 clone set in space and I have a few issues. I am using Lua for the logic and UI of the game and c++ directx 12 for the graphics. I need a way to send information between Lua and c++ occasionally and was wondering what is the best and most flexible (and hopefully fast) way to do this. Don't forget that I also need to send things from c++ back to Lua. I know of a lua extension called "LuaBridge" on github but it is a little old and I am worried that it will not work with directx 12. Has anybody done something similar and knows a good method of sending data back and forth? I am aware that Lua is used more and more in the industry and surely plenty of AAA game programmers know the answer to this. I want a good solution that will hopefully still be viable code in a couple of years...
    • By owenjr
      Hi there.
      I'm pretty new to this and I don't know if it has been asked before, but here I go.
      I'm developing a game using SFML and C++.
      I would like to use the "Tiled" tool to load maps into my game but I don't actually find any tutorial or guide on how to exaclty use it (I know that I have to read an XML file and stuff). I just step into diverse projects that make all a mess. 
      Anyone knows where can I find good information to make my map loader by myself?
      Thanks in advantage!!
    • By MHG OstryTM
      Hello guys,
      I've released my game for the first time. I'm very excited about it and I hope you'll enjoy the game - Beer Ranger. It's a retro-like puzzle-platfromer which makes you think a lot or die trying. You have a squad of skilled dwarfs with special powers and your goal is tasty beer. There is a lot of traps as well as many solutions how to endure them - it is up to your choice how to complete the level! 
      Link to the project: Project site
      Link to the Steam site with video: Beer Ranger
      Have fun and please write feedback if you feel up to.
      Some screens: 




  • Advertisement