2010-05-07 12 views
12

Scrivo codice in C++ nativo (non C++/CLR). So che non esiste un supporto integrato per C++ per quanto riguarda le interfacce snippet manager e snipper picker, tuttavia ho trovato un'utilità chiamata "snippy" che presumibilmente può generare snippet C++. Ecco un C++ frammento che il programma ha generato:Supporto snippet C++ in studio visivo?

<?xml version="1.0" encoding="utf-8"?> 
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 
    <CodeSnippet Format="1.0.0"> 
    <Header> 
     <Title>MySnippet</Title> 
     <Shortcut>MySnippet</Shortcut> 
     <Description>Just a test snippet</Description> 
     <Author>Me</Author> 
     <SnippetTypes> 
     <SnippetType>Expansion</SnippetType> 
     </SnippetTypes> 
    </Header> 
    <Snippet> 
     <Declarations> 
     <Literal Editable="true"> 
      <ID>literal1</ID> 
      <ToolTip>just a placeholder</ToolTip> 
      <Default> 
      </Default> 
      <Function> 
      </Function> 
     </Literal> 
     </Declarations> 
     <Code Language="cpp"><![CDATA[cout << "$literal1$" << std::endl;]]></Code> 
    </Snippet> 
    </CodeSnippet> 
</CodeSnippets> 

Se non v'è il supporto in Visual C++, anche in una capacità limitata, per i frammenti C++, come faccio li aggiungo al mio ambiente, e quali sono i limiti? Tutto ciò di cui ho bisogno è il supporto per gli snippet di espansione di base che posso invocare digitando una scorciatoia e la scheda che colpisce, e che supporta i letterali di base che posso sfogliare (in pratica, se supporta lo snippet sopra, sono bravo). Se questo non può essere fatto, ci sono dei componenti aggiuntivi gratuiti o estensioni per lo studio visivo che supportano gli snippet per C++? Sto usando entrambi gli studi visivi 2010 e 2008, ma per la maggior parte nel 2010 scrivo per la maggior parte del codice.

+0

Dupe: http://stackoverflow.com/questions/212634/best-application-for-storing-code-snippets – Konrad

+3

Non un dupe. Questa domanda riguarda specificamente la funzione Snippet di Visual Studio, non i frammenti in generale. –

+0

Risposta breve: no, qualunque cosa. VS2010 e versioni precedenti non riconoscono i frammenti di codice C++ e non caricheranno ANY snippet in un file C++. Ho provato a creare uno snippet in C++ con il fantastico piccolo strumento [Snippy] (https://snippy.codeplex.com/) che crea XML in formato snippet. Sfortunatamente, VS2010 ti permetterà solo di usare frammenti che corrispondono alla lingua del file sorgente che stai editando, quindi i frammenti C++, se validi, vengono ignorati in VS2010. È davvero strano che Microsoft non abbia incluso un adeguato supporto C++ in Visual Studio pre-2012 - quasi come se stessero desiderando la lingua! – Pete855217

risposta

5

Visual Assist ha un snippets feature che non è esattamente la stessa della funzione Snippet IDE. Ha i suoi pro e contro, ma funziona in C++.

4

Si desidera scaricare e installare il Microsoft Visual Studio 2005 IDE Enhancements, che fornisce funzionalità di snippet di codice per C++. Il supporto per snippet per C++ non è così solido come lo è per le altre lingue, nella mia esperienza.

La fonte è here.

+0

Uso solo VS 2008 e 2010 e non ho più bisogno del supporto per il 2008, ma sarebbe bello. Mi chiedo solo perché, se è stato implementato in uno strumento aggiuntivo per VS 2005, non è già stato integrato nel core studio visivo. –

+0

@Jeremy, la tua ipotesi è buona come la mia. Non ho ancora provato le nuove funzionalità del 2010 ma lo sviluppo di Visual C++ sembra essere piuttosto lento. –

+0

Credo che qualcuno del team di Visual Studio abbia bloggato su come è scaduto il tempo per aggiungerlo, in modo da averlo fornito come componente aggiuntivo poiché non è stato testato. – daveangel

1

Sto utilizzando macro per la funzionalità codenippet. E 'solo un compromesso, ma meglio di niente

ad esempio premendo ++ n -> aggiunge riga di commento // mionome [DATA]:

6

Visual Studio 2012 include ora la funzionalità frammento per C++.

5

Un sacco di plugin disponibili per VS2010. Suggerisco snip2code, nuovo, gratuito e piuttosto utile. Ho bisogno di un modo per gestire rapidamente i frammenti di codice e di cercare sul Web ... fa il lavoro molto bene.

+0

Non ho capito come usarlo per tre minuti e l'ho chiuso. Potresti forse illuminarmi su questi argomenti? –

+0

Puoi cercare snippet pubblicati da qualcun altro o aggiungere i tuoi frammenti, in modo che siano salvati nel tuo bucket e possano essere trovati ovunque usando il plug-in VS e/o il sito web –

Problemi correlati