Condividi tramite


Riferimento dello schema dei frammenti di codice

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.

Questo articolo fornisce un riferimento allo schema XML del frammento di codice di Visual Studio IntelliSense. È possibile usare lo schema per creare frammenti di codice personalizzati e aggiungerli ai frammenti di codice già inclusi in Visual Studio.

Elemento Assembly

Specifica il nome dell'assembly a cui fa riferimento il frammento di codice.

Il valore di testo dell'elemento Assembly è il nome descrittivo dell'assembly, ad esempio System.dll o il nome sicuro, come System,Version=1.0.0.1,Culture=neutral,PublicKeyToken=9b35aa323c18d4fb1.

<Assembly>
    AssemblyName
</Assembly>
Elemento padre Descrizione
Elemento Reference Contiene informazioni sui riferimenti di assembly richiesti dal frammento di codice.

È necessario specificare un valore di testo. Tale testo specifica l'assembly a cui fa riferimento il frammento di codice.

Elemento Author

Specifica il nome dell'autore del frammento di codice. In Gestione frammenti di codice viene visualizzato il nome archiviato nell'elemento Author del frammento di codice.

<Author>
   Code Snippet Author
</Author>
Elemento padre Descrizione
Elemento Header Contiene informazioni generali sul frammento di codice.

È necessario specificare un valore di testo. Questo testo specifica l'autore del frammento di codice.

Elemento coda

Fornisce un contenitore per i blocchi di codice.

Parole chiave

Sono disponibili due parole riservate da usare nel testo dell'elemento Code: $end$ e $selected$. $end$ contrassegna il punto in cui posizionare il cursore dopo l'inserimento del frammento di codice. $selected$ rappresenta il testo del documento selezionato da inserire nel frammento di codice quando viene richiamato il frammento. Ad esempio, se si avesse:

$selected$ is a great color.

Se la parola Blue viene selezionata quando l'utente richiama il frammento di codice, il risultato è:

Blue is a great color.

Non è possibile usare $end$ o $selected$ più di una volta in un frammento di codice. Se lo si fa, viene riconosciuta solo la seconda istanza. Se si avesse:

$selected$ is a great color. I love $selected$.

Se la parola Blue è selezionata, il risultato è:

 is a great color. I love Blue.

Lo spazio iniziale viene visualizzato perché è presente uno spazio tra $selected$ e is.

Tutte le altre parole chiave $ vengono definite in modo dinamico nei tag <Literal> e <Object>.

Il codice seguente illustra la struttura dell'elemento Code :

<Code Language="Language"
    Kind="method body/method decl/type decl/page/file/any"
    Delimiter="Delimiter">
    Code to insert
</Code>

È necessario specificare un valore di testo. Il testo specifica il codice, insieme ai valori letterali e agli oggetti, che è possibile usare in caso di inserimento di questo frammento di codice in un file di codice.

Attributi

Per l'elemento Code sono disponibili tre attributi:

  • Lingua. Attributo obbligatorio che specifica il linguaggio del frammento di codice. Il valore deve essere uno dei valori seguenti:

    Valore Descrizione
    VB Frammento di codice visual Basic.
    CSharp Frammento di codice C#.
    CPP Frammento di codice C++.
    XAML Frammento di codice XAML.
    XML Frammento di codice XML.
    JavaScript Frammento di codice JavaScript.
    TypeScript Frammento di codice TypeScript.
    SQL Frammento di codice SQL.
    HTML Frammento di codice HTML.
  • Gentile. Attributo facoltativo che specifica il tipo di codice contenuto nel frammento. Il valore deve essere uno dei valori seguenti:

    Valore Descrizione
    method body Il frammento di codice è un corpo del metodo e pertanto deve essere inserito all'interno di una dichiarazione di metodo.
    method decl Il frammento di codice è un metodo e pertanto deve essere inserito all'interno di una classe o di un modulo.
    type decl Il frammento di codice è un tipo e pertanto deve essere inserito all'interno di una classe, un modulo o uno spazio dei nomi.
    file Il frammento di codice è un file di codice completo e può essere inserito da solo in un file di codice o all'interno di uno spazio dei nomi.
    any Il frammento di codice può essere inserito ovunque. Questo tag viene usato per frammenti di codice indipendenti dal contesto, ad esempio i commenti.
  • Delimitatore. Attributo facoltativo che specifica il delimitatore usato per descrivere valori letterali e oggetti nel codice. Per impostazione predefinita, il delimitatore è $.

