Leggere in inglese

Condividi tramite


Frammenti di codice e come usarli

I frammenti di codice sono piccoli blocchi di codice riutilizzabili che è possibile aggiungere a un file di codice. Frammenti di codice solitamente contengono blocchi di codice spesso usati, come blocchi Try...Finally o If...Else. È anche possibile usare frammenti di codice per aggiungere intere classi o metodi.

Un frammento di codice ha un titolo usato per selezionare il frammento di codice e può avere un nome di collegamento che è possibile digitare per inserire il frammento. I frammenti di codice possono anche contenere parametri di sostituzione, che fungono da segnaposto. I frammenti di codice sono disponibili per molti linguaggi, tra cui C#, C++e Visual Basic.

Frammenti di espansione e frammenti di codice racchiusi

È possibile aggiungere due tipi di frammenti di codice al codice:

  • Un frammento di espansione viene aggiunto in corrispondenza di un punto di inserimento specificato.
  • Una surround-with snippet viene aggiunta intorno al codice selezionato ed è disponibile solo per C# e C++.

Trovare frammenti di codice disponibili

Per visualizzare i frammenti di codice disponibili per una lingua, selezionare Strumenti>Gestione frammenti di codice dalla barra dei menu oppure premere CTRL+K, B e quindi selezionare la lingua desiderata dal menu a discesa.

Screenshot della finestra di dialogo Gestione frammenti di codice.

Per creare e importare un frammento personalizzato in modo che venga visualizzato nell'elenco dei frammenti di codice, vedere Procedura dettagliata: Creare un frammento di codice in Visual Studio.

Aggiungere un frammento di codice a un file di codice

Per aggiungere un frammento di codice a un file di codice:

  1. Nell'editor di codice posizionare il cursore o selezionare codice C# o C++ in cui si vuole aggiungere il frammento.

  2. Effettua una delle seguenti azioni:

    • Sulla barra dei menu di Visual Studio scegliere Modifica>IntelliSense>Inserisci frammento di codice o Modifica>IntelliSense>Racchiudi con.
    • Fare clic con il pulsante destro del mouse e scegliere Inserisci frammento>o Racchiudi con dal menu di scelta rapida.
    • Dalla tastiera, premere CTRL+K, X per un frammento di espansione o CTRL+K, S per un frammento di codice avvolgente.
  3. Fare doppio clic sul frammento desiderato nell'elenco a discesa oppure digitare il collegamento al frammento di codice e premere TAB o INVIO.

Aggiungere un frammento di espansione

Ad esempio, il frammento di espansione del C# tryf aggiunge il seguente blocco Try...Finally:

try
{

}
finally
{

}

Per aggiungere questo frammento di espansione:

  1. Nell'editor di codice posizionare il cursore in cui si vuole aggiungere il frammento di codice.
  2. Fare clic con il pulsante destro del mouse e scegliere Inserisci frammento dal menu di scelta rapida del clic con il pulsante destro del mouse oppure usare i comandi della barra dei menu o della tastiera.
  3. Aprire la cartella Visual C# e quindi fare doppio clic su tryf nell'elenco a discesa oppure selezionare tryf e premere TAB o INVIO.

Suggerimento

È anche possibile posizionare il cursore nel punto di inserimento, digitare tryf e quindi premere TAB due volte.

Aggiungere un snippet surround-with

Nell'esempio seguente di un frammento di codice C++ la scorciatoia if può essere usata come frammento di inserimento o come frammento di inclusione. Se si seleziona la riga di codice return FALSE; e quindi si sceglie Racchiudi con>se, il frammento viene espanso attorno alla riga.

if (true)
{
    return FALSE;
}

Parametri di sostituzione del codice snippet

I frammenti di codice possono contenere parametri di sostituzione, ovvero segnaposto che è necessario sostituire per adattarsi al codice che si sta scrivendo. Nell'esempio precedente, true è un parametro di sostituzione che viene sostituito con la condizione appropriata. La sostituzione viene ripetuta per ogni istanza del parametro di sostituzione nel frammento di codice.

