Вертикальное выравнивание кода + немного Punto

Приветствую. Поговорим о вертикальном выравнивании кода? Итак, вдохновившись недавней статьей я понял как надо. Полностью автоматическое выравнивание + парсинг синтаксиса вещь конечно удобная, но нет. И у меня родилась идея. Мы просто даем программисту самому в каждом конкретном случае определить, по каким символам и в каких местах выравнивать код.Работает это в любом редакторе и с любым текстом. Как-то так: 3229cc6f20e657f0ed4f2e0d4e96b467.gifСразу забрать приложение можно тут: sourceforge.net/projects/tnice/files/(выделяем текст, жмем Ctrl+Shift+D, пишем символы выравнивания, жмем Ctrl+Enter)А подробный мануал и принцип работы под катом.Почему немного Punto? У меня давно назревала мысль отказаться от поделки под называнием Punto Switcher. Он использует глобальные хуки (а это большая ответственность), я ему не доверяю, т.к. он сам лазеет проверять обновления, хотя галки не стоят. Неоднократно нарывался на ошибки, к которым приводил Punto. Поэтому самую важную функцию: конвертирование раскладки — я вынес в этот софт. Так же в него попала функция конвертирования капса + перевод текста в транслит (на всякий случай : D). Ну и конечно же киллер-фича — выравнивание кода по вертикали.Но как же без хуков? В общем софт работает так. Когда случается хоткей софт делает следующее:1. Бекапит текущий текст в буфере обмена2. Очищает буфер обмена3. Эмулирует нажатие Ctrl+C4. Ждет появления в буфере обмена текста (постоянно проверяя его раз в 10 мс, и так в течение одной секунды)5. Как только текст появился — либо сразу конвертирует, либо запускает редактор6. В случае успешного редактирования — кладет в буфер обмена новый текст7. Эмулирует нажатие пользователем Ctrl+V8. Ждет пол секунды и восстанавливает старый буфер обмена. Если на любом из этапов после второго — что-то пойдет не так, все равно восстанавливает текст в буфере обмена.Как пользоваться. После запуска будет иконка в трее. Клик по иконке развернет окно настроек: 3156e9982dd529894492fb9626a1ac6d.pngВ нем слева хоткеи на все функции. На скриншоте первый хоткей — это 'Shift + ' На самом деле там должен быть Pause|Break, но дефолтный виндовый контрол почему-то не оторбражает его. Зеленые галочки означают что хоткей был успешно установлен. Справа опции для окна вертикального выравнивания. В общем интуитивно понятный интерфейс ^_^.Основной юзкейс — выделяем кусок текста, жмем хоткей. Конвертирование будет происходить сразу, а вот для выравнивания кода будет запущен редактор: 63f2eebe9c41010242c5a9aa5914544b.pngВ нем в правой части на каждой строке пишем подстроки, по которым будем выравниваться. Когда все написали — жмем Ctrl+Enter и редактирование будет завершено (либо Esc для отмены редактирования).

Что же дальше. Нужно доработать мануалы и описание на sourceforge. Добавить галку автозагрузки. Хотелось бы добавить звук при конвертиорвании текста (как у пунто).Проект открыт, лицензия будет GNU.Теперь вы знаете как я провел вчерашнее воскресенье.

Soruceforge TNice

© Habrahabr.ru