Ricerca…


Codice Lente

La lente di codice è un modo semplice per sapere cosa succede con il codice. Qui puoi trovare un'immagine con il numero di riferimenti di un metodo o di una classe.

Codice lente

Se non riesci a vedere l'obiettivo del codice, consulta questa domanda: I riferimenti CodeLens mancanti vengono conteggiati nell'edizione della community di VS 2015

Frammenti

intoduction

Poiché Visual Studio 2005 è in grado di creare snippet di codice Intellisense. Ciò ti consente di generare del codice semplicemente digitando una parola chiave e premendo due volte il tasto Tab .

Usando il codice

Il codice XML necessario per creare uno snippet di codice Intellisense è riportato di seguito:

<?xml version="1.0" encoding="utf-8"?>

<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/CodeSnippet">
  <CodeSnippet Format="1.0.0"> <!-- format attribute is required -->

    <Header> <!-- 1 -->
      <Title></Title>
      <Author></Author>
      <Shortcut></Shortcut>
      <Description></Description>
      <Keywords>
        <Keyword>abc<Keyword>
        <Keyword>def<Keyword>
      </keywords>
    </Header>

    <Snippet> <!-- 2 -->

      <Imports> <!-- 2.1 -->
        <Import>
          <Namespace>System</Namespace>
        </Import>
      </Imports>

      <Declarations> <!-- 2.2 -->
        <Literal Editable="true/false"> <!-- 2.2.1 -->
          <ID>example</ID>
          <Type>System.String</Type>
          <ToolTip>A tip you can show</ToolTip>
          <Default>default value</Default>
          <Function></Function> <!-- 2.2.2 -->
        </Literal>

        <Object> <!-- 2.2.1 -->
          <ID>example</ID>
          <Type>System.String</Type>
          <ToolTip>A tip you can show</ToolTip>
          <Default>default value</Default>
          <Function></Function> <!-- 2.2.2 -->
        </Object>
      </Declarations>

      <References> <!-- 2.3 -->
        <Reference>
          <Assembly>System.Data.dll</Assembly>
        </Reference>
      </References>

      <Code Language=""> <!-- 2.4 -->
        <![CDATA[
            <!-- your code here if you use literals use dollar chars  -->
        ]]>
      </Code>

    </Snippet>

  </CodeSnippet>
</CodeSnippets>

Nel tag snippet, hai due tag obbligatori denominati Header e Snippet. Puoi trovare maggiori informazioni nei titoli successivi. Il numero vicino al nome è corrispondente ai numeri nel codice sopra.

Possono essere aggiunti zero o più elementi CodeSnippet nell'elemento CodeSnippets.

1. Intestazione

Nel tag dell'intestazione, puoi inserire alcune informazioni specifiche sullo snippet e su ciò che fa. I tag importanti che puoi usare all'interno di questo tag sono:

Elemento Descrizione
Titolo Il titolo del frammento. Questo attributo è obbligatorio.
Autore L'autore dello snippet.
scorciatoia È la scorciatoia, che puoi usare per generare il codice. Nota che questo può contenere solo lettere e numeri e deve iniziare con una lettera.
Nota: Ricorda anche di dare allo snippet un nome e una scorciatoia validi e unici. Altrimenti, causerà problemi quando importi lo snippet in Visual Studio.
Descrizione Fornisce ulteriori informazioni sullo snippet se necessario.
HelpURL Un url per una pagina di aiuto su internet.
parole Raggruppa uno o più elementi chiave.
SnippetTypes

Gruppi SnippetType elementi. Questo elemento contiene un valore di testo e deve essere uno dei seguenti valori. I tipi di frammento vengono uniti con una barra in avanti.


  • SurroundsWith : consente allo snippet di codice di essere posizionato attorno a un pezzo di codice selezionato.
  • Expansion : consente di inserire lo snippet di codice nel cursore.
  • Refactoring : specifica che lo snippet di codice viene utilizzato durante il refactoring di Visual C #. Il refactoring non può essere utilizzato in frammenti di codice personalizzati.
Elenco di origine: msdn.microsoft.com

Tabella di origine (ma modifiche): msdn.microsoft.com

2. Snippet

Nel tag snippet, puoi utilizzare tre tag diversi. Questo può essere:

  • importazioni
  • dichiarazioni
  • Codice (richiesto)
  • Riferimenti

Questi sono spiegati di seguito.

2.1 Importazioni

Imports contengono gli spazi dei nomi necessari per il codice. Usa il tag di importazione all'interno di questo tag e qui puoi posizionare i namespace necessari ciascuno con il tag Namespace .

2.2 Dichiarazioni

Declarations possono essere utilizzate per dichiarare alcuni letterali o oggetti nel codice nel tag di Code . I bambini sono letterali e oggetti.

2.2.1 Letterali e oggetti

I letterali e gli oggetti definiscono i letterali e gli oggetti dello snippet di codice che puoi modificare. Le funzionalità sono letterali e gli oggetti sono gli stessi, ma ha un vincolo di tipo aggiuntivo.

