Visual Studio
Strumenti di Visual Studio
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.
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
|
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.
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. |
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 oggettoI 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
Salva il codice XML e
.snippet
l'estensione.snippet
.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:
Scegli la lingua nella casella combinata per quale lingua hai creato lo snippet. fai clic su "Importa ..." e scegli il file che hai creato.
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:
È 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":
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