стратегия автозаполнения скелетного кода - PullRequest
0 голосов
/ 14 марта 2011

Рассмотрим этот сценарий использования: я хочу автоматически завершить и предоставить каркас для конструкций кода, таких как операторы цикла и if else. Как я могу это сделать?

пользователь записывает эту строку в VBScript,

Функция добавить (a, b) и затем нажать клавишу ввода, программа должна автоматически добавить строку Завершить функцию после нее.

Также мне нужно обработать случай, когда есть вложенные операторы, как в случае операторов if и endif.

Любая помощь будет принята с благодарностью.

спасибо

1 Ответ

1 голос
/ 14 марта 2011

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

Теперь вы можете создать словарь с ключевыми словами в качестве ключей и именами функций (в виде строки) для выполнения с каждым ключевым словом.

В отдельном модуле создайте коллекцию связанных функцийк определенным ключевым словам, таким как генерация текста VbNewLine & "End Function".

Чтобы все было аккуратно, вы должны размещать регулярные выражения, ключевые слова и функции для выполнения с этими ключевыми словами в отдельных объектах, таких как словари или созданные пользователем классы.Не начинайте с Select Case, если вы хотите расширить возможности.

...