gifts2017

Текстовые экспандеры - в помощь программисту 1С

Опубликовал Владислав Томашевич (tomvlad) в раздел Программирование - Инструментарий

Каждый человек старается по возможности облегчить себе труд.  Программисты не исключение. Каждый день мы сталкиваемся с необходимостью писать однотипные фрагменты программного кода.  Для автоматизации этого процесса система 1С:Предприятие позволяет использовать шаблоны текста (как стандартные, так и созданные пользователем). Казалось бы, что еще нужно разработчику?  Однако, в некоторых случаях, стандартных средств разработки все-таки бывает недостаточно. Например, разрабатывая правила обмена в конфигурации 1С:Конвертация данных, приходится писать довольно большие тексты, не имея при этом возможности воспользоваться ни автоподстановкой, ни шаблонами. Либо, приходя к очередному клиенту, Вы обнаруживаете, что нужно написать, допустим, самую обычную печатную форму, которую Вы писали тысячу раз, но процесс ее создания может занять продолжительное время. Как раз в этом случае и могут помочь программы для вставки часто используемых выражений – текстовые экспандеры.

Изучив наиболее популярные на сегодня программы такого рода в качестве рабочего инструмента программиста, выбор в итоге остановился на трех вариантах - Punto Switcher,  Type Pilot и PhraseExpress.

 

Punto Switcher


  • Разработчик: «Яндекс»
  • Размер дистрибутива: 3,4 Мб
  • Распространение: бесплатно
  • Русский интерфейс: есть
  • Экспорт / импорт шаблонов: нет

Эта программа предназначена для упрощения ввода текста. Ее основная функция - автоматически переключать раскладку клавиатуры, исправляя текст, если он набран неправильными символами. Так, например, если на русской раскладке ввести «ещьщккщц», Punto Switcher исправит его на правильное «tomorrow». Но это - лишь одна из функций утилиты.

Другая особенность данной программы - наличие функции автоматической замены текста, которая работает примерно так же, как и аналогичная опция в MS Word, однако позволяет выполнять автозамену в любых приложениях Windows.

Для более быстрого ввода можно создавать различные понятные комбинации символов, которые впоследствии, при наборе, будут превращены программой в более длинные фразы. Для составления списка автозамены нужно щелкнуть по значку Punto Switcher в системном трее правой кнопкой мыши и выбрать команду «Настройки», после чего перейти к разделу «Автозамена».

Программу можно настроить на автоматическое преобразование введенных символов в заданный фрагмент текста при нажатии пробела, клавиш Enter или Tab. Кроме этого, быстро воспользоваться автозаменой можно, щелкнув по значку программы в трее левой кнопкой мыши. Punto Switcher показывает в меню все текстовые фрагменты, для которых задана автозамена. Чтобы вставить нужный в место, где установлен курсор, достаточно щелкнуть по тексту в меню.

Несмотря на то, что текстовый «экспандер» Punto Switcher достаточно удобен, он имеет свои недостатки. Главная «ложка дегтя» заключается в том, что программа не рассчитана на работу с большой базой данных пользовательских сокращений. По мере того, как объем словаря с автозаменами, составленного пользователем, растет, скорость, а также стабильность работы автоматического переключателя клавиатуры серьезно падает.

 

Type Pilot


  • Разработчик: Two Pilots
  • Размер дистрибутива: 429 Кб
  • Распространение: условно-бесплатная (300 руб.)
  • Русский интерфейс: есть
  • Экспорт / импорт шаблонов: есть

Type Pilot - программа для автозамены отдельных слов на целые выражения. Она способна облегчить труд тех людей, которые часто и подолгу занимаются набором текстовой информации. Основная функция программы известна пользователям как опция "автотекст". Type Pilot напишет однотипные фразы за вас. Просто наберите ключевое слово в письме, и программа автоматически заменит его необходимой фразой или параграфом.

Очень удобно реализована возможность ввода параметров в тексты шаблона. После ввода ключевого слова, открывается окно со списком полей, в которые необходимо ввести все параметры, определенные в шаблоне. После нажатия кнопки «ОК», программа напишет код за Вас.

 

