Condividi tramite


Procedura dettagliata: Creare un frammento di codice in Visual Studio

È 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. I frammenti di codice sono parti di codice preautente pronte per l'inserimento nell'applicazione.

È 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

  1. Aprire Visual Studio e selezionare Continua senza codice nella schermata Start .

    Screenshot della finestra Start con l'opzione Continua senza codice selezionata.

  2. Nella barra dei menu selezionare File>nuovo file oppure premere CTRL+N.

  3. Nella finestra di dialogo Nuovo file selezionare File XML e quindi selezionare Apri.

    Screenshot della finestra di dialogo Nuovo file con l'opzione File XML selezionata.

  4. 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>
    
  5. Immettere il titolo Radice quadrata nell'elemento del frammento di codice Title .

  6. 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.

  7. Aggiungere il codice di frammento seguente alla CDATA sezione all'interno dell'elemento Code .

    Per C#:

        <![CDATA[double root = Math.Sqrt(16);]]>
    

    Per Visual Basic:

        <![CDATA[Dim root = Math.Sqrt(16)]]>
    

    Annotazioni

    Non è possibile specificare come formattare o rientro righe di codice nella CDATA sezione di un frammento di codice. Al momento dell'inserimento, il servizio linguistico formatta automaticamente il codice inserito.

  8. Salvare il frammento in qualsiasi punto come SquareRoot.snippet.

Importare il frammento di codice

  1. Per importare il frammento di codice nell'installazione di Visual Studio, selezionare Strumenti>Gestione frammenti di codice o premere CTRL+K, B.

  2. In Gestione frammenti di codice selezionare il pulsante Importa .

  3. Passare al percorso del frammento di codice, selezionarlo e selezionare Apri.

  4. 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 di codice viene copiato in una delle posizioni seguenti, a seconda del linguaggio di codice:

    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets
    • %USERPROFILE%\Documents\Visual Studio 2022\Frammenti di codice\Visual Basic\Frammenti di codice personali
    • %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets
    • %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual Basic\My Code Snippets
  5. 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 dicodice intelliSense>.
    • Fare clic con il pulsante destro del mouse e scegliere Snippet Insert Snippet (Inserisci frammento di frammento> dicodice) dal menu di scelta rapida.
    • Dalla tastiera premere CTRL+K, X.
  6. Aprire Frammenti di codice personali e fare doppio clic sul frammento denominato Radice quadrata. Il codice del frammento di codice 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.

  1. Per modificare il frammento di codice, aprire il file di frammento da uno dei percorsi seguenti, a seconda del linguaggio di codice:

    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\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.

  2. Aggiungere Authorelementi , Descriptione Shortcut all'elemento Header e compilarli.

  3. 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>
    
  4. 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.

    Screenshot che mostra una descrizione del frammento di codice in Gestione frammenti di codice.

  5. 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 codice del frammento di codice viene inserito.

Parametri di sostituzione

È possibile che l'utente sostituisca parti di un frammento di codice. Ad esempio, è possibile che l'utente sostituisca un nome di variabile con uno nel progetto corrente.

È possibile fornire due tipi di sostituzioni: 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 .

  1. 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$);]]>
    
  2. Salvare il file del frammento di codice.

  3. Aprire un progetto e inserire il frammento.

    Il frammento di codice viene inserito e il valore letterale modificabile viene evidenziato per la sostituzione. Passare il puntatore del mouse sul parametro di sostituzione per visualizzare la descrizione comando per il valore.

    Screenshot della descrizione comando del parametro di sostituzione del frammento di codice in Visual Studio.

    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 (C#) o Imports un'istruzione using (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>