- PVSM.RU - https://www.pvsm.ru -

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

Приветствую. Поговорим о вертикальном выравнивании кода?
Итак, вдохновившись недавней статьей [1] я понял как надо. Полностью автоматическое выравнивание + парсинг синтаксиса вещь конечно удобная, но нет. И у меня родилась идея. Мы просто даем программисту самому в каждом конкретном случае определить, по каким символам и в каких местах выравнивать код.
Работает это в любом редакторе и с любым текстом. Как-то так:
Вертикальное выравнивание кода + немного Punto
Сразу забрать приложение можно тут: sourceforge.net/projects/tnice/files/ [2]
(выделяем текст, жмем Ctrl+Shift+D, пишем символы выравнивания, жмем Ctrl+Enter)
А подробный мануал и принцип работы под катом.

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

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

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

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

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

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

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

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

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

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

Soruceforge TNice [3]

Автор: MrShoor

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/delphi/64933

Ссылки в тексте:

[1] недавней статьей: http://habrahabr.ru/post/229465/

[2] sourceforge.net/projects/tnice/files/: https://sourceforge.net/projects/tnice/files/

[3] Soruceforge TNice: https://sourceforge.net/projects/tnice

[4] Источник: http://habrahabr.ru/post/229833/