Have you ever thought of that? And additionally, how well does your working environment support your preferred workflow?
Me, for starters, have always been a great fan of the Visual Studio Development Environment. Primarily because this was the first encounter with an IDE that was setup for a large project, this was VS 6.0 and I worked as a contractor at Sony Ericsson Mobile Communications. I learned a lot about VS and how it could work with some carefully selected or written plugins.
And what I have come to realize is that what I really like about VS is the debugger and its environment. In my opinion hands down still the best debugger.
Fast forward and a lot of the later projects that I have been running has involved stuff that are not targeted for the Windows environment, i.e. setting up VS to work correctly is harder and sometimes impossible. So if I cannot have the functions as I want in an IDE how do you do it?
Well, some sort of text editor, cross compiler environment with Makefiles, a serial port and hopefully some gdb connection to be able to some decent debugging.
What this means for me and my workflow is when I start up the computer and log in I running my ”super-special-delux-script” that opens a number of terminals, some sort of light weight editor e.g. Geany and a web browser. All spread out over the virtual desktops. And usually there are some additional terminals opened along the way as well as some more editors, some remote desktops and puuhhh.
Some of you might say that Eclipse is the answer, I say meh… Every time I try Eclipse for a new project I get mad and I know why. The first encounter that I had with Eclipse and setting up a cross compiler environment was really bad and the person that was there to help me even worse. And that is still in my head many years later.
My new strategy is however to try to do things based on the terminal. So my new workflow strategy for development in Linux environment is:
- the i3 tiling window manager
- VIM, setting it up with the help found on Ben McCormick – Learning VIM
- new file structure on disk
- really trying to learn and understand gdb and gdbserver
It is coming along very nicely
The best improvement I have noticed at this point is the i3 tiling windows manager, I think this has done some wonders for my workflow. And as a step to be more fluent in VIM I have changed the key layout to better map VIM keys. And taking it one step further installed the Vimium App in Chromium (installation link). So there is no excuse to not just the keyboard instead of the mouse. This is also a workflow strategy, training the muscle memory.
I still do use Eclipse for some projects, but if its sole purpose is the be a code editor I try to run VIM and get used to the interface.
Running for a trial period as of now I use the Jetbrains CLion, a code IDE that uses CMake to build the project. And I hope to use that IDE some more as well.
Tip of the day
Running i3, VIM and Vimium and other keyboardcontrolled applications the ESC key is to far off and I will have some pain in my left pinky at the end of a code intensive day. So I have, like many, many, many others before me, remapped the useless CAPS LOCK key to act as ESC.
# vim .i3/config
Add the following line some where in the end:
exec –no-startup-id ”setxkbmap -option caps:escape”
To next time, have a good one!