Zoeken…


Codelens

Codelens is een eenvoudige manier om te weten wat er met de code gebeurt. Hier kunt u een afbeelding vinden met het aantal referenties van een methode of klasse.

Codelens

Als u de codelens niet kunt zien, ziet u deze vraag: Referenties met ontbrekende CodeLens tellen in de VS 2015 Community-editie

snippets

intoduction

Sinds Visual Studio 2005 kun je Intellisense-codefragmenten maken. Hiermee kunt u code genereren door slechts één trefwoord te typen en twee keer op de tab- toets te drukken.

Gebruik de code

De XML-code die u nodig hebt om een Intellisense-codefragment te maken, staat hieronder:

<?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>

In de snippet-tag hebt u twee vereiste tags met de naam Header en Snippet. U kunt meer informatie vinden in de volgende koppen. Het nummer bij de naam komt overeen met de nummers in de bovenstaande code.

Er kunnen nul of meer CodeSnippet-elementen worden toegevoegd aan het CodeSnippets-element.

1. Koptekst

In de header-tag kunt u specifieke informatie plaatsen over het fragment en wat hij doet. De belangrijke tags die u in deze tag kunt gebruiken, zijn:

Element Beschrijving
Titel De titel van het fragment. Dit kenmerk is verplicht.
Auteur De auteur van het fragment.
kortere weg Is de snelkoppeling die u kunt gebruiken voor het genereren van de code. Merk op dat dit alleen letters en cijfers kan bevatten en moet beginnen met een letter.
Opmerking: vergeet niet om het fragment een goede en unieke naam en snelkoppeling te geven. Anders geeft het problemen wanneer u het fragment in Visual Studio importeert.
Beschrijving Geeft meer informatie over het fragment als u dat nodig hebt.
HelpUrl Een url voor een helppagina op internet.
trefwoorden Groepeert een of meer trefwoordelementen.
SnippetTypes

Groepen SnippetType elementen. Dit element bevat een tekstwaarde en moet een van de volgende waarden zijn. Fragmenttypen worden samengevoegd met een schuine streep.


  • SurroundsWith : hiermee kan het codefragment rond een geselecteerd stuk code worden geplaatst.
  • Expansion : hiermee kan het codefragment bij de cursor worden ingevoegd.
  • Refactoring : geeft aan dat het codefragment wordt gebruikt tijdens Visual C # refactoring. Refactoring kan niet worden gebruikt in aangepaste codefragmenten.
Bronlijst : msdn.microsoft.com

Brontabel (maar bewerkingen): msdn.microsoft.com

2. Fragment

In de snippet-tag kunt u drie verschillende tags gebruiken. Dit kan zijn:

  • invoer
  • verklaringen
  • Code (verplicht)
  • Referenties

Deze worden hieronder uitgelegd.

2.1 Invoer

Imports bevatten de benodigde naamruimten die u nodig hebt voor de code. Gebruik de import-tag in deze tag en hier kunt u de benodigde naamruimten plaatsen, elk met de Namespace -tag.

2.2 Verklaringen

Declarations kunnen worden gebruikt voor het declareren van enkele letterlijke of objecten in uw code in de Code tag. De kinderen zijn letterlijk en objecten.

2.2.1 Literalen en objecten

Letterlijke en objecten definiëren de letterlijke en objecten van het codefragment dat u kunt bewerken. Functionaliteit is letterlijk en objecten zijn hetzelfde, maar het heeft een extra typebeperking.

De letterlijke en object-tag kan volgende kinderen bevatten:

  • ID : de ID van de letterlijke (verplicht)
  • Type : het type van dat object inclusief naamruimte en klasse (vereist door objecten)
  • ToolTip : geeft een tip
  • Default : een standaardwaarde van dat object (vereist)
  • Functions

In de fragmenten staan enkele vooraf gedefinieerde letterlijke woorden. Ze worden hieronder vermeld:

letterlijk Details
$end$ Markeert de locatie om de cursor te plaatsen nadat het codefragment is ingevoegd.
$selected$ Vertegenwoordigt tekst die is geselecteerd in het document dat moet worden ingevoegd in het fragment wanneer deze wordt opgeroepen. Bijvoorbeeld, als u:
A $selected$ is an object that I like.
en het woord was auto geselecteerd toen je de sjabloon opriep, zou je krijgen:
A car is an object that I like.
2.2.2 Functies

Functies in de letterlijke- of object-tag betekent dat u een functie kunt gebruiken voor het genereren van code, afhankelijk van een ander element. Er zijn drie functies die ik ken:

Functie Beschrijving Taal
GenerateSwitchCases (EnumerationLiteral) Genereert een switch-instructie en een set case-instructies voor de leden van de opsomming die zijn opgegeven met de parameter EnumerationLiteral. De parameter EnumerationLiteral moet een verwijzing zijn naar een letterlijk opsomming of een opsommingstype. Visual C # en Visual J # 1
ClassName() Retourneert de naam van de klasse die het ingevoegde fragment bevat. Visual C # en Visual J # 1
SimpleTypeName(TypeName) Hiermee verkleint u de parameter TypeName naar de eenvoudigste vorm in de context waarin het fragment is aangeroepen. Visueel C #

1 alleen beschikbaar in Visual Studio 2005.

Brontabel : msdn.microsoft.com

Attributen voor de letterlijke en objectelementen

De tags Letterlijk en Object kunnen enkele optionele kenmerken hebben.

Attribuut Beschrijving Type
bewerkbare Geeft aan of u het letterlijke kunt bewerken nadat het codefragment is ingevoegd. De standaardwaarde van dit kenmerk is true. Boolean

Brontabel : msdn.microsoft.com

2.3 Verwijzingen

Groepeert referentie-elementen die informatie bevatten over merkreferenties voor het codefragment. Dit kan volgende elementen bevatten:

  • Merk: bevat de naam van het merk door het codefragment (verplicht)
  • URL: bevat een website die meer informatie geeft over de montage

2.4 Code

Code is de code die u genereert tussen <![CDATA[ en ]]> . Plaats de ID van uw letterlijke waarde tussen dollartekens en Visual Studio zal u vragen deze standaardwaarde te wijzigen als de aangiften zijn ingevuld. Hier hebt u een voorbeeld voor C # en VB voor de snelkoppeling.

<!-- ... 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 ... -->

In het vereiste taalkenmerk kunt u uw taal definiëren waar u het fragment maakt. U kunt de talen die u kunt gebruiken in de volgende tabel vinden.

Taal keyword Beschikbaar in volgende versies
Visueel C # CSharp 2005, 2010, 2012 en later
Visual Basic VB 2005, 2010, 2012 en later
XML XML 2005, 2010, 2012 en later
Visueel J # VJSharp 2005, 2012 en later
C ++ CPP 2012 en later
JavaScript JavaScript 2012 en later
JScript JScript 2012 en later
SQL SQL 2012 en later
HTML HTML 2012 en later
CSS CSS 2012 en later
XAML XAML 2012 en later

Andere optionele kenmerken zijn:

Attribuut Beschrijving
Delimiter Geeft het scheidingsteken aan dat wordt gebruikt om literalen en objecten in de code te beschrijven. Het scheidingsteken is standaard $ .
Soort Specificeert het soort code dat het fragment bevat en daarom de locatie waar een codefragment moet worden ingevoegd om het codefragment te compileren.

De geldige waarden voor de soortvariabele zijn:

Waarde Beschrijving
methode lichaam Geeft aan dat het codefragment een body van een methode is en daarom in een methodeverklaring moet worden ingevoegd.
methode dec Geeft aan dat het codefragment een methode is en daarom in een klasse of module moet worden ingevoegd.
type dec Geeft aan dat het codefragment een type is en daarom moet worden ingevoegd in een klasse, module of naamruimte.
het dossier Geeft aan dat het fragment een volledig codebestand is. Deze codefragmenten kunnen alleen in een codebestand of in een naamruimte worden ingevoegd.
ieder Geeft aan dat het fragment overal kan worden ingevoegd. Deze tag wordt gebruikt voor codefragmenten die contextonafhankelijk zijn, zoals opmerkingen.

