>As part of the MacHeist 3 bundle, I purchased Espresso, a neat little code editor for Mac OS X. It looks simple and intuitive and works well overall. For a code editor, the functionality is fairly limited, though.
It supports plugins, which Espresso calls sugars.
After using Espresso for just a couple of hours, here are some of the things I would suggest as improvements:
- show that a line is wrapped by placing a special line wrap symbol at the end of the line that’s being wrapped;
- support find in files instead of only supporting find in file names (which only works inside the current project);
- when a search operation wraps (inside the current file) around, then have a clear visual signal indicating this, I currently have to take care that I watch the line numbers on the left;
- allow opening new files in tabs by default, now I have to drag the tab to the main window every time;
- allow tabs/spaces configuration per file type: I’d like to use tabs in XML files while using spaces in programming code (such as Java code);
- include more themes in the distribution, instead of just a single one, for example one that looks like vim on a black background with syntax highlighting enabled;
- on the theme website, show visual theme examples;
- support theme import/translation from existing themes from other programs (e.g. Eclipse, NetBeans, vim, etc.) to Espresso;
- make the file modified indicator stand out more (inside the tab header);
- use common keyboard shortcuts for switching tabs, e.g. Alt-Shift-arrows (like Safari) or Cmd-Alt-arrows (like Firefox);
- have keyboard shortcuts for moving tabs to the left or the right;
- add Java support, including syntax highlighting and navigator-support;
- support localization and provide support for the Dutch locale;
- integrate visual CSS editing;
- double-clicking on a folder in the project should open that folder;
- workspace folders: it would be nice if a folder could be added in the workspace, for quick access;
- MobileMe-support for publish servers would be nice to have;
- have an option to remove trailing whitespace when saving files; in my opinion this could even be a global option for any file type, since I’d enable it for all; currently Espresso automatically inserts whitespace (to keep the indentation level) but it does not remove it;
- when deleting an element/comment from the navigator, also delete the newline at the end – hence, if a comment occupies a line and there is nothing else on it, then the whole line should be removed;
These are things I consider bugs:
- while searching, when I add or delete some text, the occurrence counter is not updated;
- there are no small icon version of the “Action” and “Tools” icons, hence using the “Small icons” variant of the toolbar hardly increases the available screen estate;
- while hovering over the icons in the toolbar, no icon title/description is shown, even if only icons are shown in the toolbar (without text below them);
- when I click on Help -> Get Espresso Sugars the Coffee House website I’m sent to displays all sorts of errors (this is fixed as of April 9, 2009);
- when the Settings button is clicked in the toolbar, the caption of the button changes to “Hide Settings”, moving the icon, instead the button should -in my opinion- just be visualized as depressed.
These features make Espresso stand out:
- excellent Mac citizen: it’s fast, stable and integrates nicely in the Mac OS X environment;
- the find/replace feature (inside a single file) works like the search feature in Safari, highlighting occurrences, while dimming the rest of the text: awesome;
- dragging tabs between windows looks and works very nicely;
- you can create a rectangular text selection using Cmd-Alt-mouseclick/-movement, which is very practical in some situations;
- automatic XML ending tag completion – when you want to close an open XML element, just press the smaller-than-sign and the slash and Espresso will append the rest;
- easy element/comment deletion: just select the tag or comment in the navigator and select Backspace – gone.
Note: Updated on April 9 and April 10, 2009, to add more details.