Elemento padre

Elemento padre Descrizione
Elemento Snippet Contiene i riferimenti, le importazioni, le dichiarazioni e il codice del frammento di codice.

Elemento CodeSnippet

Consente di specificare un'intestazione e più frammenti di codice, che è possibile inserire nei file di Visual Studio Code.

<CodeSnippet Format="x.x.x">
    <Header>... </Header>
    <Snippet>... </Snippet>
</CodeSnippet>
Attributo Descrizione
Formato Attributo obbligatorio . Specifica la versione dello schema del frammento di codice. L'attributo Format deve essere una stringa nella sintassi di x.x.x, dove ognuno x rappresenta un valore numerico del numero di versione. Visual Studio ignora i frammenti di codice con attributi Format che non riconosce.
Elemento figlio Descrizione
Elemento Header Elemento obbligatorio . Contiene informazioni generali sul frammento di codice. In un frammento di codice deve essere presente esattamente un elemento Header.
Elemento Snippet Elemento obbligatorio . Contiene il codice da inserire da Visual Studio. In un frammento di codice deve essere presente esattamente un elemento Snippet.
Elemento padre Descrizione
Elemento CodeSnippets Elemento radice dell'XML Schema dei frammenti di codice.

Elemento CodeSnippets

Raggruppa gli elementi CodeSnippet. L'elemento CodeSnippets è l'elemento radice dell'XML Schema dei frammenti di codice.

<CodeSnippets>
    <CodeSnippet>... </CodeSnippet>
</CodeSnippets>
Elemento figlio Descrizione
Elemento CodeSnippet Elemento facoltativo. Elemento padre di tutti i dati del frammento di codice. Possono esistere zero o più elementi CodeSnippet in un elemento CodeSnippets.

Elemento Declarations

Specifica i valori letterali e gli oggetti che costituiscono le parti modificabili di un frammento di codice.

<Declarations>
    <Literal>... </Literal>
    <Object>... </Object>
</Declarations>
Elemento figlio Descrizione
Elemento Literal Elemento facoltativo. Definisce i valori letterali modificabili del frammento di codice. Possono esistere zero o più elementi Literal in un elemento Declarations.
Elemento Object Elemento facoltativo. Definisce gli oggetti modificabili del frammento di codice. Possono esistere zero o più elementi Object in un elemento Declarations.
Elemento padre Descrizione
Elemento Snippet Contiene i riferimenti, le importazioni, le dichiarazioni e il codice del frammento di codice.

Elemento Default

Specifica il valore predefinito del valore letterale o dell'oggetto per un frammento di codice.

<Default>
    Default value
</Default>
Elemento padre Descrizione
Elemento Literal Definisce i campi con valore letterale del frammento di codice che è possibile modificare.
Elemento Object Definisce i campi di oggetti del frammento di codice che è possibile modificare.

È necessario specificare un valore di testo. Il testo specifica l'impostazione predefinita del valore letterale o dell'oggetto che popola i campi modificabili del frammento di codice.

Elemento Description

Specifica informazioni descrittive sul contenuto di un frammento di codice.

<Description>
    Code Snippet Description
</Description>
Elemento padre Descrizione
Elemento Header Contiene informazioni generali sul frammento di codice.

È necessario specificare un valore di testo. Questo testo descrive il frammento di codice.

elemento Function

Specifica una funzione da eseguire quando il valore letterale o l'oggetto ricevono lo stato attivo in Visual Studio.

Nota

Non tutti i linguaggi supportano Function gli elementi. Per informazioni sulle funzioni disponibili, vedere la documentazione specifica del linguaggio.

<Function>
    FunctionName
</Function>
Elemento padre Descrizione
Elemento Literal Definisce i campi con valore letterale del frammento di codice che è possibile modificare.
Elemento Object Definisce i campi di oggetti del frammento di codice che è possibile modificare.

