1. Полная история с возможностью squashить изменения и прозрачным механизмом преобразования истории изменений в гит коммиты. Алгебра диффов типа Darcs было бы забавно, но в общем то необязательно. Емаксовская история в виде дерева - это конечно хорошо но не позволяет редактировать само дерево, да и не дерево мне нужно то, а направленный граф.
2. Консоль. По нажатию какой-нибудь большой кнопки (педаль ?) чтобы появлялось поле ввода с умным автодополнением которое в курсе контекста. Т.е. нажал кнопку появилась консолька, если я начал вводить имя класса, он должен это узнать и вывести предложение перейти к определению класса, или вывести хелп по нему. Ну и вообще чтобы она меня понимала с полусимвола. Сюда же собственно отсутсвие как такового интерфейса, только текст
3. Макросы на Питоне.
for line in file.lines_from_cursor():
if line.startswith("for"): break
yield '"{}"'.format(line)
4. Да и вообще мне не нужен редактор поддерживает плагины на Питоне, мне скорее нужен IPython с поддержкой редактирования текста.
Как бы это описать. Ну тот же направленный граф из диффов, и каждой ноде корню можно привязать свой Dockerfile и начать с нее исполнение что ли.
Ну т.е. например тестирование функции которая что то считает на основе базы данных выглядит в редакторе моей мечты так. Я делаю дифф ветвление в котором создаю test.py и говорю что его надо запускать из виртуалки которая от базовой отличается только базой данных (докер внутрях достаточно хорошо обращается с диффами образов так что там это разумно делать).
create executable node from 34 as test_db_user (тут должна быть куча всплывающих подсказок с тегами, диффами хешами и т.д. 34 - это индетификатор диффа)
set test.py as entry point for test_db_user
add child 35 for test_db_user
edit Dockerfile for test_db_user
Дальше открывается новый докерфайл пишем
FROM my_project_vm
RUN echo "INSERT name,status INTO users VALUES ('DYATEL','VOLCHARA');" | sudo -u postgres psql -d projectdb
Это заготовка а дописывать до исполняемой виртулки должен IDE.
Потом перехожу в свой файл открываю консоль
run from test_db_user
И он мне все выполняет и ставит точку останова на текущем положении курсора с подсветкой текущих значений всех переменных на экране - красота же.
UPD: А в идеале вообще: возможность запускать с нескольких стартовых окружений параллельно и показывать где значения переменных отличаются.
И нет это не замена юнит тестам, это именно такая извращенная консоль. Юнит-тесты надо писать отдельно, наверное.
Ну и так для кучи.
5. Отслеживание взгляда (Да я программист на Питоне, у нас отступы часть синтаксиса и графическая структура текста программы важна). Да и с деревьями опять же вполне может получиться хорошо. Ветвись вот от этой вот ноды и глазами так
зырк-зырк.