Visual Studio
Outils Visual Studio
Recherche…
Lentille de code
La lentille de code est un moyen simple de savoir ce qui se passe avec le code. Ici, vous pouvez trouver une image avec le nombre de références d'une méthode ou d'une classe.
Si vous ne pouvez pas voir l'objectif du code, veuillez vous reporter à la question suivante: les références manquantes de CodeLens comptent dans l'édition 2015 de la communauté VS
Des extraits
Intoduction
Depuis Visual Studio 2005, vous pouvez créer des extraits de code Intellisense. Cela vous permet de générer du code en tapant simplement un mot-clé et en appuyant deux fois sur la touche de tabulation .
En utilisant le code
Le code XML dont vous avez besoin pour créer un extrait de code Intellisense figure ci-dessous:
<?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>
Dans la balise d'extrait de code, vous avez deux balises obligatoires nommées En-tête et Snippet. Vous pouvez trouver plus d'informations dans les titres suivants. Le numéro près du nom correspond aux numéros du code ci-dessus.
Il peut y avoir zéro ou plusieurs éléments CodeSnippet ajoutés dans l'élément CodeSnippets.
1. en-tête
Dans la balise d'en-tête, vous pouvez placer des informations spécifiques sur l'extrait de code et ce qu'il fait. Les balises importantes que vous pouvez utiliser dans cette balise sont les suivantes:
Élément | La description |
---|---|
Titre | Le titre de l'extrait. Cet attribut est requis. |
Auteur | L'auteur de l'extrait. |
Raccourci | Est le raccourci, vous pouvez utiliser pour générer le code. Notez que cela ne peut contenir que des lettres et des chiffres et doit commencer par une lettre. Remarque: N'oubliez pas également de donner à l'extrait de code un nom et un raccourci appropriés. Sinon, vous rencontrerez des problèmes lorsque vous importerez l'extrait de code dans Visual Studio. |
La description | Donne plus d'informations sur l'extrait de code si vous en avez besoin. |
HelpUrl | Une URL pour une page d'aide sur Internet. |
Mots clés | Groupe un ou plusieurs éléments de mot clé. |
SnippetTypes | Groupes d'éléments
|
Table source (mais modifications): msdn.microsoft.com
2. extrait
Dans l'étiquette de l'extrait de code, vous pouvez utiliser trois balises différentes. Cela peut être:
- Importations
- Déclarations
- Code (obligatoire)
- Les références
Celles-ci sont expliquées ci-dessous.
2.1 Importations
Imports
contiennent les espaces de noms nécessaires au code. Utilisez la balise import dans cette balise et vous pouvez placer ici les espaces de noms nécessaires avec l'étiquette Namespace
.
2.2 Déclarations
Declarations
peuvent être utilisées pour déclarer certains littéraux ou objets dans votre code dans le Code
-tag. Les enfants sont des littéraux et des objets.
Les littéraux et les objets définissent les littéraux et les objets de l'extrait de code que vous pouvez modifier. Les fonctionnalités sont des littéraux et les objets sont les mêmes, mais ils ont une contrainte de type supplémentaire.
Le littéral et l'objet-tag peuvent contenir les enfants suivants:
-
ID
: l'ID du littéral (obligatoire) -
Type
: le type de cet objet, y compris l'espace de noms et la classe (requis par les objets) -
ToolTip
-ToolTip
: donne un conseil - Valeur par
Default
: une valeur par défaut de cet objet (obligatoire) -
Functions
Dans les extraits, il existe des littéraux prédéfinis. Ils sont énumérés ci-dessous:
Littéral | Détails |
---|---|
$end$ | Marque l'emplacement où placer le curseur après l'insertion de l'extrait de code. |
$selected$ | Représente le texte sélectionné dans le document à insérer dans l'extrait de code lorsqu'il est appelé. Exemple, si vous avez: A $selected$ is an object that I like.et le mot était voiture sélectionnée lorsque vous avez invoqué le modèle, vous obtiendrez: A car is an object that I like. |
Fonctions dans la balise Literal- ou Object signifie que vous pouvez utiliser une fonction pour générer du code en fonction d'un autre élément. Il y a trois fonctions que je connais:
Fonction | La description | La langue |
---|---|---|
GenerateSwitchCases (EnumerationLiteral) | Génère une instruction switch et un ensemble d'instructions de cas pour les membres de l'énumération spécifiée par le paramètre EnumerationLiteral. Le paramètre EnumerationLiteral doit être une référence à un littéral d'énumération ou à un type d'énumération. | Visual C # et Visual J # 1 |
ClassName() | Renvoie le nom de la classe qui contient l'extrait de code inséré. | Visual C # et Visual J # 1 |
SimpleTypeName(TypeName) | Réduit le paramètre TypeName à sa forme la plus simple dans le contexte dans lequel l'extrait de code a été appelé. | Visual C # |
1 uniquement disponible dans Visual Studio 2005.
Table source: msdn.microsoft.com
Attributs pour les éléments littéraux et objetsLes balises Literal et Object peuvent avoir des attributs facultatifs.
Attribut | La description | Type |
---|---|---|
Éditable | Indique si vous pouvez ou non modifier le littéral après l'insertion de l'extrait de code. La valeur par défaut de cet attribut est true. | Booléen |
Table source: msdn.microsoft.com
2.3 Références
Groupes d'éléments de référence contenant des informations sur les références d'assembly pour l'extrait de code. Cela peut contenir les éléments suivants:
- Assembly: contient le nom de l'assembly par l'extrait de code (requis)
- URL: contient un site Web qui fournit plus d'informations sur l'assembly
2.4 Code
Le code est le code que vous allez générer entre <![CDATA[
et ]]>
. Placez l' ID
de votre littéral entre les caractères dollar et Visual Studio vous demandera de modifier ces valeurs par défaut si les déclarations sont remplies. Ici, vous avez un exemple pour C # et VB pour le raccourci.
<!-- ... 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 ... -->
Dans l'attribut de langue requis, vous pouvez définir la langue dans laquelle vous créez l'extrait de code. Vous pouvez trouver les langues que vous pouvez utiliser dans le tableau suivant.
La langue | Mot-clé | Disponible dans les prochaines versions |
---|---|---|
Visual C # | CSharp | 2005, 2010, 2012 et plus tard |
Visual Basic | VB | 2005, 2010, 2012 et plus tard |
XML | XML | 2005, 2010, 2012 et plus tard |
Visual J # | VJSharp | 2005, 2012 et plus tard |
C ++ | CPP | 2012 et plus tard |
JavaScript | JavaScript | 2012 et plus tard |
JScript | JScript | 2012 et plus tard |
SQL | SQL | 2012 et plus tard |
HTML | HTML | 2012 et plus tard |
CSS | CSS | 2012 et plus tard |
XAML | XAML | 2012 et plus tard |
Les autres attributs facultatifs sont les suivants:
Attribut | La description |
---|---|
Délimiteur | Spécifie le délimiteur utilisé pour décrire les littéraux et les objets dans le code. Par défaut, le délimiteur est $ . |
Gentil | Spécifie le type de code que contient l'extrait de code et, par conséquent, l'emplacement auquel un fragment de code doit être inséré pour que l'extrait de code soit compilé. |
Les valeurs valides pour la variable kind sont les suivantes:
Valeur | La description |
---|---|
corps de méthode | Indique que l'extrait de code est un corps de méthode et doit donc être inséré dans une déclaration de méthode. |
méthode décl | Indique que l'extrait de code est une méthode et doit donc être inséré dans une classe ou un module. |
type décl | Indique que l'extrait de code est un type et doit donc être inséré dans une classe, un module ou un espace de noms. |
fichier | Spécifie que l'extrait de code est un fichier de code complet. Ces extraits de code peuvent être insérés seuls dans un fichier de code ou dans un espace de noms. |
tout | Spécifie que l'extrait de code peut être inséré n'importe où. Cette balise est utilisée pour les fragments de code indépendants du contexte, tels que les commentaires. |
Tables source: msdn.microsoft.com
Importer l'extrait dans Visual Studio
Enregistrez le code XML et donnez-lui l'extension
.snippet
.Vous pouvez ajouter le nouvel extrait dans Visual Studio en appuyant sur Ctrl + K , Ctrl + B ou aller dans "Outils" → "Gestionnaire de fragments de code ..." . Cette prochaine fenêtre ouverte:
Choisissez la langue dans la liste déroulante pour laquelle vous avez créé le fragment. Cliquez sur "Importer ..." et choisissez le fichier que vous avez créé.
Cliquez sur
"Finish"
. Si le nom de fichier a déjà été utilisé, Visual Studio va demander à remplacer le fichier existant. Vous avez trois options:- Écraser: écrase le fichier. Vous pouvez utiliser cette option si vous modifiez un ancien extrait de code.
- Renommer: permet de renommer le fichier en un nom unique.
- Ignorer: annule l'importation. Renomme le fichier en un nom unique.
Vous pouvez également ajouter un nouvel emplacement avec tous les extraits que vous avez créés en cliquant sur le bouton "Ajouter ..." de la première fenêtre et en sélectionnant le dossier dans la fenêtre "Sélectionner un dossier" . L'avantage est que lorsqu'un nouveau fragment de code valide est ajouté dans ce dossier, vous pouvez l'utiliser directement dans Visual Studio.
Remarque: testez après avoir importé votre extrait de code pour détecter les erreurs afin de ne pas avoir de problème lorsque vous utilisez l'extrait de code. Vous pouvez toujours supprimer ou écraser l'extrait de code en cas d'erreur.
Point d'Intrest
Vous pouvez également consulter la documentation sur MSDN pour plus d'informations.
Remplacer les outils de fusion / comparaison
Got to Tools | Options | Contrôle de source | Visual Studio Team Foundation Server
cliquez sur Configurer les outils utilisateur:
Vous pouvez ajouter des remplacements séparés pour les opérations de comparaison et de fusion. Cliquez sur Ajouter et sélectionnez l'opération que vous souhaitez remplacer. Vous devez saisir le chemin d'accès à l'outil que vous utilisez et les arguments exacts attendus par votre outil. Par exemple, pour utiliser BeyondCompare, ajoutez les arguments suivants "% 1% 2 / title1 =% 6 / title2 =% 7":
Pour fusionner avec BeyondCompare, utilisez les arguments "% 1% 2% 3% 4 / title1 =% 6 / title2 =% 7 / title3 =% 8 / title4 =% 9"
Dans un article publié en 2006 sur un blog , James Manning, employé de MS, a analysé les arguments comme prévu avec divers outils: WinDiff, DiffDoc, WinMerge, Beyond Compare, KDiff3, Araxis, Compare It !, SourceGear DiffMerge, TortoiseMerge et Visual SlickEdit. La publication est un bon point de départ, mais assurez-vous de vérifier la documentation à jour de votre outil.
Il est fortement recommandé de ne pas utiliser pour les outils de fusion incapables de fusionner à trois (par exemple, WinMerge 2.x).
Cadre d'entité
Entity Framework (EF) est un mappeur objet-relationnel qui permet aux développeurs .NET de travailler avec des données relationnelles à l'aide d'objets spécifiques à un domaine. Cela élimine le besoin de la plupart du code d'accès aux données que les développeurs doivent généralement écrire.
Entity Framework vous permet de créer un modèle en écrivant du code ou en utilisant des boîtes et des lignes dans EF Designer. Ces deux approches peuvent être utilisées pour cibler une base de données existante ou créer une nouvelle base de données.
Source et plus d'informations: Documentation Entity Framework