Softomato - mini IDE для ноутбука

Softomato настолько мелкая и быстрая, что ее проще поставить и самому посмотреть, чем скрины делать. А по скрину тоже много не скажешь. Максимум места под код не в ущерб навигации. Девиз проги — чтобы добавить одну нужную фичу надо удалить из нее две ненужных. Большинство команд через горячие клавиши. Вот краткий список того, что умеет на сегодня:

Навигация по функциям, переменным с многословным фильтром поиска
Поиск слова в проекте по дабл-клику
Быстрое переключение между проектами
Автодополнение (поддерживает несколько фрагментов искомой функции или переменной в любой последовательности)
Шаблоны кода
Синхронизация фрагментов кода в разных проектах
Анализ вызовов функций
Закладки в виде комментариев (не сползают при добавлении кода, сохраняются в проекте)
Закладки в виде привязок к номерам строк (полная противоположность предыдущим, но не портят проект)
Навигация по закладкам, файлам, функциям и всему, что можно навигировать :)
Вход и выход из функции при установке курсора на названии функции
Блокнот для быстрых заметок, привязанный к проекту
Форматирование кода
Быстрое переключение между h и с файлами по F11
Экспорт импорт натроек редактора и цветовой схемы в файл
В нормальном режиме правое окошко и окно поиска закрываются при скроллинге текста, освобождая место под код:

может еще что-то забыл, фичи постепенно добавляю по мере надобности. Написана на CodeTyphon. На базе SynEdit. Кросплатформенность пока не прикручивал. Тулбара с кнопками нет и не будет. Ибо жрет экран нещадно и уныло.
Ну и название Softomato — от софта и техники программирования при помощи кухонного таймера в виде помидора (подробнее на хабре) — 25 минут кода, 5 минут перерыв. Так что время на проект можно измерять в помидорах, а прогу называть кетчупом или помидоркой :)
Все версии Softomato лежат тут: yadi.sk/d/GbPB4rsxeXQ2z
Отчет за 2016 год. За 2016 в Softomato появилось много интересного. Из основных плюшек — прикручен компилятор AvrGСС (бесплатный компилятор для AVR90), CppCheck (бесплатный поиск ошибок в коде). Потенциально можно прикрутить все что угодно через правку текстовых epm файлов (ExternalPrograM). Запуск внешних программ (компиляторы, гляделки, калькуляторы, программаторы и пр.) осуществляется по имени: нажал Ctrl+E, написал пару букв нужной программы (оконная или консольная — без разницы), нажал Enter и все запустилось. Наконец прикрутил вложенные папки. Полезно для программирования под STM32. И добавил кеширование разбора кода. Softomato и так летает, но теперь приблизился к 1 космической скорости. Кстати GCC для STM32 еще не прикручивал, но в теории должно работать. Принцип тот же, что и для AvrGСС — свой epm файл. Еще появился мультибуфер, эта полезная шняга нужна для одновременной работы с несколькими переменными. Переработано контекстное меню, теперь на мелком ноуте все влезает в экран. Ну и исправлены мелкие ошибки и добавлены новые (шутка). Все это более подробно описано в файле Versions.txt. Своим новогодним 815 билдом Softomato поздравляю всех пограммеров с НГ! Ну и по секрету скажу, что еще не все прикрутил, что хотел :)
- +9
- 23 марта 2015, 18:44
- Legogo
Без тулбара и меню выглядит оно весьма… необычно. И я как-то привык к тулбарам. Можно же сделать их отключаемыми.
А ведь я еще хотел грохнуть верхнюю синюю полоску, но не нашел, куда выводить имена проектов и файлов. Поэтому она осталась. Но, наверное, ненадолго :)
В самых первых версиях было и то и это. Потом отказался за ненадобностью. Наверное сказалась генетическая нелюбовь к ленточному интерфейсу от Microsoft, когда и без того узкий экран ноута захламлялся горизонтальной лентой, создавая амбразуру для ввода текста. Ведь можно было разместить ее слева, а ведь не сделали такого. Доводилось встречать редакторы с туевой кучей кнопок. Да, выглядят солидно, и каждая кнопка дай бог нажимается два раза в году. Здесь же хотелось сделать нечто «поставил и поехал». Чтобы можно начать работу через минуту после установки и не отвлекать внимание на фасад.
В самых первых версиях было и то и это. Потом отказался за ненадобностью. Наверное сказалась генетическая нелюбовь к ленточному интерфейсу от Microsoft, когда и без того узкий экран ноута захламлялся горизонтальной лентой, создавая амбразуру для ввода текста. Ведь можно было разместить ее слева, а ведь не сделали такого. Доводилось встречать редакторы с туевой кучей кнопок. Да, выглядят солидно, и каждая кнопка дай бог нажимается два раза в году. Здесь же хотелось сделать нечто «поставил и поехал». Чтобы можно начать работу через минуту после установки и не отвлекать внимание на фасад.
Я тулбаром пользуюсь постоянно, и вообще, в IDE прежде всего смотрю на конфигурируемость интерфейса. У тебя она, похоже, нулевая. А хотелось бы
1) Тулбары — полностью настраиваемые
2) Докирование окон (сейчас, как я понимаю, жестко фиксированная раскладка)
3) Вкладки у редактора
И немного по другим функциям.
Форматирование кода — не хватает настроек. И возможности его отменить. Случайно нажал кнопку и все съехало.
Архивация проектов — я бы на этом месте предпочел видеть интеграцию с VCS. А также — возможность эту архивацию отключить нафиг, чтобы случайно не запустить.
Хотя оно и называется IDE, интеграции с чем-либо я не нашел. Чисто редактор. Правда, похоже, довольно неплохой редактор.
Неплохо бы указывать не расширения входящих в проект файлов, а маски. В текущем варианте нельзя добавить пункт «Makefile».
Хотелось бы более развернутые настройки стилей — благо, SynEdit это позволяет. Как минимум, возможность выбрать стандартные B/I/U.
Желательно возможность подключения тулзов. Скажем, для того, чтобы добавить вызывающую make кнопочку.
Желательно добавить возможность указать IDE пути к стандартным инклюдам компилятора — чтобы и по ним навигация работала.
Немного странновато окошко «проекты». Зачем использовать редактор в качестве списка, если редактировать все равно нельзя? И я так и не нашел, как переименовать проект и как управлять входящими в него файлами (впрочем, с последним, кажется, ясно — добавлением-удалением файлов в папку проекта).
1) Тулбары — полностью настраиваемые
2) Докирование окон (сейчас, как я понимаю, жестко фиксированная раскладка)
3) Вкладки у редактора
И немного по другим функциям.
Форматирование кода — не хватает настроек. И возможности его отменить. Случайно нажал кнопку и все съехало.
Архивация проектов — я бы на этом месте предпочел видеть интеграцию с VCS. А также — возможность эту архивацию отключить нафиг, чтобы случайно не запустить.
Хотя оно и называется IDE, интеграции с чем-либо я не нашел. Чисто редактор. Правда, похоже, довольно неплохой редактор.
Неплохо бы указывать не расширения входящих в проект файлов, а маски. В текущем варианте нельзя добавить пункт «Makefile».
Хотелось бы более развернутые настройки стилей — благо, SynEdit это позволяет. Как минимум, возможность выбрать стандартные B/I/U.
Желательно возможность подключения тулзов. Скажем, для того, чтобы добавить вызывающую make кнопочку.
Желательно добавить возможность указать IDE пути к стандартным инклюдам компилятора — чтобы и по ним навигация работала.
Немного странновато окошко «проекты». Зачем использовать редактор в качестве списка, если редактировать все равно нельзя? И я так и не нашел, как переименовать проект и как управлять входящими в него файлами (впрочем, с последним, кажется, ясно — добавлением-удалением файлов в папку проекта).
Ок, записал. Переименовать проекты можно в настройках: Проекты — кнопка «разрешить редактирование». По поводу файлов долго думал, добавлять по одному или сразу папку. Остановился на последнем, так как такой вариант предполагает наименьшее количество бардака в проекте. Поддержку сторонник папок и вложенности папок прикручу позднее.
Покуда оно не связано с тулчейном и дебаггером — такой подход допустим, но как только структура проекта в IDE начинает транслироваться в процесс сборки — как тут же становятся необходимыми средства полноценного управления ей.
И это, все же, прежде чем делать среду непохожей на «классический интерфейс» — подумай над тем, чтобы делать это опциональным… Все же, классический интерфейс не зря именно таким устоялся.
И это, все же, прежде чем делать среду непохожей на «классический интерфейс» — подумай над тем, чтобы делать это опциональным… Все же, классический интерфейс не зря именно таким устоялся.
Переименовать проекты можно в настройках: Проекты — кнопка «разрешить редактирование».ИМХО, это смешивание котлет с мухами. В настройках должно быть относящееся только к IDE, а проекты — сами по себе в менеджере проектов.
Не, конечно прикольно, но уже давно прошли времена ноутов с маленькими экранами и\или маленьким разрешением.
- cahbtexhuk
- 23 марта 2015, 19:14
- ↓
Есть ли смысл писать целиком свой продукт вместо того, чтобы улучшить настройки/интеграцию уже существующих, в т.ч. опенсорсных редакторов или IDE?
Ну вот какие фичи тут есть, которых нет или не добавить самостоятельно в тот же Vim или Sublime? И будет ли в этом продукте поддержка perl/python/javascript/java?
Интерфейс тоже как-то про минимализм не говорит, возможно неудачные скриншоты…
p.s. Не примите за желание непременно обругать новое, но порой просто становится жалко усилий, которые тратятся чтобы «написать свой собственный класс String»…
Ну вот какие фичи тут есть, которых нет или не добавить самостоятельно в тот же Vim или Sublime? И будет ли в этом продукте поддержка perl/python/javascript/java?
Интерфейс тоже как-то про минимализм не говорит, возможно неудачные скриншоты…
p.s. Не примите за желание непременно обругать новое, но порой просто становится жалко усилий, которые тратятся чтобы «написать свой собственный класс String»…
Разбор кода писал посимвольно руками. Дня 2 ушло. Все остальное штатные средства CodeTyphon. Сейчас htpekmnfns кодонавигации кешируются, но не читаются при старте. Когда прикручу чтение, тогда проекты из 10000 файлов и из 1 файла будут открываться мгновенно. А то сейчас приходится ждать по 500 мс при переключении между мелкими проектами :)
У меня одного вылетает от такой последовательности:
1) запуск, жмем ОК на рамке с ошибкой
2) в открывшемся дереве жмем ОТМЕНА (кстати оно позади всех открытых окон)
3) набиваем немного абракадабры в редакторе
4) жмем крест в правом верхнем углу (пытаемся закрыть)
5) в появившейся рамке жмем Отмена
6) Fail
???
1) запуск, жмем ОК на рамке с ошибкой
2) в открывшемся дереве жмем ОТМЕНА (кстати оно позади всех открытых окон)
3) набиваем немного абракадабры в редакторе
4) жмем крест в правом верхнем углу (пытаемся закрыть)
5) в появившейся рамке жмем Отмена
6) Fail
???
в полной мере не попользовался продуктом, так как на Win7x64 подглючивает, но задумка интересная.
не планируете кроссплатформенность? раскраску делать не будете? я лично привык чтобы фон был чёрным, поэтому все редакторы с отличным дизайном вызывают физиологическое отторжение
не планируете кроссплатформенность? раскраску делать не будете? я лично привык чтобы фон был чёрным, поэтому все редакторы с отличным дизайном вызывают физиологическое отторжение
Как подглючивает? На двух разных ноутах Win7x64 полет нормальный. Настройки цветовой схемы нашли? Не найти их невозможно. Цветовые темы светлая, серая и черная лежат в папке System программы.
первые ошибки — программа по старту сказала указать ей путь к проекту, а так как такового пока что в ней не создано сделал отмену, потому мне показали пустое окно с вкладками, как в статье, только без содержимого, куда то на пустой форме ткнул и получил ошибку

