2013-12-07 15 views
5

In C#, ho commentare metodi come questo:VC++ commenti, documentazione e 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; 
    } 

che dà molto bello finestra IntelliSense suggerimento:

enter image description here

cosa, se del caso, è l'equivalente in Visual C++ o (ancora meglio) una soluzione che potrebbe funzionare in altri IDE come XCode o Eclipse?

Aggiornamento

ho trovato this similar question, ma di @ edtheprogrammerguy risposta ha buone referenze quindi lascio il questino qui qui. Inoltre, SO non mi permetterà di cancellare la mia domanda.

Aggiornamento Seconda

Un sacco di commenti C# XML (<summary>, per esempio) il lavoro, fuori dalla scatola. Sarebbe bello se il commento /// inserisse automaticamente i tag richiesti summary, param e returns, ma immagino che sarebbe piuttosto facile da implementare con un nuovo frammento di codice.

Aggiornare il terzo

Ecco un frammento di codice che inserisce l'intestazione. Non esegue la scansione dell'elenco dei parametri del metodo, ma è un buon inizio. Salva su Documents\Visual Studio 2012\Code Snippets\Visual C++\My Code Snippets come qualsiasi cosa con un'estensione .snippet, riavvia VS e attiva digitando summ + TAB sopra un metodo.

<?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> 

Inoltre, vedere la molto bello Code Snippet Designer VS estensione che rende la creazione di questi un gioco da ragazzi.

risposta

4

Per quanto riguarda l'inserimento automatico tag di commento digitando ///, ho scritto un interno - CppTripleSlash che potreste trovare utile.