Brontabellen : msdn.microsoft.com

Importeer fragment in Visual Studio

  1. Sla de XML-code op en geef deze de extensie .snippet .

  2. U kunt het nieuwe gemaakte fragment toevoegen aan Visual Studio door op Control + K , Control + B te drukken of naar "Tools""Code Snippets Manager ..." te gaan . Dit open volgende venster:

    Het venster Codefragmentbeheer

  3. Kies de taal in het keuzevak voor welke taal je het fragment hebt gemaakt. klik op "Importeren ..." en kies het bestand dat u hebt gemaakt.

    Het venster Codefragment importeren

  4. Klik op "Finish" . Als de bestandsnaam al is gebruikt, vraagt Visual Studio om het bestaande bestand te vervangen. Je hebt drie opties:

    • Overschrijven: overschrijft het bestand. U kunt deze optie gebruiken als u een oud fragment wilt bewerken.
    • Naam wijzigen: gaat het bestand hernoemen naar een unieke naam.
    • Overslaan: Annuleert het importeren. Hernoemt het bestand naar een unieke naam.

U kunt ook een nieuwe locatie toevoegen met alle fragmenten die u hebt gemaakt door in het eerste venster op de knop "Toevoegen ..." te klikken en de map in het "mapvenster selecteren" te selecteren . Het voordeel is nu dat wanneer een nieuw geldig fragment in die map wordt toegevoegd, u dit rechtstreeks in Visual Studio kunt gebruiken.

Opmerking: test na het importeren van uw fragment op fouten, zodat u geen problemen ondervindt wanneer u het fragment gebruikt. U kunt het fragment altijd verwijderen of overschrijven als er een fout is.

Belangrijk punt

U kunt ook de documentatie op MSDN bekijken voor meer informatie.

Hulpmiddelen voor samenvoegen / vergelijken overschrijven

Got to Tools | Opties | Broncontrole | Visual Studio Team Foundation Server

klik op de Configureer Gebruikersinstellingen:

voer hier de afbeeldingsbeschrijving in

U kunt afzonderlijke overschrijvingen toevoegen voor bewerkingen 'Vergelijken' en 'Samenvoegen'. Klik op Toevoegen en selecteer de bewerking die u wilt overschrijven. U moet het pad naar de tool typen die u gebruikt, en de exacte argumenten die uw tool verwacht. Om bijvoorbeeld BeyondCompare te gebruiken, voegt u de volgende argumenten "% 1% 2 / title1 =% 6 / title2 =% 7" toe:

voer hier de afbeeldingsbeschrijving in

Om samen te voegen met BeyondCompare gebruikt u de argumenten "% 1% 2% 3% 4 / title1 =% 6 / title2 =% 7 / title3 =% 8 / title4 =% 9"

In een blogpost uit 2006 onderzocht MS-medewerker James Manning de argumenten zoals verwacht door verschillende tools: WinDiff, DiffDoc, WinMerge, Beyond Compare, KDiff3, Araxis, Compare It !, SourceGear DiffMerge, TortoiseMerge en Visual SlickEdit. Het bericht is een goed startpunt, maar zorg ervoor dat u de bijgewerkte documentatie van uw tool controleert.

Het wordt sterk aangeraden niet te gebruiken voor het samenvoegen tools die niet in staat zijn 3-weg fuseert (bv WinMerge 2.x) zijn.

Entiteitskader

Entity Framework (EF) is een object-relationele mapper waarmee .NET-ontwikkelaars kunnen werken met relationele gegevens met behulp van domeinspecifieke objecten. Het elimineert de noodzaak voor het grootste deel van de gegevenstoegangscode die ontwikkelaars meestal moeten schrijven.

Met Entity Framework kunt u een model maken door code te schrijven of vakken en lijnen te gebruiken in de EF Designer. Beide benaderingen kunnen worden gebruikt om een bestaande database te targeten of een nieuwe database te maken.

Bron en meer informatie: Entity Framework-documentatie



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow