стратегия автодополнения скелетного кода

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

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

function add(a,b), а затем нажимает ввод, программа должна автоматически добавить строку end function после нее.

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

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

Благодарность


person redDragonzz    schedule 14.03.2011    source источник


Ответы (1)


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

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

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

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

person AutomatedChaos    schedule 14.03.2011