IDE

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
be

IDE

Post by be »

Hello out there! Tell me what IDE do you use! :)
The Pro from Dover

Re:IDE

Post by The Pro from Dover »

UltraATA 100.

Of course, if you are talking about Integrated Development Environments, you may want to re-ask on the General Programming board, unless you were specifically asking in regards to OS development.

Generally speaking, I favor Emacs and a lot of Elisp code; while it isn't quite as visually exciting, it it more powerful and flexible than just about anything else around. It does take quite a bit of learning to use, however, and so I often just use Notepad (under Windows) or pico (under Linux) for quick editing jobs. For working on Windows apps, I use Visual Studio; when in Rome, as they say. However, the MS tools are very tightly bound to the system, and trying to use VC++ et al for OS development is a sure road to frustration. I have not tried Dev C++ to date, so I can't comment about it; perhaps I shall take a look at it. I've used NASMEdit quite a bit; it's quite spiffy, and a definite improvement over NASM-IDE, but it's very slow and limited, and has some definite rough patches.

There's also, DR Scheme, of course, but that's not going to help you unless your taste in languages runs like mine.
be

Re:IDE

Post by be »

I use only "FAR File Manager" for now :). Not so useful, but pretty, especially with colorer plugin :)
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:IDE

Post by Pype.Clicker »

i'm aspirant to the grade of Member of St Gnucius Church, so i observe Stallman's #1 commandment :

"thou shalt not use another text editor than emacs" :-p

Query-Replace, two-keystrokes search (forward & backward), integrated DIFF between files, and the ability to perform any keybinding (global-set-key '[F12] goto-line) and writing "background operations" like loading a file which name has been written somewhere by another program just makes me happy.

Command-line invocation of "make all" is just fine for me ... and an IDE is pretty toyish when you come to OS dev (as the debugger will probably not be able to run your kernel and the Classes Library Documentation don't apply to your libraryless code :)

Finally, [Esc+X] speedbar also gives me the power of most of the IDE file picker, so i'm just glad with it :)
Jamethiel

Re:IDE

Post by Jamethiel »

Command line for 'make all'? Whatever happened to M-x compile, followed by C-x ` to jump to each error in turn?

I only really have two problems with emacs. One, M-C-v for scrolling the other window doesn't work in KDE (the WM hijacks the chord), and two, I keep hitting C-a instead of C-x and vice-versa (I run everything in a screen session these days), although this did show me vertical-split emacs windows (C-x 3), so I'm happy about that...

Of course, I don't use this setup for OS dev, since my OS has been almost completely self-hosting for the past several months, but this is what I did use until it was self-hosting, and probably what I will use for my next OS project as well, at least until -it's- self-hosting.
Tim

Re:IDE

Post by Tim »

Visual Studio 97! F7 to make, then F4 to step through each error.
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:IDE

Post by Pype.Clicker »

The reason why i don't use stuff like M-x compile or Visual Studio is that my makefile expect some environment variables to be set and it's easier to make sure those are set in a shell that in an IDE...

it may look weird, but that's mandatory to allow compilation independently of whether Linux or DOS is the host environment...
bkilgore

Re:IDE

Post by bkilgore »

can you configure microsoft's visual studio to run gnu make instead of it's own tools? or do you use microsoft's tools to compile? Right now I use a visual studio project to edit my code and for searching through files and basically everything expect compiling. For that, I go to a DOS window and run make. Is there a way to run make with F7?
Jamethiel

Re:IDE

Post by Jamethiel »

Pype: There's no reason you couldn't have M-x compile run a shell script to set your environment variables and kick off make. Or even just set the environment variables as part of the command for kicking off make.

I find it -very- hard to work without C-x `.
Tim

Re:IDE

Post by Tim »

bkilgore: Sure you can. One of the options for a new projects is a Makefile one, where you can enter the command lines for Debug and Release, Build and Rebuild All.

Visual Studio 6 seems to lose any environment variables when running make, so it's best to write a batch file that sets up PATH etc. and runs make. Visual Studio.NET handles it much better. Note that gcc's error message format is incompatible with VC++'s, so although you'll see error messages in the Output window, you won't be able to double-click on them.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:IDE

Post by Solar »

I guess my setup is a wee bit "sick"... I'm running Win2k using UltraEdit as editor (gasp - no vi, no emacs!) and Cygwin for bash / as / ld / gcc / make.

Reason is basically all the other stuff I'm running which wouldn't work under Linux (I tried!), like sync'ing my HP 720, using my WLAN card, or working with my favourite file manager (Directory Opus).

For the stuff where Cygwin doesn't do the trick, I keep a Knoppix CD close at hand. (Too scared to build myself an ELF target gcc cross-compiler, basically. ;-) )
Every good solution is obvious once you've found it.
VE3MTM

Re:IDE

Post by VE3MTM »

OS: Gentoo Linux (2.4 kernel)
Editor: ViM (and occasionally Emacs... I think I'm switching)
Compiler: GCC
Assembler: NASM

Though really, you can't beat *nix for OS development. I highly recommend using *nix. I don't think I'd be able to stand using anything but command line tools. GUI IDEs are too clumsy
bkilgore

Re:IDE

Post by bkilgore »

OS: WindowsXP
c compiler: DJGPP gcc
assembler nasm
editor: Microsoft Visual Studio (w/ Visual Assist)

I think graphical editors like visual studio make life much easier, especially with a plugin like visual assist. I don't think unix boxes are a must for devving at all, as I have always used my windows box, and tools like cygwin and djgpp make it to use what one were usix-only programs. Although I have found Linux quite handy, when looking for examples of how to do what I'm trying to do with my OS. :)
VE3MTM

Re:IDE

Post by VE3MTM »

Really, at first you look at a program like Emacs and think "how is this better than [some IDE]?". Then you realize that it has everything that IDE has, and possibly more. And if it doesn't come with the default config, chances are someone has written a plugin.

Abbreviations? Integrated debugger? Integrated RCS/CVS? Code completion (including the nifty hippy-expand)?

Whoever said bloatware was bad?

PS. Emacs is my friend now... I wrote TopCoder (www.topcoder.com) last night using it, and it completes me
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:IDE

Post by Solar »

The thing I dislike about either vi or emacs is the steep learning curve.

In UltraEdit, I have a GUI, and menus. When I feel the need for a new feature, I usually scan the menus for it. Once found, I know roughly where to find it again. If used often, I'll memorize the keyboard shortcut printed alongside the feature in the menu.

With either vi or emacs, if I need a feature, I have to look it up or ask someone proficient.

Get me right, I use vi every day alongside UltraEdit (quicker to invoke, for small changes etc.), but for the real editing I prefer UE because I simply hadn't found the time to check out how to do e.g. block mark / cut / paste in vi.

vi and emacs, imho, are a self-fullfilling prophecy: They're everywhere, so everyone learns how to use them. Somewhat like Windows: It's high time for something better, but the inertia of the market won't let this happen.
Every good solution is obvious once you've found it.
Post Reply