VC ++注释,文档和IntelliSense

时间:2013-12-07 19:43:24

标签: c++ visual-c++ comments intellisense

在C#中,我评论了这样的方法:

    /// <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)中使用的解决方案是什么?

更新

我找到了this similar question,但是@ edtheprogrammerguy的回答有很好的参考,所以我会把questino留在这里。此外,SO不会让我删除我的问题。

更新第二次

许多C#XML注释(例如<summary>)开箱即用。如果///评论自动插入了必需的summaryparamreturns标记,那就太好了,但我想用它来实现它很容易新的代码段。

更新第三个

这是一个插入标题的代码段。它不扫描方法参数列表,但它是一个很好的开始。保存到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扩展,这使得创建这些扩展变得轻而易举。

2 个答案:

答案 0 :(得分:4)

关于通过键入///自动插入评论标签,我写了一个你可能觉得有用的扩展名 - CppTripleSlash

答案 1 :(得分:3)

用于从源文件生成文档。 /doc编译器选项将使其生成.xdc文件,该文件可以转换为.xml文档文件。关于Intellisense,VC ++并不像C#那样好。

参考文献:

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

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