2013-12-07 5 views
5

В C#, я комментирую методы, как это:VC++ Комментарии, документация и IntelliSense

/// <summary> 
    /// Does absolutely nothing 
    /// </summary> 
    /// <param name="a">First useless parameter</param> 
    /// <param name="b">Second useless parameter</param> 
    /// <returns>zero</returns> 
    public int Foo(int a, int b) 
    { 
     return 0; 
    } 

Что дает очень хорошее окно IntelliSense подсказка:

enter image description here

Что, если таковые имеются, является эквивалентом в Visual C++ или (еще лучше) решение, которое будет работать в других IDE, таких как XCode или Eclipse?

Update

Я нашел this similar question, но @ edtheprogrammerguy Ответим имеет хорошие ссылки, так что я оставлю questino здесь здесь. Кроме того, SO не позволит мне удалить мой вопрос.

Update Второй

Много C# XML комментарии (<summary>, например) работать из коробки. Было бы неплохо, если комментарий /// автоматически вставил нужные теги summary, param и returns, но я думаю, что это было бы довольно легко реализовать с помощью нового фрагмента кода.

Обновление третьего

Вот фрагмент кода, который вставляет заголовок. Он не проверяет список параметров метода, но это хороший старт. Сохраните в Documents\Visual Studio 2012\Code Snippets\Visual C++\My Code Snippets как что угодно с .snippet расширением, перезапустите VS и активируйте, набрав summ + TAB над методом.

<?xml version="1.0" encoding="utf-8"?> 
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 
    <CodeSnippet Format="1.0.0"> 
    <Header> 
     <SnippetTypes> 
     <SnippetType>Expansion</SnippetType> 
     </SnippetTypes> 
     <Title>SnippetFile1</Title> 
     <Author>dlively</Author> 
     <Description>Insert a summary/param/return header for a method</Description> 
     <HelpUrl> 
     </HelpUrl> 
     <Shortcut>summ</Shortcut> 
    </Header> 
    <Snippet> 
     <Declarations> 
     <Literal Editable="true"> 
      <ID>summary_text</ID> 
      <ToolTip>summary_text</ToolTip> 
      <Default>Insert description of method</Default> 
      <Function> 
      </Function> 
     </Literal> 
     <Literal Editable="true"> 
      <ID>returns_text</ID> 
      <ToolTip>returns_text</ToolTip> 
      <Default>Description of return value</Default> 
      <Function> 
      </Function> 
     </Literal> 
     <Literal Editable="true"> 
      <ID>parameter_name</ID> 
      <ToolTip>parameter_name</ToolTip> 
      <Default>Name of the parameter</Default> 
      <Function> 
      </Function> 
     </Literal> 
     <Literal Editable="true"> 
      <ID>parameter_description</ID> 
      <ToolTip>parameter_description</ToolTip> 
      <Default>Description</Default> 
      <Function> 
      </Function> 
     </Literal> 
     </Declarations> 
     <Code Language="cpp" Kind="method decl"><![CDATA[/// <summary> 
/// $summary_text$ 
/// </summary> 
/// <param name="$parameter_name$">$parameter_description$</param> 
/// <returns>$returns_text$</returns>]]></Code> 
    </Snippet> 
    </CodeSnippet> 
</CodeSnippets> 

Кроме того, увидеть очень хороший Code Snippet Designer VS расширение, которое позволяет создавать этот ветер.

ответ

3

Он предназначен для создания документации из исходных файлов. Опция компилятора /doc заставит ее сгенерировать файл .xdc, который может быть превращен в файл документации XML. VC++ не так хорош в отношении Intellisense как C#.

Ссылки:

http://msdn.microsoft.com/en-us/library/ms177227.aspx

http://msdn.microsoft.com/en-us/library/ms173501.aspx

4

Что касается автоматической вставки тегов комментариев, набрав ///, я написал расширение - CppTripleSlash, что вы могли бы оказаться полезными.

Смежные вопросы