È necessario specificare un valore di testo. Questo testo specifica una funzione da eseguire quando il campo con valore letterale o con oggetto riceve lo stato attivo in Visual Studio.

Elemento Header

Specifica informazioni generali sul frammento di codice.

<Header>
    <Title>... </Title>
    <Author>... </Author>
    <Description>... </Description>
    <HelpUrl>... </HelpUrl>
    <SnippetTypes>... </SnippetTypes>
    <Keywords>... </Keywords>
    <Shortcut>... </Shortcut>
</Header>
Elemento figlio Descrizione
Elemento Author Elemento facoltativo. Nome della persona o della società che ha creato il frammento di codice. Può essere presente zero o un Author elemento in un Header elemento.
Elemento Description Elemento facoltativo. Descrizione del frammento di codice. Può essere presente zero o un Description elemento in un Header elemento.
Elemento HelpUrl Elemento facoltativo. URL contenente altre informazioni sul frammento di codice. Può essere presente zero o un HelpURL elemento in un Header elemento.
Elemento Keywords Elemento facoltativo. Raggruppa gli elementi Keyword. Può essere presente zero o un Keywords elemento in un Header elemento.
Elemento Shortcut Elemento facoltativo. Specifica il testo di collegamento che può essere usato per inserire il frammento. Può essere presente zero o un Shortcut elemento in un Header elemento.
Elemento SnippetTypes Elemento facoltativo. Raggruppa gli elementi SnippetType. Può essere presente zero o un SnippetTypes elemento in un Header elemento. In assenza di elementi SnippetTypes, il frammento di codice è sempre valido.
Elemento Title Elemento obbligatorio . Nome descrittivo del frammento di codice. In un elemento Title deve essere presente esattamente un elemento Header.
Elemento padre Descrizione
Elemento CodeSnippet Elemento padre di tutti i dati del frammento di codice.

Elemento HelpUrl

Specifica un URL nel quale sono presenti altre informazioni su un frammento di codice.

Nota

Visual Studio non usa l'elemento HelpUrl . L'elemento fa parte dello schema XML del frammento di codice IntelliSense e dei frammenti di codice contenenti l'elemento validate, ma il valore dell'elemento non viene mai usato.

<HelpUrl>
    www.microsoft.com
</HelpUrl>
Elemento padre Descrizione
Elemento Header Contiene informazioni generali sul frammento di codice.

Il valore di testo è facoltativo. Tale testo specifica l'URL da visitare per ottenere altre informazioni su un frammento di codice.

Elemento ID

Specifica un identificatore univoco per un elemento Literal o Object. Due oggetti o due valori letterali nello stesso frammento non possono avere lo stesso valore di testo nei loro elementi ID. I valori letterali e gli oggetti non possono contenere un ID elemento con un valore .end $end$ è un valore riservato e viene usato per contrassegnare il punto in cui posizionare il cursore dopo l'inserimento del frammento di codice.

<ID>
    Unique Identifier
</ID>
Elemento padre Descrizione
Elemento Literal Definisce i campi con valore letterale del frammento di codice che è possibile modificare.
Elemento Object Definisce i campi di oggetti del frammento di codice che è possibile modificare.

È necessario specificare un valore di testo. Tale testo specifica l'identificatore univoco per l'oggetto o il valore letterale.

Elemento Import

Specifica gli spazi dei nomi importati usati da un frammento di codice.

<Import>
    <Namespace>... </Namespace>
</Import>
Elemento figlio Descrizione
Elemento Namespace Elemento obbligatorio . Specifica lo spazio dei nomi usato dal frammento di codice. In un elemento Namespace deve essere presente esattamente un elemento Import.
Elemento padre Descrizione
Elemento Imports Elemento di raggruppamento per elementi Import.

Elemento Imports

Raggruppa singoli elementi Import.

<Imports>
    <Import>... </Import>
</Imports>
Elemento figlio Descrizione
Elemento Import Elemento facoltativo. Contiene gli spazi dei nomi importati per il frammento di codice. Possono esistere zero o più elementi Import in un elemento Imports.
Elemento padre Descrizione
Elemento Snippet Contiene i riferimenti, le importazioni, le dichiarazioni e il codice del frammento di codice.

Elemento Keyword