Ad esempio, Visual Basic include un frammento di codice che definisce una proprietà. Per inserire il frammento di codice:

  1. Nel menu di scelta rapida del pulsante destro del mouse in un file di codice Visual Basic, selezionare Frammento>Inserisci Frammento.
  2. Selezionare Modelli di codice>Proprietà, Routine, Eventi>Definire una Proprietà.

Screenshot del menu del frammento di codice per Definire una proprietà.

Viene inserito il codice seguente:

Private newPropertyValue As String
Public Property NewProperty() As String
    Get
        Return newPropertyValue
    End Get
    Set(ByVal value As String)
        newPropertyValue = value
    End Set
End Property

Se si passa newPropertyValue a m_property, ogni istanza di newPropertyValue cambia. Se si passa String a Int nella dichiarazione di proprietà, anche il Set valore nel metodo viene modificato in Int.

Procedure consigliate per l'uso di frammenti di codice

Il codice in un frammento di codice mostra solo il modo più semplice per eseguire un'operazione. Per la maggior parte delle applicazioni, il codice deve essere modificato in base all'applicazione.

Gestione delle eccezioni

In genere, i blocchi dei frammenti di Try...Catch codice intercettano e rigenerano tutte le eccezioni, ma questa potrebbe non essere la scelta giusta per il progetto. Per ogni eccezione, esistono diversi modi per rispondere. Per esempi, vedere Come gestire un'eccezione usando try/catch (C#) e Try... Catch... Finally statement (Visual Basic).

Percorsi dei file

Quando si adattano i percorsi dei file all'applicazione, assicurarsi di prendere in considerazione i fattori seguenti.

  • Trovare una posizione accessibile. Gli utenti potrebbero non avere accesso alla cartella Programmi del computer, quindi l'archiviazione dei file utente con i file dell'applicazione potrebbe non funzionare.

  • Trovare una posizione sicura. L'archiviazione di file nella cartella radice come C:\ non è sicura. Per i dati dell'applicazione, è consigliabile usare la cartella Dati applicazione . Per i singoli dati utente, l'applicazione può creare un file nella cartella Documenti di ogni utente.

  • Usare un nome di file valido. È possibile usare i OpenFileDialog controlli e SaveFileDialog per ridurre la probabilità di nomi di file non validi.

  • Tenere presente che è possibile eliminare un file selezionato dall'utente prima che il codice possa modificare il file. Inoltre, un utente potrebbe non avere l'autorizzazione per scrivere nel file.

Sicurezza

La sicurezza di un frammento di codice dipende dalla posizione in cui viene usata nel codice sorgente e da come modificarla una volta nel codice. L'elenco seguente contiene alcune aree da considerare:

  • Accesso a file e database
  • Sicurezza dell'accesso al codice
  • Protezione di risorse come i registri eventi e il Registro di sistema
  • Archiviazione dei segreti
  • Verifica degli input
  • Passaggio di dati alle tecnologie di scripting

Per altre informazioni, vedere Proteggere le applicazioni.

Frammenti di codice scaricati

I frammenti di codice installati da Visual Studio non sono pericoli per la sicurezza. Tuttavia, possono creare rischi per la sicurezza nell'applicazione. I frammenti scaricati da Internet devono essere trattati con estrema cautela, come qualsiasi altro contenuto scaricato. Scaricare frammenti di codice solo dai siti attendibili e usare up-to-date virus software.

Aprire tutti i file di frammenti di codice scaricati nel Blocco note o nell'editor XML di Visual Studio ed esaminarli attentamente prima di installarli. Attenzione ai problemi seguenti:

  • Codice di frammento che potrebbe danneggiare il sistema se lo si esegue. Leggere attentamente il codice sorgente prima di eseguirlo.

  • HelpURL blocchi in file di frammento contenenti URL che eseguono file di script dannosi o visualizzano siti Web offensivi.

  • Frammenti contenenti riferimenti aggiunti automaticamente al progetto e che possono essere caricati da qualsiasi punto del sistema. È possibile scaricare questi riferimenti dalla stessa posizione da cui si scarica un frammento di codice. Il frammento di codice può quindi chiamare un metodo nel riferimento che esegue codice dannoso. Per rilevare tali riferimenti, esaminare i blocchi Imports e References del file snippet.