Снегопат https://snegopat.ru/forum/ |
|
Кодогенераторы https://snegopat.ru/forum/viewtopic.php?f=3&t=89 |
Страница 5 из 7 |
Автор: | orefkov [ 05 май 2014, 13:28 ] |
Заголовок сообщения: | Re: Кодогенераторы |
Это еще сто лет назад в семерке делалось, в intellisence Надо и здесь добавить. |
Автор: | kuntashov [ 05 май 2014, 13:31 ] |
Заголовок сообщения: | Re: Кодогенераторы |
Так и было в опенконфе сделано, у меня сейчас есть уже набросок скрипта, который определяет тип переменных по префиксу переменной и выводит соответствующий список подсказок после точки, но список не родной - пока Александр не сделал возможности работать со списком и как-то его перехватывать. Т.е. для переменной тзДанные он определяет по наличию префикса "тз", что это таблица значений и т.п. Список префиксов редактируемый. Вообще настройка это пары "регулярное выражение" => "ИмяТипаданнных", т.е. можно настроить так, чтобы переменные с именами вроде СтруктураПараметров идентифицировались как Структуры, ТабДокПечать - как табличные документы и т.п. По описанному же вами принципу планировал добавить и вторую эвристику для определения типа из комментариев. Причешу на ближайших выходных код и выложу в общий доступ. |
Автор: | kuntashov [ 05 май 2014, 13:32 ] |
Заголовок сообщения: | Re: Кодогенераторы |
Саш, а возможность перехватывать список подсказок, или что еще лучше было бы - модифицировать его перед показом, появилась? Или нет пока? |
Автор: | orefkov [ 05 май 2014, 13:35 ] |
Заголовок сообщения: | Re: Кодогенераторы |
Скоро будет. |
Автор: | kuntashov [ 05 май 2014, 13:43 ] |
Заголовок сообщения: | Re: Кодогенераторы |
Вот как я кстати Ну значит постараюсь причесать код и закоммичу в паблик, а там думаю ребята быстро подхватят и помогут до ума довести ) Я сначала инлеллисенс хотел портировать, но оказалось, что там существенная часть кода отвечает за вычисление типов в выражении, а в Снегопате ты отличное API для работы с типами реализовал и эта часть существенно упрощается, поэтому решил переписать с нуля, дополнительно логически разделив часть кода, отвечающего за определение типа самой левой части выражения (исходной переменной) в отдельные эвристики (две написал выше), и часть, которая вычислением типа остальной части выражения занимается (учитывая все "точки" в выражении). Благодаря этому можно будет управлять приоритетами (определять по префиксу или по комментарию с описанием типа например) или вообще отключать в настройках какие-то способы определения типа (например, отключить проверку типов по комментариям, если предпочитают использовать префиксы). |
Автор: | artbear [ 05 май 2014, 13:57 ] |
Заголовок сообщения: | Re: Кодогенераторы |
Саши , ждем решения от обоих. |
Автор: | Magister [ 05 май 2014, 18:22 ] |
Заголовок сообщения: | Re: Кодогенераторы |
orefkov писал(а): Скоро будет. Я очень надеюсь, что можно будет не просто изменить состав списка, а и получить его содержание, а сам показ отменить. Чтобы потом, например, показать свой список вместо стандартного. Также напоминаю, что очень жду возможности отмены стандартной обработки шаблонов, добавленных Снегопатом - это которые Процедура/КонецПроцедуры и прочие. |
Автор: | artbear [ 05 май 2014, 19:23 ] |
Заголовок сообщения: | Re: Кодогенераторы |
Magister писал(а): Я очень надеюсь, что можно будет не просто изменить состав списка, а и получить его содержание, а сам показ отменить. Чтобы потом, например, показать свой список вместо стандартного. Также напоминаю, что очень жду возможности отмены стандартной обработки шаблонов, добавленных Снегопатом - это которые Процедура/КонецПроцедуры и прочие. +1 по обоим пунктам |
Автор: | advali [ 06 май 2014, 09:26 ] |
Заголовок сообщения: | Re: Кодогенераторы |
Не знаю, вроде многие используют для этого что-то вроде такого: Если 1=0 Тогда НоменклатураВход = Справочники.Номенклатура.СоздатьЭлемент(); КонецЕсли; Просто надо подумать, как такие вещи удалять автоматом и добавлять (или просто комментарить раскомментарить) |
Автор: | sosnae [ 06 май 2014, 10:47 ] |
Заголовок сообщения: | Re: Кодогенераторы |
Вроде правильней так. #Если _ Тогда #КонецЕсли; не будет в принципе компилироваться. |
Страница 5 из 7 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |