Снегопат
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/