PhraseExpress


  • Разработчик: Bartels Media
  • Размер дистрибутива: 1,25 Мб
  • Распространение: бесплатно (для некоммерческого использования)
  • Русский интерфейс: русификатор
  • Экспорт / импорт шаблонов: есть
  • Если Вам не удается скачать русификатор по ссылке, то его же можно найти и на сайте www.infostart.ru.

Эта программа - один из лучших инструментов для упрощения текстового набора, бесплатна для некоммерческого использования.

Утилита очень просто и удобно создает список автозамены. Достаточно выделить текст, который предполагается сделать шаблоном, а затем щелкнуть правой кнопкой мыши по значку программы и выбрать «Create new phrase» - программа выдаст окно для настройки автоматического набора этого сочетания. Причем сам текст в этом окне уже набран, поэтому пользователю остается лишь определить правило вставки - автоматически, после введения некоторого набора символов или с помощью сочетания клавиш.

В некоторых случаях возникает необходимость ввода изменяемого текста. Так, например, начало письма может содержать шаблонное обращение, в котором упоминается имя. Утилита может создавать динамический текст, например, автоматически определять, как правильно обращаться «Добрый день» или «Добрый вечер», в зависимости от времени суток. Также PhraseExpress может использовать случайный фрагмент текста, эмулировать последовательное нажатие клавиш и даже управлять курсором мыши.

PhraseExpress интегрируется в контекстное меню Windows, благодаря чему можно просто и быстро назначать команды для запуска любых файлов.

В отличие от Type Pilot, программа не позволяет использовать одно окно для всех параметров выбранного шаблона. Будет открыто столько диалоговых окон, сколько и параметров. Однако, это единственная программа, которая позволяет использовать выпадающие списки для выбора шаблона текста.

Для продвинутых пользователей есть возможность включить режим эксперта. В этом режиме, помимо горячих клавиш и текста автозамены, можно задать префикс и постфикс текста (довольно удобно для сложных текстов).

Несмотря на английский интерфейс, освоить программу довольно легко, все интуитивно понятно, а наличие версии Portable, делает ее незаменимым помощником внедренца.

Благодаря тому, что горячие клавиши можно назначать на группу, есть возможность быстро открыть список шаблонов, быстро выбрать нужный и вставить.

 

Если щелкнуть правой кнопкой по ярлыку приложения, а затем выбрать в меню пункт «Open/Run with PhraseExpress», на экране появится окно, в котором нужно будет указать сочетание горячих клавиш или набор символов для запуска выбранной программы.

Вывод: лучшим текстовым экспандером по результатам обзора можно считать PhraseExpress. Наличие выпадающих списков автозамены и широкие возможности настройки оставляют далеко позади всех конкурентов. Если с английским языком у Вас сложности - лучше обратиться к программе Type Pilot. В ней реализована более удобная работа с параметрами шаблонов, а простота настройки позволит освоиться в ней уже через несколько минут.

Образцы шаблонов, представленные в публикации для PhraseExpress и Type Pilot можно скачать здесь.

 

Скачать файлы

Наименование Файл Версия Размер
Шаблоны для PhraseExpress 315
.pxp 62,34Kb
27.03.12
315
.pxp 62,34Kb Скачать
Шаблоны для Type Pilot 57
.phr 108,22Kb
27.03.12
57
.phr 108,22Kb Скачать
Русификатор для PhraseExpress 32
.dll 373,00Kb
27.03.12
32
.dll 373,00Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

0. Владислав Томашевич (tomvlad) 27.07.11 12:38
Каждый человек старается по возможности облегчить себе труд. Программисты не исключение. Каждый день мы сталкиваемся с необходимостью писать однотипные фрагменты программного кода. Для автоматизации этого процесса система 1С:Предприятие позволяет использовать шаблоны текста (как стандартные, так и созданные пользователем). Казалось бы, что еще нужно разработчику? Однако, в некоторых случаях, стандартных средств разработки все-таки бывает недостаточно. Например, разрабатывая правила обмена в конфигурации 1С:Конвертация данных, приходится писать довольно большие тексты, не имея при этом возможности воспользоваться ни автоподстановкой, ни шаблонами. Либо, приходя к очередному клиенту, Вы обнаруживаете, что нужно написать, допустим, самую обычную печатную форму, которую Вы писали тысячу раз, но процесс ее создания может занять продолжительное время. Как раз в этом случае и могут помочь программы для вставки часто используемых выражений – текстовые экспандеры.

Перейти к публикации

1. Валерий Гайдабура (director04) 27.07.11 12:38
2. Артур Аюханов (artbear) 27.07.11 15:51
ПолуОФФ. Для КД, кстати, уже довольно давно сделана контекстная подсказка на базе подсказки от tormozit.
Лежит на этом сайте.
3. Владислав Томашевич (tomvlad) 27.07.11 15:58
(2) Но не все же рискнут встраивать стороннюю подсистему в рабочую базу. Речь в публикации все же идет об универсальных шаблонах, которые можно применять где угодно - от текстового редактора до тонкого клиента 1С:Предприятие 8.2.
4. Артур Аюханов (artbear) 27.07.11 16:32
(0) 1. Для удобства использования статьи вставь линки на сайты программ в описание программ, а не только в верхний абзац.
2. PhraseExpress работает только по щелчку на кнопке программы? или можно выбрать какой-то общий хоткей на обработку выделенного слова в любой другой программе?
5. Владислав Томашевич (tomvlad) 27.07.11 16:53
(4) 1. Ссылки добавил
2. Горячие клавиши можно задавать и на отдельные шаблоны и на группы шаблонов. Для текста можно настроить метод вставки.

У меня, например так:
6. Артур Аюханов (artbear) 27.07.11 18:19
(5) Эти программы при одновременной установке не конфликтуют случайно? например, связка Пунто + PhraseExpress ?
Пунто нужен 100% для переключения раскладки.
7. Владислав Томашевич (tomvlad) 27.07.11 19:29
(6) У меня стоят все три, конфликтов пока нет.
8. Леонид Стасюков (stilet) 27.07.11 20:31
У меня PhraseExpress popup не открывает.. Не могу понять где настроить..
9. Владислав Томашевич (tomvlad) 27.07.11 21:21
10. Александр Медведев (anig99) 27.07.11 21:36
Хотя можно было бы подзаголовок "Как облегчить труд "негров"
11. Александр Рытов (Арчибальд) 28.07.11 09:12
12. Владислав Томашевич (tomvlad) 28.07.11 09:56
(11) Плюс от Арчибальда особенно ценен :)
13. Сергей Лунев (luns) 29.07.11 11:34
в конфигураторе же не работает ))
14. Владислав Томашевич (tomvlad) 29.07.11 11:37
(13) Все три программы работают при вводе текста в любой программе. Естественно, это не контекстная подсказка.
15. Артур Аюханов (artbear) 29.07.11 11:46
(14) А есть возможность указания работы в определенной программе или окне?
Например, мне нужна работа PhraseExpress в 1С, но не нужна в других программах, например, в Word и т.п.
Особенно получается прикольно работать в терминале в отдельном сеансе :)
16. Владислав Томашевич (tomvlad) 29.07.11 11:56
(15) Во всех трех программах можно настроить исключения:

PhraseExpress: Tools - Text Prediction - Advansed - Make text suggestions in following applications only (Do not make text suggestions in following applications)
Type Pilot: Параметры - Черный список
Pinto Switcher: Настройки - Программы исключения
17. Сергей Лунев (luns) 29.07.11 12:11
(14) автозамена то понятно.
18. Vadro (srvrv) 05.08.11 12:42
А можно как настроить PhraseExpress, чтоб он заменял

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//Вставить содержимое обработчика
КонецПроцедуры

