For C, C++, asm, Python, HTML/CSS/JavaScript/PHP, etc. I use a text editor (usually gedit) + command-line most of the time. For C# I use MonoDevelop.
I don't like IDEs that much, though I really like MonoDevelop for C#. If I found something as good as or better than MonoDevelop for other languages then I'd probably use it for most of my projects.
Stewbond wrote: |
---|
how do you work on a 30+ file project where you can't easily trace where objects are going |
If you can't tell what code is in which file just by the path, you're doing it wrong.
Let me give you an example. I have a smallish project (about 3.5 kLOC) which is (the start of) a basic OS kernel (I'm using information from the Internet to learn how to write one as I go). It has 43 source files. But because of the way I've split up the source tree, I can easily tell where any given function is.
It looks like this:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
X:\Projects\OSDev\Myelin\src\
├───common
│ ├───mem
│ ├───boot
│ ├───kernel
│ └───libc
└───arch
└───i386
├───mem
├───boot
│ └───head
├───kernel
└───libc
|
The include folder is almost identical, it just doesn't have the 'head' directory.
mem is the memory manager, boot is all code that runs during the boot procedure, libc is the C standard library (I have to implement everything I need because I can't use userspace code in my kernel) and kernel is everything else. There will be a separate directory for modules when I get that far.