Как создать простой шаблон заголовка комментария для всех новых классов в Visual C ++ 2010? - PullRequest
13 голосов
/ 24 февраля 2010

Это может быть дубликат, но я пока не нашел ничего, что бы отвечало на него. Моя компания приняла решение о том, что все файлы должны иметь шаблонный заголовок комментария, среди прочего, имя файла и дату авторского права. Я надеялся, что будет простой способ создать шаблон заголовка, который добавляется в начало каждого нового класса (файлы .cpp и .h), добавляемого в проект, с помощью пары переменных, которые заменяются в зависимости от даты, имя файла и т. д.

К сожалению, кажется, что это гораздо более сложная задача, чем кажется. Я рассмотрел Управление кодом с использованием модели кода Visual C ++ и Создание шаблона элемента вручную и, похоже, ни один из них не может выполнить то, что я хочу.

Извините, если это звучит как пост "делай мою работу для меня", но для меня это просто не стоит тратить так много времени. Если потребуется день, чтобы выяснить тонкости расширения Visual Studio, я могу просто вручную добавить и отредактировать заголовок для каждого нового файла, как это часто делается не так. Есть ли более простой метод, чем те, на которые я смотрел, или простой пример того, как использовать эти методы для моих целей?

Ответы [ 3 ]

4 голосов
/ 24 февраля 2010

Это может не продвинуть вас дальше, чем вы уже получили, но Саймон близок в том, что вы можете создавать шаблоны файлов C ++ так, как он предлагает, но путь к шаблонам C ++ - C: \ Program Файлы (x86) \ Microsoft Visual Studio 9.0 \ VC \ vcprojectitems (обратите внимание, что на 32-разрядной машине это будут просто Program Files).

Если вы отредактируете файл NewC ++ File.cpp , при следующем добавлении нового файла C ++ в проект будет использоваться ваш шаблон. В качестве альтернативы вы можете создать свои собственные файлы в этой папке, и они появятся в диалоговом окне Добавить новый элемент.

Это не решит вашу проблему с вставкой текущей даты в заголовок (при условии, что вы хотите, чтобы это было определено автоматически), но вы можете обновлять шаблон, который вы используете, раз в год, и это будет немного меньше работы по дому.

НТН

1 голос
/ 24 февраля 2010

То, что вы ищете, называется: Code Snippets

Я лично использую фрагменты, предоставленные в VAssistX, но это условно-бесплатное программное обеспечение, поэтому оно может быть не очень хорошим решением для вашей компании. Кстати, если вы разрабатываете приложение на Visual C ++ без VAssistX, вы тратите много времени;)

В Visual Studio также есть менеджер фрагментов кода, я никогда не использовал его, но нашел в Google некоторую документацию:

http://msdn.microsoft.com/en-us/library/d60kx75h(VS.80).aspx

и

http://blogs.microsoft.co.il/blogs/gilf/archive/2009/01/17/how-to-write-your-own-code-snippets.aspx

Надеюсь, это будет полезно.

0 голосов
/ 24 февраля 2010

Обновление: К сожалению, шаблоны C ++ не работают таким же образом.

Я оставил текст ниже как ссылку для любого, кто найдет это, но это работает только для C # / VB.


Вы определенно можете отредактировать шаблон класса для C # (мы сделали это по той же самой причине, что и вы - включить стандартный заголовок), я бы предположил, что вы можете сделать это и для C ++.

Проверьте эти два каталога:

"C: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ ItemTemplates \"
"C: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ ItemTemplatesCache \"

Где-то в каждом из этих каталогов будет папка с шаблоном класса. Для C # это в zip-файле здесь:

... \ ItemTemplates \ CSharp \ Code \ 1033 \ Class.zip

Извлеките zip, отредактируйте шаблон, включив в него заголовок, и повторно заархивируйте его. Затем вам также нужно будет поместить разархивированную копию в папку ItemTemplatesCache (по тому же пути - ... \ ItemTemplatesCache \ CSharp \ Code \ 1033 \ Class)

Подробнее здесь .

(Извините, я сейчас на своем ПК с Linux, поэтому не могу проверить, существуют ли эти пути для C ++. Если вы заставите его работать, опубликуйте правильные пути C ++ здесь, и я обновлю этот ответ ссылаться на них)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...