на
//Процедура - обработчик события "ПриСозданииНаСервере" формы
//
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//Вставить содержимое обработчика
КонецПроцедуры
19. Артур Аюханов (artbear) 30.08.11 10:28
(0) Каким хоткеем пользуешься для вызова PhraseExpert ?
Интересно с точки зрения удобства использования.
20. Владислав Томашевич (tomvlad) 09.09.11 08:57
(19) В данный момент на группу "Программирование в 1С" назначена комбинация Alt+Пробел.
21. Василий Антонов (khaoos) 18.09.11 09:39
Phrase Express наиболее интересной показалась. Буду осваивать. Спасибо за экскурс и отдельное за шаблоны
22. Артур Асатрян (Tur_gad) 21.09.11 14:10
Замечательная разработка, мне пригодилась СПС)!!!
23. Евгений (chev) 12.10.11 15:57
Спасибо за идею. Обязательно попробую. Однозначно +(плюс).
24. Владимир Сумин (sumv1) 17.11.11 10:13
Идея хорошая, но только если работаешь исключительно в модулях 1С. Иначе при наборе текста в любых других редакторах - всплывающие не по делу шаблоны надоедают
25. Анатолий Ситников (acsent) 18.01.12 22:33
проще и полезнее осилить 10 пальцевый метод
26. Владислав Томашевич (tomvlad) 19.01.12 08:51
(25) Конечно проще, если наизусть помнить какую-нибудь часто используемую процедуру или функцию строк на 200.
27. Анатолий Ситников (acsent) 19.01.12 11:47
может какую функцию строк на 200 и стоит шаблонировать (хотя есть ли такие функции), но сообщить или конецесли руками не набрать ....
28. Владислав Томашевич (tomvlad) 19.01.12 12:11
(27) Вот например, я иногда пользуюсь блоком процедур:

///////////////////////////////////////////////////////////////////////////////
// УНИВЕРСАЛЬНЫЕ ФУНКЦИИ РАБОТЫ С ФЛАЖКАМИ

Процедура УстановкаФлажков(ТекущаяСтрока,Значение)

    Для каждого Стр Из ТекущаяСтрока.Строки Цикл
       Стр.Пометка = Значение;
       УстановкаФлажков(Стр, Стр.Пометка);
    КонецЦикла;

КонецПроцедуры // УстановкаФлажков

Функция УстановленоДляВсех(Строка)
	
	Для каждого Стр Из Строка.Родитель.Строки Цикл
		
		Если Стр.Пометка <> Строка.Пометка Тогда
			Возврат Ложь;
		КонецЕсли;
	КонецЦикла;
	
	Возврат Истина;
	
КонецФункции // УстановленоДляВсех

Процедура УстановитьПометкуУРодителя(ТекущаяСтрока)
	
	Пока ТекущаяСтрока.Родитель <> Неопределено Цикл
		ТекущаяСтрока.Родитель.Пометка = ?(УстановленоДляВсех(ТекущаяСтрока), ТекущаяСтрока.Пометка, 2);
		ТекущаяСтрока = ТекущаяСтрока.Родитель;
	КонецЦикла;  
	
КонецПроцедуры // УстановитьПометкуУРодителя

Процедура ИзменитьПометкуУПодчиненных(Узел, Пометка)
	
	Узел.Пометка = Пометка;   	
	
	Для каждого СтрокаДерева ИЗ Узел.Строки Цикл
		ИзменитьПометкуУПодчиненных(СтрокаДерева, Пометка);
	КонецЦикла;	
	
КонецПроцедуры // ИзменитьПометкуУПодчиненных 
...Показать Скрыть


Каждый раз вспоминать или искать обработки, где они были применены - потеря времени. А время - деньги.
SANILLA; Myskyl; +2 Ответить 3
29. Анатолий Ситников (acsent) 19.01.12 12:25
и ты это делаешь не через копипэйст, а макрос вызываешь?
30. Вася Уткин (scorp_23) 23.03.12 16:06
Хорошая конечно вещь, но только если бы был список, в котором указывается для каких программ её использовать, было бы лучше. Крайне не удобно при использовании нескольких программ.
31. Алекс Ю (AlexO) 23.03.12 16:19
(28) tomvlad,
это вот самое ценное.
ибо в 1с нет никакой логики, все запоминать только ))
а уж как получить код - дело десятое..
я вообщде без всяких программ - в текстовых файлах храню.
Кстати, не думаете своими поделиться процедурами? )
32. Владислав Томашевич (tomvlad) 23.03.12 16:19
(30) scorp_23, и где же этого списка нет?

