Добавление комментариев в начало файла

Меня всегда интересовало, как программисты добавляют в свои проекты комментарии к каждому файлу. Ну вы видели наверно в начале каждого файла метровые комменты о лицензии, авторе, дате, программисте и т.д. Копаясь в Студии я это не нашел (или плохо искал). Конечно же всякие Вижуал Ассисты и прочие эддины помогают это делать без шума и пыли. Ну а что если пошуметь? :) На самом деле, что делать если нет под рукой такой утилиты, которая имеет кнопочку "Сделай мне зашибись!"?
Одно из возможных решений, часто попадающихся на глаза при поиске это написание скрипта, который будет парсить директорию проекта и добавлять в начало каждого, найденного по заданному критерию, файла кусок текста (комментарий). (Критерием может служить расширение файла.) Скрипты в основном написаны на Python, Perl, Power Shell и других скриптовых языках программирования. Внимание вопрос. А не западло каждый раз запускать скрипт, программу, указывать путь к дирректорий, да еще делать это периодически? Мне, как лентаю, такой подход не подходит.
Вобщем порывшись в нете, я набрел на кое-какие посты на форумах, касательно этой темы и в результате обрел для себя скромное удовлетворение: я написал макрос, который интегрируется в Вижуал Студию, и добавляет в начало каждого файла заданный формат комментариев. Выглядит он так:


Результат получается такой


Вроде неплохо. Конечно можно под себя подстроить как угодно, к тому же код до тупости прост. Но это уже дело трудящихся.

Для интеграции в Студию, если не догадались надо сделать следующее
1. Пошли в “Tools”
2. Далее в “Customize…”
3. Выбрали “Commands”
4. Выбрали “Macros” категорию
5. Выбрали “MyMacros.AddCommentHeader.AddCommentHeader” (ну или как там называется макрос)
6. Перетянули на тулбар

Все. Конечно, хотелось бы чтоб это срабатывало при создании нового файла, а не вручную при клике на кнопку. Покопаюсь дальше в доках, посмотрю, может получится.

2 comments:

Atria said...

Да, но все равно хорошо если в начале класса еще описан кратно его функционад, а это тебе никакая кнопочка не сделает )))

Palmer Eldritch said...

Ну это уже на совести программиста.