Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 02 Oct 2013
Offline Last Active Yesterday, 02:41 AM

Posts I've Made

In Topic: Ide For Linux

09 August 2016 - 05:23 AM

Anyway, let's start with proper shell integration. Say you have table in your source file with names that needs sorting. In vim: Mark first and last line, then ":'a, 'b ! sort" (run 'sort' command, using as input the lines between and including marker a and marker b. Replace input with the output of the sort command).



Yeah perhaps this should be a separate topic. But to answer your question on how that would work in KDevelop: Highlight the lines, press F7 and type "sort" (or if you're using Vi input mode, highlight lines, enter ":sort").


KDevelop uses Kate's text editor, which tries to emulate most of vim's features, so most of the common commands you'd use in vim are available in KDevelop:



Qt Creator supports all of those.


Thanks! I didn't know about this.

In Topic: A Lightweight 2D Game Framework Doesn't Seem To Exist

08 August 2016 - 08:37 AM

Urho3D (despite the name) is a decent 2D game engine/framework. It ships with Box2D physics, it supports animation, shading, etc. and it compiles not only to desktop platforms but also to Android, iOS and the web (using emscripten).


As far as "lightweight" goes, it compiles to an approximately ~5MiB library and takes maybe 4-5 minutes to compile on my i5-2440m. So I'd say when compared to something like Ogre3D it is fairly lightweight.

In Topic: Ide For Linux

08 August 2016 - 08:19 AM

TL;DR I recommend KDevelop if your project is CMake based.


To those recommending QtCreator, it's a fairly decent IDE if you're developing Qt applications, but I don't recommend it for anything other than that. One of the things I disliked about it a lot is how it handles file navigation. In KDevelop I can toggle between header/source files with ctrl+shfit+c. I can "alt tab" between the two last files with ctrl+shift. I can press ctrl+alt+o and quick jump to a file (or by using any of those other shortcuts that index function names or class names). These are things QtCreator doesn't offer and it's annoying to have to search for your files in the file tree every time you want to change files.


Why KDevelop?

  1. Integrates with Vi (if you want).
  2. Integrates with CMake. This has proven to work remarkably well, even for highly complex CMakeLists.txt.
  3. Integrates with git. A cool example of this is you can press alt+a and it will use "git blame" to show who edited which line of code.
  4. KDevelop has some of the richest syntax highlighting I've ever seen in any IDE. After programming with it for a while you'll start to see subtle things, like the "++" in "myObject++" changing to purple instead of white because myObject has overloaded operator++. There are *loads* of little things that will help you understand code better.
  5. Lots of helpful navigation shortcuts. As mentioned, you can jump between header/source file pairs, you can jump to declarations/definitions, you can jump to files.
  6. Lots of auto-completion. One of the cooler examples is you can write "it = thing.begin()", then hit alt+1 and the IDE will auto-complete "std::vector<foo>::iterator" for you.

The list goes on and on. Definitely give it a shot!


Personally, I've been developing on Linux for over 20 years and never felt the need to be limited by an IDE, but 

to each their own I guess.



I love this. "Limited" by an IDE. I'd be interested to hear what you consider limiting factors of an IDE?

In Topic: Best game engine?

18 July 2016 - 05:39 AM


In Topic: Your Preferred Os And Why

14 July 2016 - 06:54 PM

Linux, hands down. I grew up with Windows and I've been/am writing C++ code for both Windows and Linux.


Without going into any of the obvious political issues surrounding spyware and security...


1) Linux is undoubtedly better suited for C++ programming than Windows. Compiling code is so fundamental to every Linux system, developing just feels more streamlined and more thought through (none of that manual DLL copying of dependencies stuff, or screwing around with VS solution file settings).


2) It feels more responsive. This is a big issue of mine. If you've worked with Linux for a few months then switch to Windows, Windows just feels laggy. Dragging windows is slower, copying files is slower, compiling is slower, applications take longer to start, etc. I don't know why this is, but in my experience, Windows runs slower.


3) Annoying updates. Windows doesn't have a package manager. When I start Windows, I will get random popups about "nvidia update", "Acrobat reader update", "java update", etc. at completely random times (sometimes even minimizing the game I'm playing). This is super annoying. Windows 10 even forces you to reboot after installing updates. Why does Windows even have to reboot? Linux can update packages without having to restart anything, what's the deal? 


4) Efficiency. Windows 10 does have multiple desktops, but it's not usable. I really wish Windows would let me handle more than 8 windows efficiently, but it doesn't. I have to either alt-tab my way through the stack of windows or search for my Window in the task bar. That's at least a few seconds wasted. On Linux I use a tiling Window manager that is heavily keyboard-based. I organize my windows on multiple desktops in a tree-like structure, so getting to any Window is never more than two key presses away. I hardly use the mouse when I'm developing and it's just so much more efficient than what Windows currently provides.




Can you post relevant extracts from the License terms please


Read my signature, and follow the link in my signature.