33. Владислав Томашевич (tomvlad) 23.03.12 16:38
(31) AlexO. Вообще-то в прикрепленных файлах есть примеры моих шаблонов. Правда они довольно старые.
35. Сергей Маслов (LexSeIch) 17.01.13 07:38
Мир этому дому!
Полезная статья. Из мелочей складывается процесс. А из экономии времени на мелочах - большая экономия времени. Единственного не восстанавливаемого ресурса.
36. Аркадий Кучер (Abadonna) 02.02.13 06:41
хм... Еще с 7.7 благополучно использую родные шаблоны от 1С.
Например, набрал Опер= , оно превратилось в страницу кода.
Как говорит один мой коллега: - зачем плодить лишние сущности?
37. Александр Лобачёв (Myskyl) 04.10.13 23:18
(28) tomvlad, Спасибо, обязательно теперь буду пользоваться.
38. Александр Лобачёв (SANILLA) 04.10.13 23:18
(28) tomvlad, а в управляемой приложении будет работать?
KRaKeNS; Myskyl; +2 Ответить
39. A R (StaticUnsafe) 13.11.14 09:53
Слова "экспандер" несуществует
41. Роман Уничкин (unichkin) 09.04.15 23:58
Огромнейшее спасибо за такую наводку, PhraseExpress просто мечта :)
42. Роман Уничкин (unichkin) 12.04.15 17:28
Не так все лучезарно :( Давно хотел программу, которая станет заменой шаблонам 1С (поскольку нужна порой подсказка в режиме предприятия, или на форумах). Phrase express не "дружит" с 1С в плане установки курсора, и также я не смог настроить вставку сниппета таким образом, чтобы корректно вставлялись отступы в текстовых редакторах (в 1С отступы рассчитываются автоматически, но это сбивает установку курсора).
Пример: настраиваю сниппет для простого условия.
Хочу после набора "Если" получить:



При сниппете, заданном как

Если {cursor} Тогда
<Табуляция>
КонецЕсли;

Получаю в 1С:



Получаю в блокноте:



И я понимаю в общем-то что происходит: 1С автоматически рассчитывает отступ, когда phrase express добавляет сниппет. Причем происходит это так:

1) Вставляется снипетт
2) Выполняется макрос
3) 1С рассчитывает отступ

Думаю, что 1С не стала -бы выполнять расчет отступов, если бы их корректно проставила PhraseExpress. Только макросов там куча, а толку мало: обработки событий - нет, понять что вставлен сниппет, и как-то его обработать тоже нельзя. В приложенных шаблонах эта проблема решается диалоговыми вставками, т.е. после набора "Если" выплывает диалог для вставки переменных (а-ля 1С), и как-бы курсор туда вставлять уже не надо.
Но мне больше по нраву первоначальный вариант :)
Для себя конструкцию "Если" задал сниппетом "Если {cursor} Тогда КонецЕсли;" (в одну строку), но как быть с (например) "Попытка / Исключение"?
С другой стороны, что я хотел "на халяву" :)
Просто обидно, что такие мощные решения не умеют делать таких элементарных вещей. Может я чего не доглядел - как настроить корректный перенос отступов? Все-таки программа ориентирована в т.ч. и на программистов, странно что разработчики это не продумали.
Прикрепленные файлы:
43. Роман Уничкин (unichkin) 12.04.15 17:48
+ Если на эту проблему глаза закрыть - все равно штука хорошая, редактор шаблонов + текстовый мультибуфер. Но вот такая "ложка дегтя" портит весь кайф, и мешает окончательно отказаться от шаблонов 1С.
44. skyman2 Сухов (skyman2) 14.09.15 13:06
С курсором - да затыка. Но
Если Тогда

КонецЕсли;{#ENTER}

Решает многие проблемы с неправильным форматированем
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа