скрипт
Intellisence.vbs , макрос
Update1CppIntsтеперь умеет:
1) вычитывать файлы *.PRM по сетевому пути,
когда база подключена как
\\сервер\шара\путь\КаталогИБ\бла-бла\файлы.prm
Раньше ругался на корневой (и далее не работал):
"Ошибка открытия модуля \\сервер\шара\путь\КаталогИБ\DefCls.prm "
(исправлен метод "TClassModule()" в файле "SyntaxAnalysis.wsc")
2) к методам КОП-ов (помимо имен методов)
добавляет теперь еще и
параметры вызова, т.е.
вместо "МойМетод(f)"
подставляет "МойМетод(Парам1,знач Парам2=0, Парам3=0, и т.д.)"
т.е. полное определение методов.
- в файле "SyntaxAnalysis.wsc" добавлено свойство-коллекция "ParamsOfMethod"
- остальные правки в "Intellisence.vbs"
(AddCppMethods,Update1CppInts,новый Update1CppIntsThisClass)
TODO: научить Intellisence генерить хмл/тлс-файл для класса
и потом получать тлс-файл для телепата
После реализации этой задачи:
- фичу этого пункта отменить (не удобно удалять параметры по-умолчанию)
- вместо этого : устанавливать курсор на "междускобъё" (|)
3) в список стандартных методов КОП-ов
дополнительно добавлены методы (ранее не было) по работе с
- контроль обычных атрибутов (по количеству публичных атрибутов класса: ПриПолучении_/ПриЗаписи_ )
- методы для динамических атрибутов
- методы для сериализация экземпляров класса
- методы для универсальной загрузки в любой объект класса
(для этих целей в "Intellisence.vbs" завел отдельный метод "AddStandartKOPMethodsTo1CppInts")
в
Intellisence.vbs добавлен обработчик события
Configurator_OnFileSaved 4) при сохранении активного окна (CTRL+S или по иконке "Сохранить")
автоматически (после успешного сохранения конфигуратором)
а) если сохраненное окно - модуль КОП-класса (в составе МД или внешний)
генерит для этого класса INTS-файл (по стандартному пути для классов intellisens-а)
б) если сохраненное окно - файл определений классов (DefCls@MD|*.prm)
перечитывает "словарь" объявленных классов с которыми работает Intellisence
5) Добавлен контроль языка интерфейса и метаданных.
если 1С77 запускается как локализованная версия с параметром /L<язк>
то intellisence иногда глючит на локализованные слова (есть любители такого

)
- при инициализации скрипта проверяется командная строка
и если не 'rus' и не 'eng' - инициализации не происходит (+сообщение).
- исключение: когда локализованная версия запущена с метаданными,
в которых стоит признак "Язык=Английский" (запускается всегда)
В ОБЩЕМ СЛУЧАЕ:
Изменению подверглись 2 файла (исходные версии указаны в скобках):
\BIN\config\scripts\Intellisense\Intellisence.vbs ($Revision: 1.75)
\BIN\config\system\SyntaxAnalysis.wsc ($Revision: 1.24)Перереристрация WSC не требуется.
Файлы во вложении.
ЗЫ. Исходные версии файлов были взяты из "последней ночной сборки"
http://1c.alterplast.ru/files/ocs/ocs_last.dos.zipЗЫ.ЗЫ. Просьба к гуру. Если считаете это полезным:
пожалуйста, присвойте этим файлам новую версию (как там положено)
и вложите их в указанную "стандартную последнюю сборку"
(как сказано в
http://www.1cpp.ru/forum/YaBB.pl?num=1150707341)
Чтоб не потерялось.

Всем спасибо.
TODO (из файла Intellisence.vbs) КТО ХОЧЕТ ПОПРОБОВАТЬ:
1) скриптом генерить алс-файлы для классов 1С++,
в принципе trdm уже сделал класс в скрипте для генерации подобного файла,
теперь дело осталось за малым -
нужно просто слить методы и переменные класса в als-файлик.
2) еще можно расширить скриплет от ADirks по анализу хедеров и классов 1C++
на предмет получения комментов к методам и получения типов параметров метода.
(Оказывается ADirks уже правил скрипт Intellisence.vbs
для этих целей здесь:
http://www.1cpp.ru/forum/YaBB.pl?num=1376299540 но в официальную ночную сборку это почему-то не попало .....)
3)А еще можно генерить хмл/тлс-файл для класса и потом получать тлс-файл для телепата
4) А еще кто бы сделал генерацию хмл/тлс-файлов для телепата на базе любых алс-файлов, а?
5) постепенно сложность Intellisense.vbs возрастает, и становится все сложнее контролировать его функционал.
Хорошо бы добавить возможность тестирования этого скрипта