Как сгенерировать скелет класса из заданного файла определения класса C++ (заголовка) в Vim?

Как сгенерировать скелет класса из заданного файла определения класса C++ (заголовка) в Vim?

Существуют ли какие-либо плагины/фрагменты, которые могут генерировать скелет класса C++ из заданного заголовочного файла для Vim? (Я пробовал ccimpl, но, похоже, там не так много информации о его реализации).

решение1

Есть

  • Протодефкоторый проанализирует весь файл (malgca дал ссылку на vim.sf, где его найти),

  • lh-cpp, но на этот раз вам придется выбирать каждую функцию и вводить ее :GOTOIMPLстолько раз, сколько потребуется ( :MOVETOIMPLможно переместить встроенное определение функции из файла заголовка в файл .cpp). Примечания: это также позволяет перейти к определению функции, и, увы, я пока не поддерживаю шаблонные функции и классы (но разве это проблема, ведь их определения должны быть включены?).

    Редактировать 2020: Спецификации шаблонов теперь поддерживаются, вветвь развития, что требуетеще один плагин также находится в стадии разработкив это время.

  • заголовок-расширитель, который пока не обернут в плагин vim. Он должен дать лучшие результаты, поскольку основан на clang, а не на ручном декодировании сигнатуры функции C++ в скриптовом языке (viml, python, ...) -- вотстатьякоторый описывает, как это работает (на французском).

решение2

http://www.vim.org/scripts/script.php?script_id=213

или

http://www.vim.org/scripts/script.php?script_id=2624

Может дать вам то, что вы ищете. Если это не получится, вы можете просто определить свои собственные шаблоны для простых классов C++ (и других структур), создав файл или cpp.tpl, cpp.patterns.tplа затем поместив их в свою afterпапку и автоматически запуская их при загрузке файла cpp.

Связанный контент