Procedura dettagliata: Creare un frammento di codice in Visual Studio
I frammenti di codice sono parti di codice preautente pronte per l'inserimento nell'applicazione. È possibile aumentare la produttività e l'affidabilità usando frammenti di codice per ridurre il tempo dedicato alla digitazione di codice ripetitivo o alla ricerca di esempi.
È possibile creare frammenti di codice personalizzati e aggiungerli ai frammenti di codice già inclusi in Visual Studio. Questo articolo illustra come creare un frammento di codice in pochi passaggi. Si crea un file XML, si compilano gli elementi appropriati e si aggiunge il codice al file. Facoltativamente, è possibile usare parametri di sostituzione e riferimenti al progetto. Si importa quindi il frammento di codice nell'installazione di Visual Studio.
Creare un frammento di codice
Aprire Visual Studio e selezionare Continua senza codice nella schermata Start .
Nella barra dei menu selezionare File>nuovo file oppure premere CTRL+N.
Nella finestra di dialogo Nuovo file selezionare File XML e quindi selezionare Apri.
Incollare il modello di frammento di codice seguente nell'editor di codice.
<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title></Title> </Header> <Snippet> <Code Language=""> <![CDATA[]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>
Immettere il titolo Radice quadrata nell'elemento del frammento di codice
Title
.Nell'attributo Language dell'elemento
Code
compilare CSharp per un frammento di codice C# o VB per Visual Basic.Suggerimento
Per visualizzare tutti i valori del linguaggio disponibili, vedere Attributi nel riferimento allo schema dei frammenti di codice.
Aggiungere il codice di frammento seguente alla
CDATA
sezione all'interno dell'elementoCode
.Per C#:
<![CDATA[double root = Math.Sqrt(16);]]>
Per Visual Basic:
<![CDATA[Dim root = Math.Sqrt(16)]]>
Nota
Non è possibile specificare come formattare o rientro righe di codice nella
CDATA
sezione di un frammento di codice. Al momento dell'inserimento, il servizio di linguaggio formatta automaticamente il codice inserito.Salvare il frammento in qualsiasi punto come SquareRoot.snippet.
Importare il frammento di codice
Per importare il frammento di codice nell'installazione di Visual Studio, selezionare Strumenti>Gestione frammenti di codice o premere CTRL+K, B.
In Gestione frammenti di codice selezionare il pulsante Importa.
Passare al percorso del frammento di codice, selezionarlo e selezionare Apri.
Nella finestra di dialogo Importa frammento di codice selezionare la cartella Frammenti di codice personali nel riquadro destro. Seleziona Fine, quindi seleziona OK.
Il frammento viene copiato in uno dei percorsi seguenti, a seconda del linguaggio del codice:
%U edizione Standard RPROFILE%\Documents\Visual Studio 2022\Frammenti di codice\Visual C#\Frammenti di codice%U edizione Standard RPROFILE%\Documents\Visual Studio 2022\Frammenti di codice\Visual Basic\Frammenti di codice
%USERPROFILE%\Documenti\Visual Studio 2019\Frammenti di codice\Visual C#\Frammenti di codice%USERPROFILE%\Documenti\Visual Studio 2019\Frammenti di codice\Visual Basic\Frammenti di codice
Testare il frammento aprendo un progetto C# o Visual Basic. Con un file di codice aperto nell'editor, eseguire una delle azioni seguenti:
- Sulla barra dei menu di Visual Studio scegliere Modifica>frammento di codice intelliSense.>
- Fare clic con il pulsante destro del mouse e scegliere Snippet Insert Snippet (Inserisci frammento di frammento>di codice) dal menu di scelta rapida.
- Dalla tastiera premere CTRL+K, X.
Aprire Frammenti di codice personali e fare doppio clic sul frammento denominato Radice quadrata. Il frammento viene inserito nel file di codice.
Campi di descrizione e collegamento
Il campo descrizione fornisce altre informazioni sul frammento di codice visualizzato in Gestione frammenti di codice. Il collegamento è un tag che è possibile digitare per inserire il frammento di codice.
Per modificare il frammento di codice, aprire il file di frammento da uno dei percorsi seguenti, a seconda del linguaggio di codice:
- %U edizione Standard RPROFILE%\Documents\Visual Studio 2022\Frammenti di codice\Visual C#\Frammenti di codice/SquareRoot.snippet
- %U edizione Standard RPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet
- %U edizione Standard RPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
- %U edizione Standard RPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet
Suggerimento
Poiché si sta modificando il file nella directory in cui è stato inserito da Visual Studio, non è necessario reimportarlo in Visual Studio.
Aggiungere
Author
elementi ,Description
eShortcut
all'elementoHeader
e compilarli.Verificare che l'elemento
Header
sia simile all'esempio seguente e salvare il file.<Header> <Title>Square Root</Title> <Author>Myself</Author> <Description>Calculates the square root of 16.</Description> <Shortcut>sqrt</Shortcut> </Header>
Aprire Gestione frammenti di codice di Visual Studio Code e selezionare il frammento di codice. Nel riquadro destro si noti che i campi Descrizione, Autore e Collegamento sono ora popolati.
Per testare il collegamento, aprire il progetto usato in precedenza, digitare sqrt nell'editor e premere TAB una volta per Visual Basic o due volte per C#. Il frammento viene inserito.
Parametri sostitutivi
È possibile che l'utente sostituisca parti di un frammento di codice. ad esempio sostituire il nome di una variabile con uno nel progetto corrente.
È possibile specificare due tipi di sostituzioni, vale a dire valori letterali e oggetti.
Usare l'elemento Literal per identificare una sostituzione del codice interamente contenuta all'interno del frammento di codice che può essere personalizzato dopo l'inserimento nel codice. Ad esempio, una stringa o un valore numerico.
Usare l'elemento Object per identificare un elemento richiesto dal frammento di codice, ma probabilmente definito all'esterno del frammento di codice. Ad esempio, un'istanza dell'oggetto o un controllo .
È possibile usare un Literal
elemento nel file SquareRoot.snippet per consentire agli utenti di modificare facilmente il numero per calcolare la radice quadrata di .
Nel file SquareRoot.snippet modificare l'elemento
Snippet
nel modo seguente:<Snippet> <Code Language="CSharp"> <![CDATA[double root = Math.Sqrt($Number$);]]> </Code> <Declarations> <Literal> <ID>Number</ID> <ToolTip>Enter the number you want the square root of.</ToolTip> <Default>16</Default> </Literal> </Declarations> </Snippet>
Si noti che la sostituzione letterale ottiene un ID,
Number
. Si fa riferimento a tale ID nel frammento di codice racchiudendolo con$
caratteri, come indicato di seguito:<![CDATA[double root = Math.Sqrt($Number$);]]>
Salvare il file del frammento.
Aprire un progetto e inserire il frammento.
Viene inserito il frammento di codice e viene evidenziato il valore letterale modificabile per la sostituzione. Passare il puntatore sul parametro di sostituzione per visualizzare la descrizione comando relativa al valore.
Suggerimento
Se in un frammento di codice sono presenti più parametri sostituibili, è possibile premere TAB per passare da un parametro all'altro per modificare i valori.
Importare uno spazio dei nomi
È possibile usare un frammento di codice per aggiungere una direttiva using
(C#) o un'istruzione Imports
(Visual Basic) includendo l'elemento Imports. Per i progetti .NET Framework, è anche possibile aggiungere un riferimento al progetto usando l'elemento References.
Il codice XML seguente mostra un frammento di codice che usa il metodo File.Exists
nello System.IO
spazio dei nomi e quindi definisce l'elemento Imports per importare lo spazio dei System.IO
nomi.
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>File Exists</Title>
<Shortcut>exists</Shortcut>
</Header>
<Snippet>
<Code Language="CSharp">
<![CDATA[var exists = File.Exists("C:\\Temp\\Notes.txt");]]>
</Code>
<Imports>
<Import>
<Namespace>System.IO</Namespace>
</Import>
</Imports>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Contenuto correlato
- Per informazioni di riferimento sullo schema XML del frammento di codice di Visual Studio IntelliSense, vedere Informazioni di riferimento sullo schema dei frammenti di codice.
- Per creare frammenti di codice in Visual Studio Code, vedere Creare frammenti di codice personalizzati.