после чего программа вылетела, затем начал искать изменение цветовой гаммы, таки нашёл, было бы здорово чтобы настройки находились более интуитивно, но думаю не критично, так вот после изменения фона на любимый чёрный за окном настройки я увидел что фон изменился, но закрыв настройки получил ошибку

время экспериментов закончилось и я вернулся к любимому geany искренне желаю развить проект с блэкджеком и плагинами :)) так что насчёт кроссплатформенности? есть планы?

после чего программа вылетела, затем начал искать изменение цветовой гаммы, таки нашёл, было бы здорово чтобы настройки находились более интуитивно, но думаю не критично, так вот после изменения фона на любимый чёрный за окном настройки я увидел что фон изменился, но закрыв настройки получил ошибку

время экспериментов закончилось и я вернулся к любимому geany искренне желаю развить проект с блэкджеком и плагинами :)) так что насчёт кроссплатформенности? есть планы?
Скрин 1: Повторюсь, редактор не умеет создавать проекты. Откройте папку с готовым. Скрин 2: Из-под админа запускать не пробовали? Поставил на посмотреть Geany. По умолчанию как редактор не впечатлил. Но получше чем CodeBlocks наверное будет. Насколько понял он расширяется плагинами (коих насчитал немного). Может поделитесь инфой, что в нем такого, чем он Вас покорил и чего еще нету в Softomato? :) Кросплатформенность планируется, но не скоро.
всем привет!
Для меня лично сие творение весьма актуально!
Но как всегда интересует кроссплатформенность!
Будет ли версия для nix или мака?
а так же что на счет отолачика и просмотра регитров- ибо это есть самое главное при работе с стм для которых нет либ для протеуса
И нужен все же мастер создавать проекты! Я например не совсем понимаю что мне туда надо напихать — где указать компиллер и та кдалее или это не ИДЕ а просто редактор? И если это просто редактор можно ли его в таком случае качественно прикрутить к иару?
Для меня лично сие творение весьма актуально!
Но как всегда интересует кроссплатформенность!
Будет ли версия для nix или мака?
а так же что на счет отолачика и просмотра регитров- ибо это есть самое главное при работе с стм для которых нет либ для протеуса
И нужен все же мастер создавать проекты! Я например не совсем понимаю что мне туда надо напихать — где указать компиллер и та кдалее или это не ИДЕ а просто редактор? И если это просто редактор можно ли его в таком случае качественно прикрутить к иару?
Всем привет!
Для меня — сие творение весьма актуально!
Но как всегда интересует кроссплатформенность!
Будет ли версия для *.nix или мака?
Что на счет отладчика и просмотра регистров? Данный функционал — есть самое главное при работе с STM32, для которых нет библиотек под протеус?
И нужен все же мастер создавать проэкты! Я например не совсем понимаю что мне туда надо напихать — где указать компиллер и так далее… Или стоит рассматривать данный продукт всего лишь как редактор кода а не ИДЕ? И если это просто редактор можно ли его в таком случае качественно прикрутить к IAR?
Очень надеюсь что в таким виде задроты смогут прочитать текст и возможно понять что я хотел спросить…
Для меня — сие творение весьма актуально!
Но как всегда интересует кроссплатформенность!
Будет ли версия для *.nix или мака?
Что на счет отладчика и просмотра регистров? Данный функционал — есть самое главное при работе с STM32, для которых нет библиотек под протеус?
И нужен все же мастер создавать проэкты! Я например не совсем понимаю что мне туда надо напихать — где указать компиллер и так далее… Или стоит рассматривать данный продукт всего лишь как редактор кода а не ИДЕ? И если это просто редактор можно ли его в таком случае качественно прикрутить к IAR?
Очень надеюсь что в таким виде задроты смогут прочитать текст и возможно понять что я хотел спросить…
На часть вопросов ответы есть выше.
Кроссплатформенность теоретически возможна — написано на лазарусе, а он кроссплатформенный.
На сейчас — чисто редактор, про то, планируется ли привязка к тулчейну и отладчику автор ничего не сказал.
На месте автора я бы уже выложил на гитхаб и предложил заняться портированием на *nix тому, кому оно под никсы нужно)
Кроссплатформенность теоретически возможна — написано на лазарусе, а он кроссплатформенный.
На сейчас — чисто редактор, про то, планируется ли привязка к тулчейну и отладчику автор ничего не сказал.
На месте автора я бы уже выложил на гитхаб и предложил заняться портированием на *nix тому, кому оно под никсы нужно)
На всякий случай вот изменения:
New: Создание файлов по шаблонам
New: Переработано управление поиском
New: История поиска
Fix: Переназначение горячих клавиш
New: Активные проекты
New: Контекстное меню управления проектами и файлами
Fix: Управление проектами
Fix: Добавление и переназначение горячих клавиш F4 F5 F6
New: Выборочное удаление активных файлов из списка
Fix: Управление проектами
Fix: Оптимизация окна поиска
Fix: Оптимизация управления проектами
Fix: Переключение между *.c, *.cpp и *.h файлами
New: Создание директории при открытии файла
New: Подсветка искомых слов
Fix: Незначительные баги
Fix: Список активных файлов
Fix: Привязка позиций курсоров к именам файлов
New: Создание нового файла через открытие несуществующего
Fix: Перечитать открытый файл
New: Действия после открытия активного файла
New: Добавлена навигация по активным (рабочим) файлам
Fix: Переназначение функций клавиш Crl+O, Crl+L, Crl+R
Del: Список перехода
Fix: Отмена перехода по Ctrl+Q
New: Расширения файлов проекта теперь указываются с маской:
*.c,*.cpp,*.h,*.hpp,*.txt,*make*
После апгрейда необходимо обновить список расширений вручную.
New: Создание файлов по шаблонам
New: Переработано управление поиском
New: История поиска
Fix: Переназначение горячих клавиш
New: Активные проекты
New: Контекстное меню управления проектами и файлами
Fix: Управление проектами
Fix: Добавление и переназначение горячих клавиш F4 F5 F6
New: Выборочное удаление активных файлов из списка
Fix: Управление проектами
Fix: Оптимизация окна поиска
Fix: Оптимизация управления проектами
Fix: Переключение между *.c, *.cpp и *.h файлами
New: Создание директории при открытии файла
New: Подсветка искомых слов
Fix: Незначительные баги
Fix: Список активных файлов
Fix: Привязка позиций курсоров к именам файлов
New: Создание нового файла через открытие несуществующего
Fix: Перечитать открытый файл
New: Действия после открытия активного файла
New: Добавлена навигация по активным (рабочим) файлам
Fix: Переназначение функций клавиш Crl+O, Crl+L, Crl+R
Del: Список перехода
Fix: Отмена перехода по Ctrl+Q
New: Расширения файлов проекта теперь указываются с маской:
*.c,*.cpp,*.h,*.hpp,*.txt,*make*
После апгрейда необходимо обновить список расширений вручную.
актуально для малых экранов — Можно ли сделать сворачивани и разворачивание содержимого { }, как это сделано в Notepad++ для С, С++ файлов?
Хорошо, запишу в хотелки. Но это немного идет в разрез с основной идеей — навигацией по коду без мышки. Для перехода по скобкам есть Ctrl+Shift+B, для перехода по функциям — Ctrl+H. Свернуть выделенный текст можно и сейчас.
Если оно ориентировано на клавиатурное управление — то просто необходим хелп, который внятно его описывает. Как список хоткеев, так и краткое описание workflow с указанием наиболее употребительных сочетаний. Ну и вообще документация — важная штука.
В опенсорс еще не надумал перевести? А то интересно поковырять. А может даже и попилить (врядли, конечно — слишком ленивый).
Отчет за 2016 год. За 2016 в Softomato появилось много интересного. Из основных плюшек — прикручен компилятор AvrGСС (бесплатный компилятор для AVR90), CppCheck (бесплатный поиск ошибок в коде). Потенциально можно прикрутить все что угодно через правку текстовых epm файлов (ExternalPrograM). Запуск внешних программ (компиляторы, гляделки, калькуляторы, программаторы и пр.) осуществляется по имени: нажал Ctrl+E, написал пару букв нужной программы (оконная или консольная — без разницы), нажал Enter и все запустилось. Наконец прикрутил вложенные папки. Полезно для программирования под STM32. И добавил кеширование разбора кода. Softomato и так летает, но теперь приблизился к 1 космической скорости. Кстати GCC для STM32 еще не прикручивал, но в теории должно работать. Принцип тот же, что и для AvrGСС — свой epm файл. Еще появился мультибуфер, эта полезная шняга нужна для одновременной работы с несколькими переменными. Переработано контекстное меню, теперь на мелком ноуте все влезает в экран. Ну и исправлены мелкие ошибки и добавлены новые (шутка). Все это более подробно описано в файле Versions.txt. Своим новогодним 815 билдом Softomato поздравляю всех пограммеров с НГ! Ну и по секрету скажу, что еще не все прикрутил, что хотел :)
А сырки выложить еще не собрался?
И неплохо бы документацию вменяемую. Слишком нестандартная штука, да еще и управляется как я понял больше с клавы, чем с гуя.
И это, с новым годом)
И неплохо бы документацию вменяемую. Слишком нестандартная штука, да еще и управляется как я понял больше с клавы, чем с гуя.
И это, с новым годом)
Доки нарисую когда все хотелки реализую, сырки могу и на почту твою отправить, для гитхаба не созрел еще. Спасибо!
А почему не используешь циклы по Components для таких вещей, как обновление шрифта и цвета вместо простыней SynEditX.Font:=blablah, ComboBoxX.Color:=blablah? Короче и нет риска забыть внести новый комбобокс.
Еще, конечно, оно изрядно нуждается в переименовании компонентов из SynEdit1, SynEdit2, ..., SynEdit19 в более понятные названия, и, как по мне, в изрядном рефакторинге) 6к строк хендлеров — это сурово.
Еще, конечно, оно изрядно нуждается в переименовании компонентов из SynEdit1, SynEdit2, ..., SynEdit19 в более понятные названия, и, как по мне, в изрядном рефакторинге) 6к строк хендлеров — это сурово.
Комментарии (74)
RSS свернуть / развернуть