Il tag Literal e object può contenere i prossimi figli:

  • ID : l'ID del letterale (obbligatorio)
  • Type : il tipo di quell'oggetto incluso spazio dei nomi e classe (richiesto dagli oggetti)
  • ToolTip : dà un suggerimento
  • Default : un valore predefinito di quell'oggetto (richiesto)
  • Functions

Nei frammenti, ci sono alcuni valori letterali predefiniti. Sono elencati di seguito:

Letterale Dettagli
$end$ Segna la posizione in cui posizionare il cursore dopo aver inserito lo snippet di codice.
$selected$ Rappresenta il testo selezionato nel documento che deve essere inserito nello snippet quando viene richiamato. Esempio, se hai:
A $selected$ is an object that I like.
e la parola è stata selezionata per l'auto quando hai invocato il modello, otterresti:
A car is an object that I like.
2.2.2 Funzioni

Le funzioni nel tag Literal o Object significa che è possibile utilizzare una funzione per generare codice in base a un altro elemento. Ci sono tre funzioni che conosco:

Funzione Descrizione linguaggio
GenerateSwitchCases (EnumerationLiteral) Genera un'istruzione switch e un set di istruzioni case per i membri dell'enumerazione specificata dal parametro EnumerationLiteral. Il parametro EnumerationLiteral deve essere un riferimento a un letterale di enumerazione oa un tipo di enumerazione. Visual C # e Visual J # 1
ClassName() Restituisce il nome della classe che contiene lo snippet inserito. Visual C # e Visual J # 1
SimpleTypeName(TypeName) Riduce il parametro TypeName nella sua forma più semplice nel contesto in cui è stato richiamato lo snippet. Visual C #

1 disponibile solo in Visual Studio 2005.

Tabella di origine: msdn.microsoft.com

Attributi per gli elementi letterali e oggetto

I tag Literal e Object possono avere alcuni attributi opzionali.

Attributo Descrizione genere
Modificabile Specifica se è possibile modificare il valore letterale dopo aver inserito lo snippet di codice. Il valore predefinito di questo attributo è true. booleano

Tabella di origine: msdn.microsoft.com

2.3 Riferimenti

Gruppi di elementi di riferimento che contengono informazioni sui riferimenti di assembly per lo snippet di codice. Questo può contenere i seguenti elementi:

  • Assemblaggio: contiene il nome dell'assembly tramite lo snippet di codice (obbligatorio)
  • Url: contiene un sito Web che fornisce ulteriori informazioni sull'assembly

2.4 Codice

Codice è il codice che genererai tra <![CDATA[ e ]]> . Inserisci l' ID del tuo letterale tra i caratteri in dollari e Visual Studio ti chiederà di modificare questi valori predefiniti se le dichiarazioni sono compilate. Qui, hai un esempio per C # e VB per il collegamento propfull.

<!-- ... Other code ... -->
<Declarations>
  <Literal>
    <Id>variablename</Id>
    <Default>_myproperty</Default>
  </Literal>

  <Literal>
    <Id>propertytype</Id>
    <Default>int</Default>
  </Literal>

  <Literal>
    <Id>propertyname</Id>
    <Default>myproperty</Default>
  </Literal>
</Declarations>

<Code Language="CSharp">
  <![CDATA[
    private $propertyvalue$ $variablename$;

    public $propertyvalue$ $propertyname$
    {
        get { return $variablename$; }
        set { $Variablename$ = Value; }
    }
  ]]>
</Code>

<!-- ... Other code ... -->

<Declarations>
  <Literal>
    <Id>variablename</Id>
    <Default>_myproperty</Default>
  </Literal>

  <Literal>
    <Id>propertytype</Id>
    <Default>int</Default>
  </Literal>

  <Literal>
    <Id>propertyname</Id>
    <Default>myproperty</Default>
  </Literal> 
</Declarations>

<Code Language="VB">
  <![CDATA[
    Private $variablename$ As $propertyvalue$ 
    
    Public Property $propertyname$ As $propertyvalue$
        Get
            Return $variablename$ 
        End Get

        Set (ByVal value As $propertyvalue$)
            $variablename$ = value
        End Set
    End Property
  ]]>
</Code>

<!-- ... Other code ... -->

Nell'attributo Lingua richiesto, puoi definire la tua lingua in cui stai creando lo snippet. Puoi trovare le lingue che puoi usare nella tabella successiva.

linguaggio Parola chiave Disponibile nelle prossime versioni
Visual C # CSharp 2005, 2010, 2012 e successivi
Visual Basic VB 2005, 2010, 2012 e successivi
XML XML 2005, 2010, 2012 e successivi
Visual J # VJSharp 2005, 2012 e successivi
C ++ CPP 2012 e successivi
JavaScript JavaScript 2012 e successivi
JScript JScript 2012 e successivi
SQL SQL 2012 e successivi
HTML HTML 2012 e successivi
CSS CSS 2012 e successivi
XAML XAML 2012 e successivi

Altri attributi facoltativi sono:

Attributo Descrizione
delimitatore Specifica il delimitatore utilizzato per descrivere valori letterali e oggetti nel codice. Per impostazione predefinita, il delimitatore è $ .
Genere Specifica il tipo di codice contenuto nello snippet e, quindi, la posizione in cui è necessario inserire uno snippet di codice per la compilazione dello snippet di codice.

I valori validi per la variabile gentile sono:

Valore Descrizione
metodo del corpo Specifica che lo snippet di codice è un corpo del metodo e, pertanto, deve essere inserito all'interno di una dichiarazione di metodo.
metodo decl Specifica che lo snippet di codice è un metodo e, pertanto, deve essere inserito all'interno di una classe o di un modulo.
tipo decl Specifica che lo snippet di codice è un tipo e, pertanto, deve essere inserito all'interno di una classe, modulo o spazio dei nomi.
file Specifica che lo snippet è un file di codice completo. Questi snippet di codice possono essere inseriti da soli in un file di codice o all'interno di uno spazio dei nomi.
qualunque Specifica che lo snippet può essere inserito ovunque. Questo tag viene utilizzato per frammenti di codice indipendenti dal contesto, come i commenti.

Tabelle di origine: msdn.microsoft.com

Importa frammento di codice in Visual Studio

  1. Salva il codice XML e .snippet l'estensione .snippet .

  2. Puoi aggiungere il nuovo frammento creato in Visual Studio premendo Control + K , Control + B o vai su "Strumenti""Gestore di frammenti di codice ..." . Questo apre la prossima finestra:

    La finestra del manager di codice frammento

  3. Scegli la lingua nella casella combinata per quale lingua hai creato lo snippet. fai clic su "Importa ..." e scegli il file che hai creato.

    La finestra Snippet del codice di importazione

  4. Clicca su "Finish" . Se il nome del file è già stato utilizzato, Visual Studio chiede di sovrascrivere il file esistente. Hai tre opzioni:

    • Sovrascrivi: sovrascrive il file. Puoi utilizzare questa opzione se modifichi un vecchio snippet.
    • Rinomina: consente di rinominare il file con un nome univoco.
    • Salta: annulla l'importazione. Rinomina il file con un nome univoco.

Puoi anche aggiungere una nuova posizione con tutti i frammenti che hai fatto facendo clic sul pulsante "Aggiungi ..." nella prima finestra e selezionare la cartella nella "finestra di selezione della cartella" . Il vantaggio ora è quando viene aggiunto un nuovo snippet valido in quella cartella, è possibile utilizzarlo direttamente in Visual Studio.

Nota: prova dopo aver importato lo snippet per gli errori, in modo da non avere problemi quando si utilizza lo snippet. Puoi sempre rimuovere o sovrascrivere lo snippet se c'è un errore.

Punto di interesse

È inoltre possibile visualizzare la documentazione su MSDN per ulteriori informazioni.

Sovrascrivi gli strumenti unione / confronto

Arrivato a Tools | Opzioni | Controllo del codice sorgente Visual Studio Team Foundation Server

fare clic su Configura strumenti utente:

inserisci la descrizione dell'immagine qui

È possibile aggiungere sostituzioni separate per le operazioni "Confronta" e "Unisci". Fare clic su Aggiungi e selezionare l'operazione che si desidera sovrascrivere. Dovresti digitare il percorso dello strumento che usi e gli argomenti esatti che il tuo strumento si aspetta. Ad esempio, per utilizzare BeyondCompare, aggiungere i seguenti argomenti "% 1% 2 / title1 =% 6 / title2 =% 7":

inserisci la descrizione dell'immagine qui

Per unire con BeyondCompare usa gli argomenti "% 1% 2% 3% 4 / titolo1 =% 6 / titolo2 =% 7 / titolo3 =% 8 / titolo4 =% 9"

In un blog del 2006, l' impiegato della MS James Manning ha esaminato gli argomenti come previsto da vari strumenti: WinDiff, DiffDoc, WinMerge, Beyond Compare, KDiff3, Araxis, Compare It !, SourceGear DiffMerge, TortoiseMerge e Visual SlickEdit. Il post è un buon punto di partenza, ma assicurati di controllare la documentazione aggiornata del tuo strumento.

Si consiglia vivamente di non utilizzare per gli strumenti di unione che non sono compatibili con le unioni a 3 vie (ad es. WinMerge 2.x).

Entity Framework

Entity Framework (EF) è un mappatore di oggetti relazionale che consente agli sviluppatori .NET di lavorare con i dati relazionali utilizzando oggetti specifici del dominio. Elimina la necessità della maggior parte del codice di accesso ai dati che gli sviluppatori di solito devono scrivere.

Entity Framework consente di creare un modello scrivendo il codice o utilizzando box e linee in EF Designer. Entrambi questi approcci possono essere utilizzati per indirizzare un database esistente o creare un nuovo database.

Fonte e ulteriori informazioni: documentazione di Entity Framework



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow