Ask HN: What would you like to see from a new IDE?

4 points by cbo ↗ HN
I find myself hating every IDE I have ever used.

So, in a personal "put up or shut up" challenge, I'm going to try to build a prototype of one in my free time over the next few months.

Personally, my focus is going to be on speed/memory performance, but as I'm starting from scratch, I figure that it can't hurt to ask what others might like to see from an IDE; if not for this project, then for the real IDE projects out there.

12 comments

[ 3.3 ms ] story [ 35.7 ms ] thread
Why do you hate existing IDEs?

(If you need to create something yourself for it to "just work for you," then I understand that.)

I'm more minimal in my desires for IDE features. TextMate is what works best for me. It focuses on exactly what needs to be focused on: the code. Everything else, is available through Macro's, Bundles, and the like. I can't live without it.

For your thread: * focus on text/code * super adjustable text coloring, highlighting * quick to launch, especially from bash (eg: "mate gdt.s") * macro's for extended usability (running bash script on file on certain key combo)

First off, the burden of competition is much less if you target a language other than Java. Java already has Eclipse/IntelliJ/Netbeans, all of which are pretty good. C++ has Visual Studio (Windows only) and Eclipse (which sucked last time I used it, but I've heard it's gotten better). Basically all IDEs for dynamic languages suck. IDEs for type-inferencing languages like Haskell or Ocaml could be really interesting, because you have a lot more info available at compile-time, but I haven't seen any that I liked. (Haven't tried Leksah though.)

The basic features that everybody relies on in an IDE, in rough order of how much they improve my productivity.

  1. Autocompletion, including docs.
  2. Syntax checking
  3. Code navigation (eg. Ctrl-click to definition)
  4. Integrated debugger
  5. Refactoring
  6. Syntax highlighting
  7. Find-all-callers
  8. File browsing
Also, it should start up fast and not have any noticeable delays when accessing functionality. IDEs that hang for 10 seconds while they pop up an autocompletion dialog bug the hell out of me.
A focus on keyboard, not on mouse. Crimson Editor column-mode.
Holding down a button overlays a line over the logical "path" to help code comprehension.
Vim, but with a better scripting language. No, really.
Seconded. I've recently switched to Vim from Eclipse after having way too many issues with various plugins not working properly, Eclipse occasionally crashing and corrupting my project file, etc. Nine times out of ten it was a good IDE, but that ten percent of the time when it misbehaved boy did it screw me over.

I've actually started hacking a Vim plugin (JVM debugging integration) and boy is it painful. Making Vim more scriptable would go a long way in making me very very happy.

Did you consider switching to emacs ? It even has a vi compatibility mode.
I'd love to see an IDE that actively taught keyboard shortcuts as you used it. For instance, let's say you used the mouse to click a save-icon or use the File menu to save a file. I'd like to see the IDE pop up an alert, change some text or otherwise inform the user that "Hey - control-S is the keyboard shortcut to do what you just did."

Basically, I want the IDE to actively guide me towards more productive ways to use it instead of just making me refer to a help file or discover those ways on my own. I saw something like this on a presenter's laptop at a conference once a long time ago, and the brilliance of it didn't strike me until later on.

1) stay out of _my_ way 2) well... point 1) cannot be satisfied if I don't find IDE that is build like I would build it.
The reason I don't use IDEs is Vim. I can't stand having to use the mouse to interact with my development environment.

Editor shortcuts are good, but there also need to be shortcuts for navigating between panes, tabs, and all that.

TABS. (and not the whitespace kind)

Every IDE I've ever used has terrible tab properties. You get lost when you're working with multiple documents. New tabs used to be created on the left in visual studio, it was ridiculous. Find some way to wrap an IDE in Chrome's windowing/tabbing environment, that would be perfect.