Specifica una parola chiave personalizzata per il frammento di codice. Le parole chiave del frammento di codice sono usate da Visual Studio e costituiscono un modo standard dei provider di contenuti online di aggiungere parole chiave personalizzate per la ricerca o la classificazione in categorie.

<Keyword>
    Code Snippet Keyword
</Keyword>
Elemento padre Descrizione
Elemento Keywords Raggruppa singoli elementi Keyword.

È necessario specificare un valore di testo. Parola chiave per il frammento di codice.

Elemento Keywords

Raggruppa singoli elementi Keyword. Le parole chiave del frammento di codice sono usate da Visual Studio e costituiscono un modo standard dei provider di contenuti online di aggiungere parole chiave personalizzate per la ricerca o la classificazione in categorie.

<Keywords>
    <Keyword>... </Keyword>
    <Keyword>... </Keyword>
</Keywords>
Elemento figlio Descrizione
Elemento Keyword Elemento facoltativo. Contiene singole parole chiave per il frammento di codice. Possono esistere zero o più elementi Keyword in un elemento Keywords.
Elemento padre Descrizione
Elemento Header Contiene informazioni generali sul frammento di codice.

Literal, elemento

Definisce i valori letterali modificabili del frammento di codice. L'elemento Literal identifica una sostituzione di un frammento di codice interamente contenuto all'interno del frammento di codice che può essere personalizzato dopo l'inserimento del frammento. Ad esempio, i valori letterali stringa, i valori numerici e alcuni nomi di variabili dovrebbero essere dichiarati come valori letterali.

I valori letterali e gli oggetti non possono contenere un ID elemento con un valore pari selected a o end. Il valore $selected$ rappresenta il testo del documento selezionato da inserire nel frammento di codice quando viene richiamato il frammento. $end$ contrassegna il punto in cui posizionare il cursore dopo l'inserimento del frammento di codice.

<Literal Editable="true/false">
   <ID>... </ID>
   <ToolTip>... </ToolTip>
   <Default>... </Default>
   <Function>... </Function>
</Literal>
Attributo Descrizione
Modificabili Attributo Boolean facoltativo. Specifica se il valore letterale può essere modificato o meno dopo l'inserimento del frammento di codice. Il valore predefinito di questo attributo è true.
Elemento figlio Descrizione
Elemento Default Elemento obbligatorio . Specifica il valore predefinito del valore letterale al momento dell'inserimento del frammento di codice. In un elemento Default deve essere presente esattamente un elemento Literal.
Elemento Function Elemento facoltativo. Specifica una funzione da eseguire quando il valore letterale riceve lo stato attivo in Visual Studio. Può essere presente zero o un Function elemento in un Literal elemento.
Elemento ID Elemento obbligatorio . Specifica un identificatore univoco per il valore letterale. In un elemento ID deve essere presente esattamente un elemento Literal.
Elemento ToolTip Elemento facoltativo. Descrive l'utilizzo e il valore previsti del valore letterale. Può essere presente zero o un ToolTip elemento in un Literal elemento.
Elemento padre Descrizione
Elemento Declarations Contiene i valori letterali e gli oggetti di un frammento di codice che è possibile modificare.

Elemento Namespace

Specifica lo spazio dei nomi che deve essere importato per la compilazione e l'esecuzione del frammento di codice. Lo spazio dei nomi specificato nell'elemento Namespace viene aggiunto automaticamente a una direttiva using o a un'istruzione Imports all'inizio del codice, se non esiste già.

<Namespace>
    Namespace
</Namespace>
Elemento padre Descrizione
Elemento Import Importa lo spazio dei nomi specificato.

È necessario specificare un valore di testo. Questo testo specifica uno spazio dei nomi di cui il frammento di codice presuppone l'importazione.

Elemento Object

Definisce gli oggetti modificabili del frammento di codice. L'elemento Object identifica un elemento richiesto dal frammento di codice definito all'esterno del frammento stesso. È ad esempio opportuno dichiarare come oggetti i controlli Windows Form, i controlli ASP.NET, le istanze di oggetti e le istanze di tipi. Per le dichiarazioni di oggetto è necessario specificare un tipo, che viene eseguito con l'elemento Type .

<Object Editable="true/false">
    <ID>... </ID>
    <Type>... </Type>
    <ToolTip>... </ToolTip>
    <Default>... </Default>
    <Function>... </Function>
</Object>
Attributo Descrizione
Modificabili Attributo Boolean facoltativo. Specifica se il valore letterale può essere modificato o meno dopo l'inserimento del frammento di codice. Il valore predefinito di questo attributo è true.
Elemento figlio Descrizione
Elemento Default Elemento obbligatorio . Specifica il valore predefinito del valore letterale al momento dell'inserimento del frammento di codice. In un elemento Default deve essere presente esattamente un elemento Literal.
Elemento Function Elemento facoltativo. Specifica una funzione da eseguire quando il valore letterale riceve lo stato attivo in Visual Studio. Può essere presente zero o un Function elemento in un Literal elemento.
Elemento ID Elemento obbligatorio . Specifica un identificatore univoco per il valore letterale. In un elemento ID deve essere presente esattamente un elemento Literal.
Elemento ToolTip Elemento facoltativo. Descrive l'utilizzo e il valore previsti del valore letterale. Può essere presente zero o un ToolTip elemento in un Literal elemento.
Elemento Type Elemento obbligatorio . Specifica il tipo dell'oggetto . In un elemento Type deve essere presente esattamente un elemento Object.
Elemento padre Descrizione
Elemento Declarations Contiene i valori letterali e gli oggetti di un frammento di codice che è possibile modificare.

Elemento Reference

Specifica informazioni sui riferimenti ad assembly richiesti dal frammento di codice.

<Reference>
    <Assembly>... </Assembly>
    <Url>... </Url>
</Reference>
Elemento figlio Descrizione
Elemento Assembly Elemento obbligatorio . Contiene il nome dell'assembly a cui viene fatto riferimento nel frammento di codice. In un elemento Assembly deve essere presente esattamente un elemento Reference.
Elemento Url Elemento facoltativo. Contiene un URL che fornisce altre informazioni sull'assembly a cui si fa riferimento. Può essere presente zero o un Url elemento in un Reference elemento.
Elemento padre Descrizione
Elemento References Elemento di raggruppamento per elementi Reference.

Elemento References

Raggruppa singoli elementi Reference.

<References>
    <Reference>... </Reference>
</References>
Elemento figlio Descrizione
Elemento Reference Elemento facoltativo. Contiene informazioni sui riferimenti ad assembly per il frammento di codice. Possono esistere zero o più elementi Reference in un elemento References.
Elemento padre Descrizione
Elemento Snippet Contiene i riferimenti, le importazioni, le dichiarazioni e il codice del frammento di codice.

Elemento Shortcut

Specifica il testo del collegamento usato per inserire il frammento di codice. Il valore di testo di un Shortcut elemento può contenere solo caratteri alfanumerici e caratteri di sottolineatura (_).

Nota

Il carattere di sottolineatura (_) non è supportato nei collegamenti ai frammenti di codice C++.

<Shortcut>
    Shortcut Text
</Shortcut>
Elemento padre Descrizione
Elemento Header Contiene informazioni generali sul frammento di codice.

Il valore di testo è facoltativo. Tale testo viene usato come collegamento per l'inserimento del frammento di codice.

Elemento Snippet

Specifica i riferimenti, le importazioni, le dichiarazione e il codice del frammento di codice.

<Snippet>
    <References>... </References>
    <Imports>... </Imports>
    <Declarations>... </Declarations>
    <Code>... </Code>
</Snippet>
Elemento figlio Descrizione
Elemento Code Elemento obbligatorio . Specifica il codice che si desidera inserire in un file di documentazione. In un elemento Code deve essere presente esattamente un elemento Snippet.
Elemento Declarations Elemento facoltativo. Specifica i valori letterali e gli oggetti che costituiscono le parti modificabili di un frammento di codice. Può essere presente zero o un Declarations elemento in un Snippet elemento.
Elemento Imports Elemento facoltativo. Raggruppa singoli elementi Import. Può essere presente zero o un Imports elemento in un Snippet elemento.
Elemento References Elemento facoltativo. Raggruppa singoli elementi Reference. Può essere presente zero o un References elemento in un Snippet elemento.
Elemento padre Descrizione
Elemento CodeSnippet Consente di specificare un'intestazione e più frammenti di codice, che è possibile inserire nei file di Visual Studio Code.

