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

Приветствую. Поговорим о вертикальном выравнивании кода?
Итак, вдохновившись недавней статьей я понял как надо. Полностью автоматическое выравнивание + парсинг синтаксиса вещь конечно удобная, но нет. И у меня родилась идея. Мы просто даем программисту самому в каждом конкретном случае определить, по каким символам и в каких местах выравнивать код.
Работает это в любом редакторе и с любым текстом. Как-то так:

Сразу забрать приложение можно тут: sourceforge.net/projects/tnice/files/
(выделяем текст, жмем Ctrl+Shift+D, пишем символы выравнивания, жмем Ctrl+Enter)
А подробный мануал и принцип работы под катом.

Почему немного Punto?

У меня давно назревала мысль отказаться от поделки под называнием Punto Switcher. Он использует глобальные хуки (а это большая ответственность), я ему не доверяю, т.к. он сам лазеет проверять обновления, хотя галки не стоят. Неоднократно нарывался на ошибки, к которым приводил Punto. Поэтому самую важную функцию: конвертирование раскладки — я вынес в этот софт. Так же в него попала функция конвертирования капса + перевод текста в транслит (на всякий случай 😀 ). Ну и конечно же киллер-фича — выравнивание кода по вертикали.

Но как же без хуков?

В общем софт работает так. Когда случается хоткей софт делает следующее:
1. Бекапит текущий текст в буфере обмена
2. Очищает буфер обмена
3. Эмулирует нажатие Ctrl+C
4. Ждет появления в буфере обмена текста (постоянно проверяя его раз в 10мс, и так в течение одной секунды)
5. Как только текст появился — либо сразу конвертирует, либо запускает редактор
6. В случае успешного редактирования — ложит в буфер обмена новый текст
7. Эмулирует нажатие пользователем Ctrl+V
8. Ждет пол секунды и восстанавливает старый буфер обмена. Если на любом из этапов после второго — что-то пойдет не так, все равно восстанавливает текст в буфере обмена.

Как пользоваться.

После запуска будет иконка в трее. Клик по иконке развернет окно настроек:

В нем слева хоткеи на все функции. На скриншоте первый хоткей — это ‘Shift + ‘ На самом деле там должен быть Pause|Break, но дефолтный виндовый контрол почему-то не оторбражает его. Зеленые галочки означают что хоткей был успешно установлен. Справа опции для окна вертикального выравнивания. В общем интуитивно понятный интерфейс ^_^.

Основной юзкейс — выделяем кусок текста, жмем хоткей. Конвертирование будет происходить сразу, а вот для выравнивания кода будет запущен редактор:

В нем в правой части на каждой строке пишем подстроки, по которым будем выравниваться. Когда все написали — жмем Ctrl+Enter и редактирование будет завершено (либо Esc для отмены редактирования).

Что же дальше.

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

Теперь вы знаете как я провел вчерашнее воскресенье.

Soruceforge TNice

ссылка на оригинал статьи http://habrahabr.ru/post/229833/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *