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