Я достаточно часто рассказываю о том, что такое IDE, и вообще на эту тему в своём блоге(http://blog.soulrobber.ru/).
Но если нужно «здесь и сейчас», то:
1) Удобство интерфейса. Минимализм. IDE это не Word, 90% времени программист должен наблюдать редактор и дерево каталогов, файлов проекта. См. TextMate, Vim, Emacs.
2) Скорость. Она характеризуется показателями скорости работы анализатора кода(автокомплит часть его) и редактора.
3) AI анализатора кода. Он должен уметь подхватывать символы из модулей, импортируемых в коде.
4) Разная подсветка кода(в т.ч. фон редактора, гаттера, курсора etc). Жизненно важно иметь 2-3 стиля подсветки: тёмная, светлая, в стиле «zenburn».
5) Модульность. Скриптинг и остальное — костыли и попытки сделать нормальную систему, но лучший вариант пока представлен только в TextMate.
6) Инструменты дебага приложения. Как минимум — gdb и хоть какая-нибудь интеграция. Лучше — подхват живого приложения с его помощью. Без инструмента дебага твоя IDE будет просто редактором. Мало IDE смогут называться таковыми если убрать из них инструмент дебага.
7) Конкретно, поддержка языков(это только те, что нужны мне): C, C++, Python, Ruby, PHP, XML, HTML, CSS, JS, HAML, SASS, Django Templates, Makp, genshi, Lisp. Это вместе с так называемыми «lint'ами». Для html поддержка ZenCoding.
8) Рефакторинг(ну это вытекает из анализаторов кода, но на всякий...).
9) Поддержка вложенных терминалов как закладок.
10) Поддержка CVS, DCVS.
11) Удобные комбинации клавиш. Я должен быстро переместиться в дерево файлов(одним сочетанием клавиш), сменить бранч(1-2 сочетаниями), автоапдейтнуть, найти нужный файл без лишнего нажатия(просто жмакая кнопку arrow down), открыть, сделать изменения, открыть консоль(одной кнопкой или сочетанием), сделать пару операций, вернуться в файл, дописать что-нибудь, сделать коммит(не менее легко, чем остальные вещи), сменить бранч обратно и автоапдейтнуть, а затем сделать пуш.
Собственно, список я могу продолжать вечно, но я знаю что ты не сделаешь и 1/1000 от функционала текущих IDE. Ну не будут такие вопросы появляться у человека, который будет делать IDE, которая будет популярна.
Я использовал огромное число IDE и редакторов, пришёл к некоторым концепциям и выводам, думаю начать разработку своей IDE, но пока не рвусь, т.к. времени не много на это дело, да и дело-то не самое благодарное.
Пока я пришёл к выводу, что лучше всего использовать TextMate или Vim. Не Emacs, т.к. я с ним наигрался и пришёл к выводу, что Vim удобнее, хотя Lisp мне милее вимскрипта.
Однако, есть ещё одна вещь — Sublime Text 2. Обзор можно посмотреть здесь:
blog.soulrobber.ru/2011/01/30/sublime-text-2/
Это кроссплатформенный аналог TextMate. Увы, проприетарный и платный, но есть бессрочный триал-режим.