SnippetType, elemento

Specifica il modo in cui Visual Studio aggiunge il frammento di codice.

<SnippetType>
    SurroundsWith/Expansion
</SnippetType>
Elemento padre Descrizione
Elemento SnippetTypes Raggruppa gli elementi SnippetType.

Il valore deve essere uno dei valori seguenti:

Valore Descrizione
Expansion Consente di inserire il frammento di codice in corrispondenza del cursore.
Refactoring Specifica che il frammento di codice viene usato durante il refactoring C#. Refactoring non può essere usato nei frammenti di codice personalizzati.
SurroundsWith Consente di posizionare il frammento di codice intorno a una parte di codice selezionata.

Elemento SnippetTypes

Raggruppa singoli elementi SnippetType. Se l'elemento SnippetTypes non è presente, il frammento di codice può essere inserito nel cursore o posizionato intorno al codice selezionato.

<SnippetTypes>
    <SnippetType>... </SnippetType>
    <SnippetType>... </SnippetType>
</SnippetTypes>
Elemento figlio Descrizione
Elemento SnippetType Elemento facoltativo. Specifica la modalità di inserimento del frammento di codice in Visual Studio. Possono esistere zero o più elementi SnippetType in un elemento SnippetTypes.
Elemento padre Descrizione
Elemento Header Specifica informazioni generali sul frammento di codice.

Elemento Title

Specifica il titolo del frammento di codice. Il titolo archiviato nell'elemento Title del frammento di codice viene visualizzato nella selezione del frammento di codice e come nome del frammento di codice in Gestione frammenti di codice.

<Title>
    Code Snippet Title
</Title>
Elemento padre Descrizione
Elemento Header Specifica informazioni generali sul frammento di codice.

È necessario specificare un valore di testo. Tale testo specifica il titolo del frammento di codice.

Elemento ToolTip

Descrive il valore previsto e l'utilizzo di un valore letterale o di un oggetto in un frammento di codice. Visual Studio visualizza queste informazioni in una descrizione comando quando inserisce il frammento di codice in un progetto. La descrizione comando viene visualizzata anche quando il mouse passa il puntatore del mouse sul valore letterale o sull'oggetto dopo l'inserimento del frammento di codice.

<ToolTip>
    ToolTip description
</ToolTip>
Elemento padre Descrizione
Elemento Literal Definisce i campi con valore letterale del frammento di codice che è possibile modificare.
Elemento Object Definisce i campi di oggetti del frammento di codice che è possibile modificare.

È necessario specificare un valore di testo. Tale testo specifica la descrizione della Descrizione comando da associare all'oggetto o al valore letterale nel frammento di codice.

Elemento Type

Specifica il tipo dell'oggetto . L'elemento Object identifica un elemento richiesto dal frammento di codice, ma probabilmente è definito all'esterno del frammento stesso. È ad esempio opportuno dichiarare come oggetti i controlli Windows Form, i controlli ASP.NET, le istanze di oggetti e le istanze di tipi. Per le dichiarazioni di oggetto è necessario specificare un tipo, che viene eseguito con l'elemento Type .

<Type>
    Type
</Type>
Elemento padre Descrizione
Elemento Object Definisce i campi di oggetti del frammento di codice che è possibile modificare.

È necessario specificare un valore di testo. Tale testo specifica il tipo dell'oggetto. Ad esempio:

<Type>System.Data.SqlClient.SqlConnection</Type>

Elemento Url

Specifica un URL che fornisce altre informazioni sull'assembly a cui viene fatto riferimento.

Nota

L'elemento Url è supportato solo per i progetti Visual Basic.

<Url>
    www.microsoft.com
</Url>
Elemento padre Descrizione
Elemento Reference Specifica i riferimenti ad assembly richiesti dal frammento di codice.

È necessario specificare un valore di testo. Tale testo specifica un URL contenente altre informazioni sull'assembly a cui viene fatto riferimento. Questo URL viene visualizzato quando il riferimento non può essere aggiunto al progetto.