Szukaj…


Kod Soczewki

Soczewka kodu to prosty sposób na sprawdzenie, co dzieje się z kodem. Tutaj możesz znaleźć obraz z liczbą odwołań do metody lub klasy.

Kod soczewki

Jeśli nie widzisz soczewki kodowej, zapoznaj się z tym pytaniem: Brakuje referencji CodeLens w wersji Community VS 2015

Fragmenty

Wprowadzenie

Od Visual Studio 2005 możesz tworzyć fragmenty kodu Intellisense. Umożliwia to wygenerowanie kodu poprzez wpisanie jednego słowa kluczowego i dwukrotne naciśnięcie klawisza Tab .

Korzystanie z kodu

Poniżej znajduje się kod XML potrzebny do utworzenia fragmentu kodu Intellisense:

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

W tagu snippet masz dwa wymagane tagi o nazwie Header i Snippet. Więcej informacji znajdziesz w następnych nagłówkach. Liczba obok nazwy odpowiada numerom z powyższego kodu.

Do elementu CodeSnippets można dodać zero lub więcej elementów CodeSnippet.

1. Nagłówek

W tagu nagłówka możesz umieścić określone informacje o fragmencie i jego działaniach. Ważne tagi, których możesz użyć w tym tagu to:

Element Opis
Tytuł Tytuł fragmentu. Ten atrybut jest wymagany.
Autor Autor fragmentu.
Skrót To skrót, którego możesz użyć do wygenerowania kodu. Pamiętaj, że może zawierać tylko litery i cyfry i musi zaczynać się od litery.
Uwaga: pamiętaj również, aby nadać temu fragmentowi dobrą i niepowtarzalną nazwę i skrót. W przeciwnym razie spowoduje to problemy podczas importowania fragmentu kodu do programu Visual Studio.
Opis W razie potrzeby podaje więcej informacji o fragmencie.
HelpUrl Adres URL strony pomocy w Internecie.
Słowa kluczowe Grupuje jeden lub więcej elementów słów kluczowych.
SnippetTypes

SnippetType elementy SnippetType . Ten element zawiera wartość tekstową i musi być jedną z następujących wartości. Typy fragmentów są scalane z ukośnikiem.


  • SurroundsWith : umożliwia umieszczenie fragmentu kodu wokół wybranego fragmentu kodu.
  • Expansion : umożliwia wstawienie fragmentu kodu pod kursorem.
  • Refactoring : Określa, że fragment kodu jest używany podczas refaktoryzacji w Visual C #. Refaktoryzacji nie można używać w niestandardowych fragmentach kodu.
Lista źródeł: msdn.microsoft.com

Tabela źródłowa (ale zmiany): msdn.microsoft.com

2. Snippet

W tagu snippet możesz użyć trzech różnych tagów. To może być:

  • Import
  • Deklaracje
  • Kod (wymagany)
  • Bibliografia

Zostały one wyjaśnione poniżej.

2.1 Import

Imports zawiera wymagane przestrzenie nazw potrzebne do kodu. Użyj znacznika importu wewnątrz tego znacznika, a tutaj możesz umieścić potrzebne przestrzenie nazw, każdy z tagiem Namespace .

2.2 Deklaracje

Declarations można użyć do zadeklarowania niektórych literałów lub obiektów w kodzie w znaczniku Code . Dzieci są dosłowne i przedmioty.

2.2.1 Literały i przedmioty

Literały i obiekty definiują literały i obiekty fragmentu kodu, które można edytować. Funkcjonalność to literały, a obiekty są takie same, ale ma dodatkowe ograniczenie typu.

Literał i znacznik obiektu mogą zawierać kolejne elementy podrzędne:

  • ID : identyfikator literału (wymagany)
  • Type : typ tego obiektu, w tym przestrzeń nazw i klasa (wymagane przez obiekty)
  • ToolTip : Daje napiwek
  • Default : domyślna wartość tego obiektu (wymagana)
  • Functions

We fragmentach znajduje się kilka predefiniowanych literałów. Są one wymienione poniżej:

Dosłowny Detale
$end$ Zaznacza lokalizację, w której ma zostać umieszczony kursor po wstawieniu fragmentu kodu.
$selected$ Reprezentuje tekst wybrany w dokumencie, który ma zostać wstawiony do fragmentu po jego wywołaniu. Przykład, jeśli masz:
A $selected$ is an object that I like.
a słowo zostało wybrane jako samochód po wywołaniu szablonu, otrzymasz:
A car is an object that I like.
2.2.2 Funkcje

Funkcje w znaczniku dosłownym lub obiektowym oznaczają, że można użyć funkcji do generowania kodu w zależności od innego elementu. Są trzy funkcje, które znam:

Funkcjonować Opis Język
GenerateSwitchCases (EnumerationLiteral) Generuje instrukcję switch i zestaw instrukcji case dla elementów wyliczenia określonych przez parametr EnumerationLiteral. Parametr EnumerationLiteral musi być odwołaniem do literału wyliczenia lub typu wyliczenia. Visual C # i Visual J # 1
ClassName() Zwraca nazwę klasy zawierającej wstawiony fragment kodu. Visual C # i Visual J # 1
SimpleTypeName(TypeName) Zmniejsza parametr TypeName do najprostszej postaci w kontekście, w którym wywołano fragment kodu. Visual C #

1 dostępne tylko w Visual Studio 2005.

Tabela źródłowa: msdn.microsoft.com

Atrybuty elementów literalnych i obiektowych

Znaczniki literału i obiektu mogą mieć niektóre opcjonalne atrybuty.

Atrybut Opis Rodzaj
Edytowalne Określa, czy można edytować literał po wstawieniu fragmentu kodu. Domyślna wartość tego atrybutu to true. Boolean

Tabela źródłowa: msdn.microsoft.com

2.3 Referencje

Grupuje elementy odniesienia, które zawierają informacje o odwołaniach do zestawu dla fragmentu kodu. Może zawierać kolejne elementy:

  • Zestaw: zawiera nazwę zestawu według fragmentu kodu (wymagane)
  • Adres URL: zawiera witrynę internetową, która zawiera więcej informacji o zespole

2.4 Kod

Kod to kod, który wygenerujesz między <![CDATA[ a ]]> . Umieść ID literału między znakami dolara, a Visual Studio poprosi cię o zmianę tych wartości domyślnych, jeśli deklaracje są wypełnione. Oto przykład dla C # i VB dla skrótu 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 ... -->

W wymaganym atrybucie Język możesz zdefiniować język, w którym tworzysz fragment kodu. Języki, których możesz użyć, znajdziesz w następnej tabeli.

Język Słowo kluczowe Dostępne w następnych wersjach
Visual C # CSharp 2005, 2010, 2012 i później
Visual Basic VB 2005, 2010, 2012 i później
XML XML 2005, 2010, 2012 i później
Visual J # VJSharp 2005, 2012 i później
C ++ CPP 2012 i później
JavaScript JavaScript 2012 i później
JScript JScript 2012 i później
SQL SQL 2012 i później
HTML HTML 2012 i później
CSS CSS 2012 i później
XAML XAML 2012 i później

Inne opcjonalne atrybuty to:

Atrybut Opis
Ogranicznik Określa ogranicznik używany do opisywania literałów i obiektów w kodzie. Domyślnie ogranicznikiem jest $ .
Uprzejmy Określa rodzaj kodu, który zawiera fragment kodu, a zatem miejsce, w którym fragment kodu musi zostać wstawiony, aby fragment kodu mógł zostać skompilowany.

Prawidłowe wartości zmiennej rodzaju to:

Wartość Opis
treść metody Określa, że fragment kodu jest treścią metody, dlatego należy go wstawić do deklaracji metody.
metoda deklar Określa, że fragment kodu jest metodą, dlatego należy go wstawić do klasy lub modułu.
wpisz decl Określa, że fragment kodu jest typem i dlatego musi zostać wstawiony do klasy, modułu lub przestrzeni nazw.
plik Określa, że fragment jest pełnym plikiem kodu. Te fragmenty kodu można wstawić samodzielnie do pliku kodu lub w przestrzeni nazw.
każdy Określa, że fragment kodu można wstawić w dowolnym miejscu. Ten znacznik służy do fragmentów kodu niezależnych od kontekstu, takich jak komentarze.

Tabele źródłowe: msdn.microsoft.com

Zaimportuj Snippet do Visual Studio

  1. Zapisz kod XML i nadaj mu rozszerzenie .snippet .

  2. Możesz dodać nowo utworzony fragment do programu Visual Studio, naciskając Control + K , Control + B lub przejdź do „Narzędzia”„Menedżer fragmentów kodu ...” . To otwarte następne okno:

    Okno menedżera fragmentu kodu

  3. Wybierz język w polu kombi, dla którego języka utworzyłeś fragment kodu. kliknij „Importuj ...” i wybierz utworzony plik.

    Okno Importuj fragment kodu

  4. Kliknij "Finish" . Jeśli nazwa pliku została już użyta, Visual Studio idź o zastąpienie istniejącego pliku. Masz trzy opcje:

    • Zastąp: zastępuje plik. Możesz użyć tej opcji, jeśli będziesz edytować stary fragment kodu.
    • Zmień nazwę: Zmienia nazwę pliku na unikalną nazwę.
    • Pomiń: Anuluje import. Zmienia nazwę pliku na unikalną nazwę.

Możesz także dodać nową lokalizację ze wszystkimi wykonanymi fragmentami, klikając przycisk „Dodaj ...” w pierwszym oknie i wybierając folder w „oknie wyboru folderu” . Zaletą jest to, że po dodaniu nowego prawidłowego fragmentu w tym folderze można go użyć bezpośrednio w programie Visual Studio.

Uwaga: po zaimportowaniu fragmentu przetestuj go pod kątem błędów, aby nie występowały problemy z użyciem fragmentu. Zawsze możesz usunąć lub zastąpić fragment kodu, jeśli wystąpi błąd.

Punkt zainteresowania

Więcej informacji można znaleźć w dokumentacji MSDN .

Zastąp narzędzia scalania / porównywania

Got To Tools | Opcje | Kontrola źródła | Serwer Visual Studio Team Foundation Server

kliknij Konfiguruj narzędzia użytkownika:

wprowadź opis zdjęcia tutaj

Możesz dodać osobne przesłonięcia dla operacji „Porównaj” i „Scal”. Kliknij Dodaj i wybierz operację, którą chcesz zastąpić. Musisz wpisać ścieżkę do używanego narzędzia oraz dokładne argumenty, jakich oczekuje Twoje narzędzie. Na przykład, aby użyć BeyondCompare, dodaj następujące argumenty „% 1% 2 / title1 =% 6 / title2 =% 7”:

wprowadź opis zdjęcia tutaj

Aby połączyć się z BeyondCompare, użyj argumentów „% 1% 2% 3% 4 / title1 =% 6 / title2 =% 7 / title3 =% 8 / title4 =% 9”

W blogu z 2006 r. Pracownik MS James Manning zbadał argumenty zgodnie z oczekiwaniami różnych narzędzi: WinDiff, DiffDoc, WinMerge, Beyond Compare, KDiff3, Araxis, Compare It !, SourceGear DiffMerge, TortoiseMerge i Visual SlickEdit. Wpis jest dobrym punktem wyjścia, ale koniecznie sprawdź aktualną dokumentację swojego narzędzia.

Zdecydowanie zaleca się, aby nie używać do scalania narzędzi, które nie są zdolne do łączenia w 3 kierunkach (np. WinMerge 2.x).

Entity Framework

Entity Framework (EF) to obiektowo-odwzorowujący obiekt, który umożliwia programistom .NET pracę z danymi relacyjnymi przy użyciu obiektów specyficznych dla domeny. Eliminuje to konieczność korzystania z większości kodu dostępu do danych, który programiści zwykle muszą pisać.

Entity Framework umożliwia tworzenie modelu poprzez pisanie kodu lub używanie pól i linii w programie EF Designer. Oba te podejścia można zastosować do ukierunkowania na istniejącą bazę danych lub utworzenia nowej bazy danych.

Źródło i więcej informacji: dokumentacja Entity Framework



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow