Visual Studio
Narzędzia Visual Studio
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.
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 |
|
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.
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. |
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 obiektowychZnaczniki 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
Zapisz kod XML i nadaj mu rozszerzenie
.snippet.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:
Wybierz język w polu kombi, dla którego języka utworzyłeś fragment kodu. kliknij „Importuj ...” i wybierz utworzony plik.
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:
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”:
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




