EEMBC & CoreMark Blog

February 11, 2010

What do YOU use to edit your code?

Filed under: EEMBC — shay@eembc.org @ 08:49

Being the main software developer for EEMBC, I spend a lot of time writing code. For big projects, an IDE such as Eclipse, Visual Studio, or Multi is essential. But what about other editing needs? When you need a small Perl script? HTML page with some JavaScript? Quick edit to a small C file? Edit a JavaScript that was encoded so that one line is more then 16K chars?

Every programmer needs a code editor, and once you get used to the quirks of an editor, it is hard to switch. Many still use EMACS or even VI – on some embedded platforms I use VI since it is easily available on even the most minimal Linux distribution.

For a graphical environment though, I like more convenience that comes with a GUI but am not willing to give up on some useful features:
- Syntax highlighting
- Regular expressions for find/replace
- Auto code layout (smart tabs, brace matching and their ilk)
- Browse/tags database support
- Performance (time to initial open, time to load/edit/search large files)
- Customization
- Macros (Define commands and key sequences)
- Bindings (the ability to customize any key combo to an editor command)

Other nice to have features:
- Code completion
- Column editing mode
- Tabs for documents
- Integration with external commands
- Code folding
- Integrated file explorer
- Integrated source control (SVN)
- Sessions (open up with whatever was in the editor when it was closed)
- Hex edit

Anything else is a bonus I will gladly take but am not willing to give up
convenience or speed.

I count 60 editors on http://en.wikipedia.org/wiki/Comparison_of_text_editors#Programming_features, how do you choose the right one for you? I try to check what is available and try 3 new editors once a year.Sometimes I will even switch…

Currently on Windows I am using Notepad++. Originally I was drawn by the fact this had most of what I wanted and I had access to the source to make a few modifications. Since then this editor has matured and I no longer have a private version compiled from the source.

Things I wish were different but not enough to fix the source code:
- Regex for find/replace could be better (e.g. just use Perl Regex)
- Really long lines don’t display correctly (compressed JavaScript)

Other editors I have used in the past and switched from:
- Slickedit (awesome editor, but cost issues when I switched to a new
company)
- Editplus (was not maintained for a long while. Looks like it is actively
developed again, may need to check it out)
- Ultraedit (somehow it just did not measure up and I ended up dropping it after a mere 3 months of use)
- XEmacs (EMACS is extremely powerful, but the human interface of the GUI version doesn’t cut it)
- PSpad (performance issues caused me to drop this one)

Which 3 editors do you think I should try in 2010?

3 Comments »

  1. I too use Notepad++, great editor. For HTML, Javascript, PHP, etc, I use Adobe Dreamweaver, the best HTML editor in my opinion.

    Comment by webmaster — February 11, 2010 @ 09:16

  2. Hi Shay -

    I’m in the “still use Emacs” camp, but you say it like it’s a bad thing! Eclipse admittedly beats out Emacs for Java hacking, but for C/C++/asm/Verilog/Lisp/etc, Emacs still sets a high bar. Witness the tweakage… http://github.com/atgreen/emacs/blob/master/init.el
    I recommend revisiting Emacs. (but remember to run it in server mode and use emacsclient for fast startup times!)

    AG

    Comment by Anthony Green — February 15, 2010 @ 18:09

  3. I use:

    - Eclipse for “hard-core” sesseions of C++/Python programming, mostly for its excellent cross-referencing feature (just hit F3 and it’ll jump to the definition/implementation of a function/class/…)
    - Kate (KDE/Linux) for quick hacking, when “booting” Eclipse is too much of a hassle
    - Kile (KDE) for LaTeX
    - Vim for console editing, e.g. quickly changing a config file

    Regards

    Comment by Jonas — February 17, 2010 @ 01:08

RSS feed for comments on this post.

Leave a comment

Powered by WordPress