Visual Studio Icon Visual Studio 2015 r.


Postanowienia licencyjne | Visual Studio bloga | Deweloper Community

Uwaga

To nie jest najnowsza wersja programu Visual Studio. Aby pobrać najnowszą wersję, odwiedź informacje o bieżącej wersji programu Visual Studio 2019.


Visual Studio 2015

Możesz wyświetlić informacje o wersji dla wszystkich wersji programu Visual Studio 2015:

Pobierz program Visual Studio 2015

Możesz pobrać program Visual Studio 2015 ze strony My.VisualStudio.com. Portal My.VisualStudio.com wymaga bezpłatnej subskrypcji programu Dev Essentials lub subskrypcji programu Visual Studio.


Release Notes Icon Visual Studio 2015

Wydana 20 lipca 2015 r.

Podsumowanie nowości w tej wersji

Inne zmiany:

Szczegółowe informacje o nowościach w tej wersji

Visual C++ dla opracowywania aplikacji mobilnych na wiele platform

Teraz można łatwo udostępniać, ponownie używać, kompilować, wdrażać i debugować cały kod, oprócz kodu najbardziej specyficznego dla platformy, na wielu platformach aplikacji, a wszystko to w ramach jednego rozwiązania w Visual Studio. Oto kilka rzeczy, które można wykonać:

  • Twórz projekty z szablonów dla aplikacji działania natywnego systemu Android lub dla udostępnionych bibliotek kodu, których można używać na wielu platformach i w aplikacjach systemu Android natywnych dla platformy Xamarin.

  • Funkcja IntelliSense specyficzna dla platformy umożliwia eksplorowanie interfejsów API i generowanie poprawnego kodu dla systemu Android lub Windows docelowych.

  • Skonfiguruj kompilację dla platform natywnych x86 lub ARM.

  • Wd wdrażać kod na dołączonych urządzeniach z systemem Android lub testować za pomocą performant emulatora systemu Android firmy Microsoft.

  • Ustawianie punktów przerwania, obserwowanie zmiennych, wyświetlanie stosu i przechodzinie przez kod w Visual Studio debugowania.

  • Wyświetl dziennik komunikatów z urządzenia z systemem Android przy użyciu przeglądarki LogCat. (Logcat to narzędzie diagnostyczne niezbędne do dobrego edytowania > — kompilacji > i debugowania).
    Użyj usługi Logcat, aby wykonać następujące czynności:

    • Wyszukiwanie określonych komunikatów dziennika przy użyciu paska wyszukiwania.
    • Użyj opcji Przełącz automatyczne rejestrowanie, aby łatwo wyświetlać nadchodzące komunikaty dziennika.
    • Wyczyść poprzednie komunikaty wyjściowe dziennika.
    • Wybierz różne poziomy dziennika.
  • Napisz kod w języku C++ przeznaczony dla platformy iOS i skorzystaj z zaawansowanych funkcji tworzenia kodu, takich jak między innymi udostępnianie kodu, wieloplatformowa funkcja IntelliSense, refaktoryzacja i podgląd definicji. Obsługa systemu iOS jest nadal w toku, więc wkrótce możesz dowiedzieć się więcej na ten temat. Możesz wysłać nam opinię, korzystając z Połączenie błędów. Ponadto możesz wysłać nam swoje szybkie przemyślenia, korzystając z funkcji Send-a-Smile w Visual Studio IDE.

Dodaliśmy lub zaktualizowaliśmy również następujące elementy:

  • Obsługa interfejsu API systemu Android poziom 21 (Lollipop).
  • Nowy szablon oparty na zapewnianiu obsługi plików dla systemu Android, który umożliwia korzystanie z zewnętrznego systemu kompilacji (w tym NDK-BUILD).
  • Prekompilowane nagłówki we wszystkich szablonach (w tym dynamiczna biblioteka udostępniona, biblioteka statyczna i międzyplatformowe szablony mobilne).

Visual Studio Tools dla Apache Cordova

Rozwiązanie Visual Studio Tools for Apache Cordova, wcześniej znane jako hybrydowe aplikacje dla wielu urządzeń, ułatwia tworzenie, debugowanie i testowanie międzyplatformowych aplikacji dla systemów Android, iOS, Windows i Windows Phone z jednego prostego projektu Visual Studio. Visual Studio

Wszystkie funkcje dostępne w poprzednich CTK są teraz dostępne w wersji VISUAL STUDIO 2015 RC, w tym następujące ulepszenia:

  • Aktualizacja po zapisaniu dla ripple — nie trzeba ponownie kompilować!
  • Debugowanie wersji aplikacji systemu iOS z programu Visual Studio po jej wdrożeniu w symulatorze systemu iOS lub na połączonym urządzeniu na komputerze Mac
  • Ulepszone zabezpieczenia i uproszczona konfiguracja dołączonego zdalnego agenta kompilacji systemu iOS
  • Ulepszone środowisko zarządzania wtyczkami, które obejmuje obsługę dodawania niestandardowych wtyczek do projektu z usługi Git lub systemu plików
  • Wybieranie opcji konfiguracji specyficznych dla platformy przy config.xml projektanta
  • Obsługa Apache Cordova 4.0.0.

Nasłuchiwać opinii użytkowników i rozszerzać liczbę urządzeń, na których można debugować, w następujący sposób:

  • Android 4.4, Android 4.3 i starsze z platformą jsHybugger
  • iOS 6, 7 i 8
  • Windows Store 8.1

Następnie jeszcze bardziej rozszerzaliśmy obsługę debugowania. Teraz możesz debugować aplikacje Apache Cordova docelowe Windows Phone 8.1.

Punkty przerwania można ustawiać, sprawdzać zmienne, używać konsoli programu i wykonywać inne zadania debugowania na Windows Phone 8.1 emulatora lub dołączonego urządzenia.

Debugowanie za pomocą Visual Studio Tools dla Apache Cordova

Dodaliśmy współdziałanie interfejsu wiersza polecenia dla wersji RC. Projekty Cordova w Visual Studio będą teraz synchronizowane ze zmianami wprowadzonymi w folderze projektu na dysku. Zmiany mogą przepływać do i z Visual Studio niezależnie od tego, czy pracujesz z narzędziami innych firm, czy z innymi systemami operacyjnymi. (Domyślna struktura plików dla projektów Cordova jest oparta na strukturze oczekiwanej przez narzędzia wiersza polecenia programu Apache Cordova, co ułatwia pracę bezpośrednio z interfejsem wiersza polecenia programu Apache Cordova lub innymi narzędziami, które oczekują tej struktury folderów).

Visual Studio Emulator dla systemu Android

Możesz użyć biblioteki Visual Studio Emulator dla systemu Android w międzyplatformowych projektach w programie Visual Studio (Xamarin lub C++) lub w programie Visual Studio Tools for Apache Cordova. Emulator umożliwia przełączanie się między różnymi emulatorami platformy bez konfliktów funkcji Hyper-V. Obsługuje szeroką gamę czujników i symulacji, w tym GPS/lokalizację, akcelerometr, obracanie ekranu, powiększenie, kartę SD, kamerę, obsługę wielostykową i dostęp do sieci. Obsługuje również system Android w wersji 4.4 (KitKat, API Level 19) i 5.0 (Lollipop, API Level 21).

Aplikacja Visual Studio Emulator dla systemu Android obsługuje zarówno symulację sieci Wi-Fi, jak i możliwość wyboru spośród kilku różnych konfiguracji sprzętu urządzenia.

Dodaliśmy następujące nowe funkcje dla wersji RTM:

  • Nowe platformy. Dostępne są obrazy z interfejsami Api 17 i Lollipop 5.1 (API 22).
  • Interfejs wiersza polecenia. Przejście do folderu %programfiles(x86)%\Microsoft Emulator Manager\1.0\emulatorcmd.exe w wierszu polecenia umożliwi interakcję z menedżerem emulatora (list, install, start profiles itp.) bez interfejsu użytkownika.
  • Przeciągnij i upuść biblioteki zip. Przeciągnięcie i upuszczenie flashowalnego pliku zip do emulatora spowoduje teraz automatyczne rozpakowanie i zainstalowanie go.
  • Karta karta SD. Ta nowa karta w oknie "Dodatkowe narzędzia" umożliwia wypychanie i ściąganie danych do i z karty SD.
  • Uzyskaj samodzielnie . Emulator można zainstalować na maszynie bez konieczności instalowania Visual Studio. Skrót do menedżera aplikacji Emulator pojawia się w menu Start, aby można było go uruchomić i używać z dowolnego łańcucha narzędzi dewelopera.

Aby uzyskać więcej informacji, zobacz Visual Studio Emulator for Android (Aplikacje dla systemu Android).

Visual Studio Tools do tworzenia aplikacji Windows uniwersalnych

Narzędzia Visual Studio do tworzenia aplikacji uniwersalnych Windows są zintegrowane z Visual Studio konfiguracji. Te narzędzia umożliwiają tworzenie aplikacji usługi Windows, które działają na wszystkich urządzeniach z systemem Windows 10 — telefonie w kieszeni, tablecie lub laptopie w torbie, komputerze stacjonarnym, urządzeniach IoT, a wkrótce także konsolach Xbox w domu, Surface Hub i innych. Ponadto za pomocą tych narzędzi można również tworzyć aplikacje Windows, które korzystają z Windows 10 API. Aby uzyskać więcej informacji, zobacz What's New in Visual Studio Tools for Universal Windows Apps(Co nowego w aplikacji Visual Studio Tools universal Windows Apps).

Aby uzyskać więcej informacji na Windows tworzenia aplikacji, zobacz Przewodnik po uniwersalnych aplikacjach Windows i Centrum deweloperów Windows deweloperów. Aby uzyskać informacje na temat najnowszych Windows i zestawów SDK, zobacz Windows Insider Portal.

(Visual C++)

W tej wersji kompilator języka C++ i biblioteka standardowa zostały zaktualizowane o rozszerzoną obsługę języka C++11 i wstępną obsługę niektórych funkcji języka C++14. Obejmują one również wstępną obsługę niektórych funkcji, które powinny być w standardzie C++17.

Ponadto naprawiono ponad 500 usterek kompilatora, w tym wiele z nich zostało przesłanych przez klientów za pośrednictwem Deweloper Microsoft Community — dziękujemy!

Funkcje językowe

Dodaliśmy następujące nowe funkcje, aby przybliżyć kompilator do standardowego języka C++:

  • Funkcje z wznawiania (resume/await) Słowa kluczowe resume i await zapewniają obsługę programowania asynchronicznego na poziomie języka i umożliwiają wznowienie funkcji. Obecnie ta funkcja jest dostępna tylko dla obiektów docelowych x64. Proponowane dla języka C++17 [N3858]
  • Ogólne (polimorficzne) wyrażenia lambda Typy parametrów funkcji lambda można teraz określać przy użyciu funkcji automatycznej. Kompilator interpretuje automatycznie w tym kontekście, aby oznaczać, że operator wywołania funkcji zamknięcia jest szablonem funkcji członkowskiej i że każde użycie funkcji auto w wyrażeniu lambda odpowiada odrębnemu parametrowi typu szablonu. C++14
  • Uogólnione wyrażenia przechwytywania lambda Znane również jako init-capture. Wynik dowolnego wyrażenia można teraz przypisać do zmiennej w klauzuli przechwytywania lambda. Dzięki temu typy tylko do przenoszenia mogą być przechwytywane przez wartość i umożliwiają wyrażeniu lambda definiowanie dowolnych składowych danych w obiekcie zamknięcia. C++14
  • Literały binarne są teraz obsługiwane. Takie literały mają prefiks 0B lub 0b i składają się tylko z cyfr 0 i 1. C++14
  • Return Type Deduction (Wywróć typ) Można teraz wywnioskować zwracany typ normalnych funkcji, w tym funkcje z wieloma instrukcje zwracania i funkcje rekursywne. Takie definicje funkcji są poprzedzone słowem kluczowym auto, tak jak w definicjach funkcji z typem zwracania końcowego, jednak zwracany typ na końcowej trasie jest pomijany. C++14
  • decltype(auto) Wywłaszczeń typów przy użyciu słowa kluczowego auto do inicjowania wyrażeń są odrzucane kwalifikatory ref i kwalifikatory cv najwyższego poziomu z wyrażenia. Funkcja decltype(auto) zachowuje kwalifikatory ref- i cv i może być teraz używana w dowolnym miejscu, w których można używać funkcji automatycznej, z wyjątkiem wprowadzania funkcji z wywnioskowana lub nakońcową zwracaną typem. C++14
  • Niejawne generowanie specjalnych funkcji członkowskich przenoszenia Konstruktory przenoszenia i przenoszenia operatorów przypisania są teraz generowane niejawnie, gdy zezwalają na to warunki, dzięki czemu kompilator jest w pełni zgodny z odwołaniami RVALUE języka C++11. C++11
  • Konstruktory dziedziczące Klasa pochodna może teraz określać, że będzie dziedziczyć konstruktory klasy bazowej Base, uwzględniając instrukcje przy użyciu base::base; w swojej definicji. Klasa pochodna może dziedziczyć tylko wszystkie konstruktory jej klasy bazowej. Nie ma możliwości dziedziczenia tylko określonych konstruktorów bazowych. Klasa pochodna nie może dziedziczyć z wielu klas bazowych, jeśli mają konstruktory, które mają identyczny podpis, ani nie może definiować konstruktora, który ma identyczny podpis co dowolny z dziedziczonych konstruktorów. C++11
  • Zapytanie wyrównania i kontrolka Wyrównanie zmiennej można zbadać za pomocą operatora alignof() i kontrolować za pomocą specyfikatora alignas(). funkcja alignof() zwraca granicę bajtów w wystąpieniach typu, który musi zostać przydzielony; Dla odwołań zwraca wyrównanie przywoływnego typu, a dla tablic zwraca wyrównanie typu elementu. alignas() steruje wyrównaniem zmiennej; Przyjmuje stałą lub typ, gdzie typ jest skrótem dla alignas (alignof(type)). C++11
  • Rozszerzony rozmiar Rozmiar zmiennej członkowskiej klasy lub struktury można teraz określić bez wystąpienia klasy lub struktury przy użyciu funkcji sizeof(). C++11
  • constexpr Częściowa obsługa constexpr języka C++11. C++11 (częściowy)
  • Literały zdefiniowane przez użytkownika (UCL) Znaczące sufiksy można teraz dołączać do literałów liczbowych i literałów ciągów, aby nadać im określoną semantykę. Kompilator interpretuje literały sufiksów jako wywołania odpowiedniego operatora UDL. C++11
  • Statyczne Sejf typu "Magic" wątkowo Statyczne zmienne lokalne są teraz zainicjowane w sposób bezpieczny wątkowo, eliminując konieczność ręcznej synchronizacji. Tylko inicjowanie jest bezpieczne wątkowo. Używanie statycznych zmiennych lokalnych przez wiele wątków nadal musi być zsynchronizowane ręcznie. Funkcję statyczną bezpieczną wątkowo można wyłączyć przy użyciu flagi /Zc:threadSafeInit-, aby uniknąć zależności od CRT. C++11
  • Lokalne Storage Użyj słowa thread_local , aby zadeklarować, że dla każdego wątku powinien zostać utworzony niezależny obiekt. C++11
  • Teraz można użyć operatora noexcept, aby sprawdzić, czy wyrażenie może zgłosić wyjątek. Specyfikator noexcept może teraz służyć do określania, że funkcja nie zgłasza wyjątków. C++11
  • Wbudowane przestrzenie nazw Przestrzeń nazw można teraz określić jako w tekście w celu wciągania jej zawartości do otaczającej przestrzeni nazw. Wbudowane przestrzenie nazw mogą służyć do tworzenia wersjonowanych bibliotek, które domyślnie uwidoczniają najnowszą wersję, a jednocześnie jawnie udostępniają poprzednie wersje interfejsu API. C++11
  • Nieograniczone unieruchamień Typ unii może teraz zawierać typy z konstruktorami nieszybkimi. Konstruktory dla takich unii muszą być zdefiniowane. C++11
  • Nowe typy znaków i literały Unicode Literały znaków i ciągów w formatach UTF-8, UTF-16 i UTF-32 są teraz obsługiwane i wprowadzono nowe typy znaków char16_t i char32_t znaków. Literały znaków mogą być poprzedzone ciągami u8 (UTF-8), u (UTF-16) lub U (UTF-32), jak w przypadku litery U'a, natomiast literały ciągu mogą być dodatkowo poprzedzone nieprzetworzonymi odpowiednikami ciągu u8R (nieprzetworzony ciąg UTF-8), uR (nieprzetworzony ciąg UTF-16) lub UR (UTF-32 raw-string). Nazwy znaków uniwersalnych można swobodnie używać w literałach Unicode, jak w u'\u00EF', u8"\u00EF to i", a ty"\U000000ef to I". C++11
  • func Wstępnie zdefiniowana func identyfikatora jest niejawnie zdefiniowana jako ciąg zawierający niekwalifikowaną i nieokreśloną nazwę otaczającej funkcji. C++11
  • __restrict __restrict można teraz zastosować do odwołań.
  • Słowo kluczowe typename. Użytkownicy mogą teraz zapisywać nazwę typu zamiast klasy w parametrze szablonu szablonu. C++14
  • Operator delete(void *, std::size_t) noexcept i void operatora delete [](void *, std::size_t) noexcept może być teraz przeciążony. C++14
  • Separatory cyfr Teraz możesz przeplatać literały liczbowe za pomocą pojedynczych cudzysłowów, aby było to bardziej czytelne. Na przykład int x = 1'000'000;. C++14
  • Nazwy znaków uniwersalnych w literałach Teraz możesz zapisywać znaki podstawowe, takie jak "A" i znak kanału informacyjnego wiersza, jako punkty kodu w literałach. Na przykład const char *s = "\u0041\u000A";. C++11
  • Niestatyczne inicjatory członkowskie danych działają teraz poprawnie z listami inicjatorów. C++11
  • Atrybuty Teraz możesz określić funkcję jako [[noreturn]], aby poinformować kompilator, że funkcja nie zwraca (chociaż może zgłosić wyjątek). Różne konstrukcje można teraz również określić jako [[przestarzałe]]. Atrybuty są teraz dozwolone w przestrzeniach nazw i modułach wyliczających. C++11, C++14 i C++17
  • Literały zdefiniowane przez użytkownika (UCL) Literały numeryczne i ciągu mogą teraz mieć znaczące sufiksy, które wykonują niestandardowe obliczenia na danych literału. C++11
  • Atrybuty określania kolejności zależności danych Możesz teraz określić parametry funkcji, parametry lambda lub deklaracje funkcji jako [[carries_dependency]] w celu ulepszenia optymalizacji współbieżnych struktur danych, które są często odczytywane, ale rzadko modyfikowane. C++11
  • Nowe reguły automatycznego z listami nawiasów klamrowych Automatyczne inicjalizacja listy kopii spowoduje teraz wywedukowanie pliku std::initializer_list lub zostanie źle utworzone w inny sposób. C++17

Visual C++ biblioteki

  • Literały zdefiniowane przez użytkownika (UCL) dla standardowych typów bibliotek Nagłówki chrono, string i complex zapewniają teraz < > < > < > operatory UDL dla Twojej wygody. Na przykład 123 ms oznacza std::chrono::milliseconds(123), "hello"s oznacza std::string("hello"), a 3,14i oznacza std::complex(0.0, 3.14).
  • Iteratory do przodu o wartości null Biblioteka standardowa umożliwia teraz tworzenie iteratorów do przodu, które nie odwołują się do wystąpienia kontenera. Takie iteratory są inicjowane wartościami i porównywane jako równe dla określonego typu kontenera. Porównywanie iteratora zainicjowanego przez wartość z iteratorem, który nie jest zainicjowany wartością, jest niezdefiniowane. C++14
  • quoted() Biblioteka standardowa obsługuje teraz funkcję quoted(), aby ułatwić pracę z wartościami ciągów w cudzysłowy i we/wy. W przypadku elementu quoted() cały ciąg w cudzysłowy jest traktowany jako pojedyncza jednostka (ponieważ ciągi znaków innych niż odstępy znajdują się w strumieniach We/Wy); Ponadto sekwencje ucieczki są zachowywane za pośrednictwem operacji We/Wy. C++14
  • Heterogeniczne wyszukiwania asocjacyjne Biblioteka standardowa obsługuje teraz funkcje wyszukiwania heterogenicznego dla kontenerów asocjacyjnych. Takie funkcje umożliwiają wyszukiwania według typów innych niż key_type, o ile typ jest porównywalny z key_type. C++14
  • Sekwencje liczb całkowitych czasu kompilacji Biblioteka standardowa obsługuje teraz typ integer_sequence reprezentujący sekwencję wartości całkowitych, które można ocenić w czasie kompilacji, aby ułatwić pracę z pakietami parametrów i uprościć niektóre wzorce programowania szablonów. C++14
  • exchange() Biblioteka standardowa obsługuje teraz funkcję narzędzia std::exchange() w celu przypisania nowej wartości do obiektu i zwraca jej starą wartość. W przypadku typów złożonych exchange() unika kopiowania starej wartości, gdy konstruktor przenoszenia jest dostępny, unika kopiowania nowej wartości, jeśli jest to wartość tymczasowa lub jest przenoszony, i akceptuje dowolny typ jako nową wartość, korzystając z dowolnego operatora przypisania konwertującego. C++14
  • Dual-Range equal(), is_permutation(), mismatch() Biblioteka standardowa obsługuje teraz przeciążenia dla std::equal(), std::is_permutation() i std::mismatch(), które akceptują dwa zakresy. Te przeciążenia obsługują sekwencje o różnych długościach. C++14
  • pobierz < T > () Biblioteka standardowa obsługuje teraz funkcję szablonu get T (), aby umożliwić obsługę elementów krotki < według ich > typu. Jeśli krotka zawiera co najmniej dwa elementy tego samego typu, get T () krotka nie może być zaadresowana przez ten typ; jednak inne elementy o unikatowym typie mogą być nadal < > adresowane. C++14
  • tuple_element_t Biblioteka standardowa obsługuje teraz alias typu tuple_element_t I, T, który jest aliasem nazwy typu tuple_element < > < I, T > ::type. Zapewnia to pewien udogodnienie dla programistów szablonów, podobnie jak w przypadku innych aliasów typów metafunction w < type_traits > . C++14
  • Specyfikacja techniczna systemu plików "V3" Uwzględniona implementacja specyfikacji technicznej systemu plików została zaktualizowana do wersji końcowej.
  • Minimalne alokatory Biblioteka standardowa obsługuje teraz minimalny interfejs alokatora w całym; poprawki obejmują std::function, shared_ptr, allocate_shared() i basic_string. C++11
  • < chrono > Typy chrono high_resolution_clock i steady_clock zostały naprawione. C++11
  • Constexpr został zaimplementowany w standardowej bibliotece języka C++. C++11, C++14 i C++17
  • quick_exit() Teraz możesz bardziej dokładnie kończyć procesy wielowątkowe, wywołując quick_exit() i uruchamiając kod oczyszczania w funkcji at_quick_exit(). C++11
  • void_t obsługuje zaawansowane metaprogramowanie szablonów. C++17
  • Konwersje na unique_ptr < T[] > są teraz dozwolone, jeśli wiadomo, że są bezpieczne. C++17
  • Metoda invoke() umożliwia wywoływanie obiektów funkcji, wskaźników do funkcji składowych i wskaźników do składowych danych przy użyciu jednolitej składni. C++17
  • noexcept Biblioteka standardowa oczyściła użycie funkcji noexcept w niektórych funkcjach. C++17
  • uncaught_exceptions() zgłasza liczbę wyjątków w locie (która może być większa niż 1). C++17
  • reference_wrapper jest teraz trywialnie kopiowalny. C++17
  • Map/unordered_map obsługuje teraz insert_or_assign()/try_emplace(). C++17
  • Dostępne są teraz funkcje inne niż członkowskie size(), empty() i data(). C++17
  • auto_ptr, random_shuffle() i < > stare maszyny funkcjonalne zostały wycofane w języku C++11/14 i usunięte w języku C++17. Visual Studio 2015 domyślnie je udostępnia, ale zdefiniowanie wartości _HAS_AUTO_PTR_ETC do 0 w całym projekcie powoduje usunięcie ich definicji.
  • unique_ptr przypisania są teraz precyzyjnie ograniczone. C++17
  • bool_constant jest teraz obsługiwany jako alias dla integral_constant < > bool. C++17

Visual C++ szybsze kompilacje

  • Przyrostowe generowanie kodu czasu połączenia (LTCG) Teraz możesz poinformować ltcg, aby ponownie skompilował tylko te części projektu, na które ma wpływ edycja. Może to znacznie zmniejszyć czas łączenia aplikacji, które korzystają z ltcg. Aktywuj tę funkcję za pomocą przełącznika /LTCG:incremental linker.
  • Łączenie przyrostowe dla bibliotek statycznych Zmiany w bibliotekach statycznych, do których odwołują się inne moduły kodu, są teraz łączone przyrostowo.
  • /Debug:FastLink znacznie zmniejsza czasy łączenia przy użyciu nowych technik tworzenia pliku PDB.
  • Wprowadzono ulepszenia algorytmiczne do łączenia, aby zmniejszyć czas łączenia.
  • Wprowadzono ulepszenia, które pozwolą szybciej budować kod z dużym obciążeniem szablonu.
  • Szybka instrumentacja optymalizacji profilów (PGO) W programie PGO wprowadzono nowy, lekki tryb instrumentacji dla gier i systemów czasu rzeczywistego. Wraz z innymi nowymi funkcjami dostępnymi za pośrednictwem przełączników /GENPROFILE i /FASTGETPROFILE można teraz równoważyć jakość kodu i szybkość kompilacji podczas korzystania z PGO.
  • Zmniejszenie rozmiaru pliku obiektu Ulepszenia biblioteki standardowej i kompilatora C++ w efekcie mają znacznie mniejsze pliki obiektów i biblioteki statyczne. Te ulepszenia nie wpływają na rozmiar dynamicznie połączonych bibliotek (DLL) ani plików wykonywalnych (EXE), ponieważ nadmiarowy kod został wcześniej usunięty przez program linker.

Visual C++ wydajności i jakości kodu

  • Ulepszenia automatycznej wektoryzacji. Ulepszyliśmy wektoryzację przepływu sterowania (if-then-else), wektoryzację podczas kompilowania w obszarze /O1 (Minimalizuj rozmiar) i poprawiliśmy ogólną jakość kodu wektora, w tym obsługę równoległych STL, wektoryzację bardziej opartą na zakresie pętli for oraz obsługę pętli #pragma (ivdep).
  • Ulepszenia optymalizacji skalarnych. Dodaliśmy lepsze generowanie kodu operacji testu bitowego, scalanie przepływu sterowania i optymalizacje (przełączanie pętli w przypadku przełączania) oraz inne optymalizacje skalarne (na przykład lepsze generowanie kodu dla std::min i std::max).
  • Optymalizacja z przewodnikiem profilem (PGO). Wprowadzono szereg ulepszeń funkcji PGO, w tym ulepszone zestawy referencyjne, lepsze możliwości układu danych oraz możliwość ponownego użycia wcześniej podejmowanych decyzji dotyczących wytłaniania, szybkości i rozmiaru oraz układu.
  • Sterowanie Flow Guard (CFG). Dodaliśmy nową funkcję zabezpieczeń. Po prostu dodaj nową opcję do projektu, a kompilator Visual C++ doda teraz dodatkowe kontrole zabezpieczeń do plików binarnych, aby ułatwić wykrywanie prób przejęcie kodu. Gdy sprawdzanie zostanie wyzwane, zatrzyma wykonywanie kodu, zanim porywacz będzie w stanie uszkodzić dane lub komputer.

Uwaga

Zaktualizowaliśmy opcje poleceń. Zamiast używać /d2guard4 przełącznika, jak we wcześniejszych wersjach, należy teraz użyć /guard:cf.

Visual C++, debugowanie i diagnostyka

Dodaliśmy obsługę refaktoryzacji dla języka C++ z następującymi funkcjami:

  • Zmień nazwę symbolu Zmienia wszystkie wystąpienia symbolu na nową nazwę.
  • Wyodrębnianie funkcji Przenieś wybrany kod do własnej funkcji. Ta refaktoryzacja jest dostępna jako rozszerzenie do Visual Studio w galerii Visual Studio .
  • Implementowanie czystych maszyn wirtualnych Generuje definicje funkcji dla czystych funkcji wirtualnych dziedziczonych przez klasę lub strukturę. Obsługiwane jest dziedziczenie wielokrotne i cykliczne. Aktywuj tę refaktoryzowanie z dziedziczącej definicji klasy w celu zaimplementowania wszystkich dziedziczonych czystych funkcji wirtualnych lub specyfikatora klasy bazowej w celu zaimplementowania czystych funkcji wirtualnych tylko z tej klasy bazowej.
  • Tworzenie deklaracji lub definicji Generuje deklarację na podstawie istniejącej definicji lub definicji domyślnej na podstawie istniejącej deklaracji. Uzyskaj dostęp do tej refaktoryzacji z istniejącej deklaracji lub definicji albo ze wskaźnika żarówki.
  • Przenoszenie definicji funkcji Przenosi treść funkcji między kodem źródłowym i plikami nagłówków. Aktywuj tę refaktoryzowanie z podpisu funkcji.
  • Konwertowanie na nieprzetworzony literał ciągu Konwertuje ciąg zawierający sekwencje ucieczki na literał nieprzetworzony ciąg. Obsługiwane sekwencje ucieczki to \n (nowy wiersz), \t (tabulator), (cudzysłów ' pojedynczy), " (podwójny cudzysłów) i ? (znak zapytania). Aktywuj tę funkcję, klikając prawym przyciskiem myszy w dowolnym miejscu w ciągu.

Ulepszenia bazy danych programu (PDB) w Visual C++ obejmują następujące elementy:

  • Ulepszono szybkość skanowania rozwiązań, szczególnie w przypadku dużych rozwiązań.
  • Operacje takie jak Przejdź do definicji nie są już blokowane podczas skanowania rozwiązania z wyjątkiem początkowego skanowania rozwiązania, gdy nowe rozwiązanie jest otwierane po raz pierwszy.

Ulepszenia czytelności funkcji IntelliSense: Złożone wystąpienia szablonów i opisy typów są upraszczane w pomocy dotyczącej parametrów i szybkich informacji, aby ułatwić ich odczytywanie.

Wizualizacje debugera w języku C++

Dodaj wizualizacje debugera Natvis do projektu Visual Studio w celu łatwego zarządzania i integracji kontroli źródła. Pliki Natvis dodane do projektu mają pierwszeństwo oceny przed wizualizatorami Natvis poza projektem. Aby uzyskać więcej informacji, zobacz Tworzenie niestandardowych widoków obiektów natywnych w debugerze.

A ponieważ jest to wersja RC, można używać plików Natvis podczas debugowania języka C++ w systemie Android. Debuger zawiera wizualizacje dla wielu typowych szablonów i obsługuje ładowanie plików niestandardowych, które są dodawane do projektu języka C++.

Diagnostyka pamięci natywnej

  • Sesje diagnostyczne pamięci (Alt+F2) umożliwiają monitorowanie użycia pamięci na żywo aplikacji natywnej.
  • Migawki pamięci przechwytują chwilowy obraz zawartości sterty aplikacji. Różnice w stanie sterty można zbadać, porównując dwie migawki pamięci. Wyświetlanie typów obiektów, wartości wystąpień i stosów wywołań alokacji dla każdego wystąpienia po zatrzymaniu aplikacji.

Ulepszono wykrywanie i odzyskiwanie zakleszczeń podczas wywoływania funkcji języka C++ z okien czujki i okien natychmiastowych.

Ulepszona diagnostyka kompilatora — kompilator zapewnia rozszerzone ostrzeżenia o podejrzanym kodzie. Dodano nowe ostrzeżenia (na przykład zmienne w tle i niezgodne ciągi formatu printf). Istniejące komunikaty ostrzegawcze zostały bardziej czytelne.

Flaga /Wv — ostrzeżenia wprowadzone po określonej wersji kompilatora XX.YYY. ZZZZ można wyłączyć za pomocą /Wv:XX.YYY. Flaga ZZZZ. Inne ostrzeżenia można wyłączyć oprócz tych określonych za pomocą /Wv flagi.

Ulepszona obsługa zoptymalizowanego kodu debugowania — debugowanie kodu z włączonymi flagami /Zi, /Zo lub /Z7.

Visual C++ Diagnostyka grafiki

Diagnostyka grafiki ulepszono o następujące funkcje:

  • Kolejne przechwytywanie Przechwyć maksymalnie 30 kolejnych ramek za pomocą jednego przechwytywania.
  • Przechwytywanie programowe Programowe inicjowanie przechwytywania ramek. Przechwytywanie programowe jest szczególnie przydatne w przypadku debugowania cieniowania obliczeń w programach, które nigdy nie wywołują funkcji Obecne lub gdy problem z renderowaniem jest trudny do przechwycenia ręcznie, ale można przewidzieć programowo na poziomie stanu aplikacji w czasie wykonywania.
  • Rozszerzona lista zdarzeń grafiki Dodano nowy widok wywołań rysowania, który wyświetla przechwycone zdarzenia i ich stan w hierarchii zorganizowanej według wywołań rysowania. Można rozwinąć wywołania rysowania, aby wyświetlić stan urządzenia, który był bieżący w czasie wywołania rysowania, i można dodatkowo rozwinąć każdy rodzaj stanu, aby wyświetlić zdarzenia, które ustawiają ich wartości.
  • Obsługa Windows Phone 8.1 Diagnostyka grafiki teraz w pełni obsługuje debugowanie Windows aplikacji w Telefon emulatorze lub na Telefon.
  • analiza klatek grafiki To narzędzie zbiera pomiary wydajności na przechwyconych ramkach; Ponadto wykonuje zestaw wstępnie zdefiniowanych eksperymentów, które zapewniają wgląd w wpływ różnych technik tekstury na wydajność. Analiza ramek zbiera również liczniki wydajności ze sprzętu.
  • Dedykowany interfejs użytkownika do analizy grafiki Nowe okno analizatora Visual Studio grafiki to dedykowany obszar roboczy do analizowania ramek graficznych.
  • Edytowanie i stosowanie cieniowania Wyświetlaj wpływ zmian kodu cieniowania w przechwyconym dzienniku bez ponownego uruchamiania aplikacji.
  • Skonfiguruj opcje przechwytywania w menu Narzędzia — opcje — > > Diagnostyka grafiki.
  • Narzędzie wiersza polecenia do przechwytywania i odtwarzania ramek.
  • Diagnostyka grafiki obsługę directx 12. Narzędzie Visual Studio Diagnostyka grafiki obsługuje teraz debugowanie problemów z renderowaniem w aplikacjach DirectX 12.

Nowe narzędzie użycie procesora GPU

Narzędzie Użycie procesora GPU w programie Visual Studio 2015 może służyć do zrozumienia użycia procesora GPU przez aplikacje DirectX. Wykresy czasu ramki, szybkości klatek i wykorzystania procesora GPU są dostępne podczas działania aplikacji. Ponadto, zbierając i analizując szczegółowe dane użycia procesora GPU, to narzędzie zapewnia wgląd w czas wykonywania procesora CPU i procesora GPU poszczególnych zdarzeń DirectX i w związku z tym może być przydatne do określenia, czy procesor CPU czy GPU jest wąskim gardłem wydajności.

Włączanie debugowania zarządzanego Visual C++ testowego Project

Nowość w tej wersji: Aby włączyć debugowanie zarządzanego Visual C++ testowego Project, przejdź do tematu "Narzędzia | Opcje | Debugowanie | Ogólne" i zaznacz opcję "Pomiń optymalizację JIT podczas ładowania modułu (tylko zarządzane)".

C# i Visual Basic

Funkcje językowe

W tej wersji kilka nowych funkcji języków C# i Visual Basic pomaga ograniczyć typową i nieładną w codziennym kodzie, zachęcić do bardziej deklaratywnego stylu programowania i jeszcze bardziej zbliżyć te dwa języki do siebie. Na przykład istnieją ulepszenia składniowe dotyczące deklaracji typów i członków oraz sprawdzania wartości null. Ponadto zmienne lokalne mogą być deklarowane wewnątrz wyrażeń, a await może być używane w blokach catch i finally. Wiele z tych funkcji jest implementowane tylko dla jednego z dwóch języków we wcześniejszych wersjach, ale będą dostępne dla obu języków w ostatecznej wersji.

  • Nameof zapewnia bezpieczny refaktoryzowanie sposób uzyskiwania nazwy parametru, członka lub typu jako ciągu.
  • Za pomocą operatorów warunkowych o wartości null można uzyskać wbudowane sprawdzanie wartości null podczas uzyskiwania dostępu do elementów członkowskich i indeksatorów oraz ich wywołania.
  • Interpolacja ciągów: Interpolacja ciągów zapewnia zwięzły sposób opisywania szablonów ciągów, które wstawiają wyrażenia do ciągów formatu (język C# tylko w wersji zapoznawczej, zarówno VB, jak i C# w wersji RTM).
  • Metody, właściwości tylko do getter itp., mogą teraz mieć pojedyncze wyrażenie jako treść, podobnie jak wyrażenia lambda.
  • Właściwości automatyczne mogą mieć inicjatory i nie wymagają już ustawiaczy.
  • Inicjatory indeksów: w inicjatorze obiektu można teraz zainicjować określony indeks nowego obiektu. Tylko język C#.
  • Filtry wyjątków umożliwiają przyjrzenie się wyjątkowi i podjęcie decyzji o tym, czy należy go przechwyć za pomocą danego bloku catch.
  • Klauzule dla klas statycznych wprowadzają statyczne składowe bezpośrednio do zakresu, dzięki czemu można wywołać na przykład metody WriteLine() lub Sqrt() bez poprzedzania nazwą klasy.
  • Await działa teraz w blokach catch i finally, co pozwala obejść kilka bardzo trudnych obejść.

Interfejs użytkownika edytora kodu i edytowanie

Interfejs użytkownika edytora kodu i środowisko edytowania dla języka C# i Visual Basic zostały zastąpione nowymi funkcjami zbudowanymi na platformie .NET Compiler Platform ("Roslyn"). Wiele funkcji, które pokochasz dzisiaj, zostało ulepszonych lub odnówiowanych.

  • Żarówki to nowe miejsce dla wszystkich szybkich akcji, które należy podjąć w edytorze Visual Studio, w tym poprawek typowych problemów z kodem i refaktoryzacji kodu. Jeśli masz problemy z kodem, żarówka pokazuje sugerowane poprawki tych problemów. Wszystkie operacje refaktoryzacji zostały przeniesione do żarówki. Możesz uzyskać dostęp do żarówki w dowolnym momencie, naciskając klawisze Ctrl + < kropka >.

Żarówka przedstawia sugestie

  • Istnieją dwie nowe podstawowe operacje refaktoryzacji: w tekście zmiennej tymczasowej i Wprowadzenie do lokalnej operacji. Oto przykład nowej funkcji Wprowadzenie do lokalnego:

Wprowadzenie lokalnej żarówki

Przykład wbudowanej zmiennej tymczasowej:

Żarówka tymczasowa w tekście

  • Obsługa refaktoryzacji Visual Basic została dodana po raz pierwszy i została również przeniesiona do żarówki.
  • Ulepszono również zmianę nazwy; Teraz wyróżnia wszystkie wystąpienia identyfikatora, których nazwę chcesz zmienić, dzięki czemu możesz wpisać nową nazwę do wszystkich wystąpień jednocześnie bezpośrednio w edytorze.

Ulepszenia wbudowanej zmiany nazw

  • Podczas wpisywania możesz uzyskać analizę kodu na żywo i automatyczne poprawki wraz ze wskazówkami specyficznym dla kodu dla platform firmy Microsoft i pakietów NuGet, które są przeznaczone dla Ciebie. W wersji zapoznawczej należy dodać analizatory FxCop na żywo za pośrednictwem pakietu NuGet, który można pobrać z galerii NuGet, tak jak w przypadku każdego innego pakietu. Gdy ściągasz dowolną regułę na żywo, wypiera ona równoważną regułę FxCop po kompilacji, dzięki czemu nie ma zduplikowanych trafień. Oto przykład z pakietu Code Analysis platformy Azure.

Przykład z witryny Code Analysis dla pakietu platformy Azure

  • Ewaluator wyrażeń dla języka C# i Visual Basic został przepisany. Ulepszenia obejmują obsługę wyrażeń LINQ i lambda w wyrażeniach watch i immediate Windows.

F #

Funkcje języka i środowiska uruchomieniowego

Język F# 4.0 zawiera wiele nowych dodatków języka i środowiska uruchomieniowego, które wypełniają luki, sprawiają, że więcej rzeczy "tylko działa" i poprawia wydajność w kluczowych obszarach. W kompilatorze i środowisku uruchomieniowym zaimplementowano wiele usterek i niewielkich optymalizacji wydajności.

  • Konstruktory jako funkcje pierwszej klasy — nazwy klas mogą być teraz używane jako wartości funkcji pierwszej klasy, reprezentujące konstruktory dla tej klasy.
  • Ujednoznaczanie wartości "modyfikowalnych" i "ref" — składnia "modyfikowalna" może być teraz używana wszędzie, a przechwycone wartości zostaną automatycznie przekonwertowane na wartości "ref" oparte na stercie przez kompilator w razie potrzeby. Dodano nowe opcjonalne ostrzeżenie w przypadku, gdy deweloper chce być powiadamiany o takim stanie.
  • Parametry statyczne dla dostarczonych metod — poszczególne metody udostępniane przez dostawców typów mogą teraz określać parametry statyczne.
  • Typy dostarczane bez wartości null — podane typy można teraz określić jako nienadajne do wartości null za pośrednictwem standardu [ < AllowNullLiteral(false) > ].
  • Niejawny cudzysłów argumentów metody — argumenty metody typu Expr 't mogą być teraz w sposób niewidoczny dla siebie cytowane, przekazując zarówno wartość argumentu, jak i wartość AST wyrażenia, które ją < wygenerowała. >
  • Rozszerzona gramatyka preprocesora — operatory logiczne ||, && i ! Można teraz używać wraz z grupowania () w #if preprocesora.
  • Wykładniki racjonalne w jednostkach miar — jednostki miar obsługują teraz wykładniki racjonalne, które są czasami używane w naukach fizycznych, takich jak inżynieria elektryczna
  • Uproszczone używanie jednostek wartości miary z funkcjami w stylu "printf" — zunifikowane wartości liczbowe działają teraz bezproblemowo z specyfikatorami formatu numerycznego printf, bez konieczności ich usunięcia.
  • Obsługa wielowymiarowych tablic .NET — tablice .NET rangi 5 lub większej mogą być teraz używane przez kod F#.
  • Właściwości rozszerzenia w inicjatorach obiektów — właściwości rozszerzenia ustawianego można teraz przypisywać w wyrażeniach inicjatora obiektów.
  • Dziedziczenie z wielu ogólnych wystąpienia interfejsów — klasy autorstwa języka F# mogą teraz dziedziczyć z klas, które implementują wiele ogólnych wystąpienia interfejsów.
  • Wiele właściwości w "StructuredFormatDisplayAttribute" — formatowanie %A określone za pomocą funkcji [ < StructuredFormatDisplay] może > teraz zawierać wiele właściwości.
  • Opcjonalna wiodąca przestrzeń nazw "Microsoft" — w przypadku korzystania lub otwierania modułów i przestrzeni nazw z elementu FSharp.Core, wiodącego elementu "Microsoft". Parametr jest teraz opcjonalny.

Środowisko uruchomieniowe F#

  • Normalizacja modułów Tablica, Lista i Seq — zestaw funkcji przetwarzania kolekcji jest teraz spójny w modułach Tablica, Lista i Seq (ze słupkami interfejsów API, które nie mają zastosowania do niektórych typów) z dedykowanymi, zoptymalizowanymi implementacjami dla każdego typu.
  • Zoptymalizowane strukturalne skróty — w celu poprawy wydajności ogólnego porównania skrótów dla typów pierwotnych dokonano znaczących optymalizacji, co prowadzi do wzrostu wydajności przez interfejsy API, takie jak "distinct" i "groupBy".
  • Zoptymalizowane operatory porównania niestruk strukturalnego — można teraz otworzyć moduł FSharp.Core.Operators.NonStructuralComparison, zastępując domyślne operatory porównania strukturalnego F# bardziej wydajnymi operatorami niestruk strukturalną. Może to zapewnić znaczny wzrost wydajności podczas przetwarzania typów za pomocą implementacji operatorów niestandardowych, szczególnie typów wartości.
  • Składnia licowania na listach języka F# — listy języka F# obsługują teraz składnię cingu w celu uzyskiwania list podrzędnych.
  • Rozszerzenia asynchroniczne do system.Net.WebClient' — rozszerzenia WebClient AsyncDownloadFile i AsyncDownloadData są teraz dostępne.
  • Lepsze ślady stosu asynchronicznego — wyjątki występujące w obliczeniach asynchronicznych języka F# mają teraz więcej śladów stosów przyjaznych dla użytkownika, co ułatwia diagnozowanie problemów.
  • Międzyoptykowe interfejsy API dla opcji — do modułu Option dodano różne nowe interfejsy API służące do konwertowania na i z obiektów null oraz wartości System.Nullable.
  • Aktywny wzorzec cudzysłowu dla wartości System.Decimal — aktywny wzorzec jest teraz wbudowany do dopasowywania stałych literałów System.Decimal w cudzysłowie.

Funkcje środowiska IDE języka F#

W narzędziach do obsługi Visual F# są również dostępne nowe funkcje i funkcje, a także szereg poprawek błędów.

  • Debugowanie skryptów — skrypty języka F# można teraz debugować bezpośrednio w Visual Studio debugerze.
  • Metadane zestawu w szablonach projektów — wszystkie szablony projektów języka F# zawierają teraz plik AssemblyInfo.fs, który zawiera wspólne atrybuty metadanych na poziomie zestawu.
  • Zintegrowane aktualne sprawdzanie — projekty języka F# teraz poprawnie zgłaszają stan "aktualny" podczas budowania w Visual Studio.
  • Uzupełnianie IntelliSense w inicjatorach obiektów — wyrażenia inicjatora obiektów obsługują teraz uzupełnianie właściwości ustawianych przez mechanizm IntelliSense przy użyciu klawiszy Ctrl+Spacja.
  • Uzupełnianie funkcji IntelliSense dla nazwanych parametrów — wywołania metod i konstruktorów obsługują teraz automatyczne uzupełnianie nazwanych parametrów za pomocą klawiszy Ctrl+Spacja.
  • Poprawki błędów dotyczące obsługi folderów — narzędzia Visual F# nie obsługują bezpośrednio folderów w projektach, ale usunięto szereg usterek systemu projektu, które poprawiły obsługę folderów dodanych przez rozszerzenie Visual F# Power Tools.

Program .NET Framework 4.6

Najnowszą wersją .NET Framework jest 4.6. Oferuje on wiele ulepszeń technologii tworzenia aplikacji, takich jak ASP.NET, Windows Communication Foundation i Windows Presentation Foundation. Istnieją również zmiany w sieci, bibliotece klas bazowych .NET Framework i środowisku uruchomieniowym języka wspólnego (w tym nowy 64-bitowy kompilator JIT, natywna kompilacja kodu dla aplikacji platformy Windows Universal Windows Platform, ulepszenia modułu ładującego zestawu).

Wystarczy próbkowanie zmian:

  • ASP.NET Metody powiązania modelu zwracają teraz zadania.
  • ADO.NET obsługuje teraz funkcję Always Encrypted dostępną w wersji SQL Server 2016 Community Technology Preview 2 (CTP2).
  • Windows Presentation Foundation (WPF) oferuje lepszą obsługę dotyku i udoskonalony układ HDPI.
  • Windows Program Communication Foundation (WCF) obsługuje teraz protokoły SSL w wersji TLS 1.1 i TLS 1.2, oprócz protokołu SSL 3.0 i TLS 1.0.
  • Biblioteka .NET Framework klas bazowych zawiera ulepszenia dotyczące wyrzucania elementów bezużytecznych, wzorca asynchronicznego opartego na zadaniach i kryptografii. Dodaje również typy wektorów z włączoną obsługą simd, a także obsługę przełączników zgodności, które umożliwiają deweloperom zapewnienie jednolitego mechanizmu rezygnacji dla funkcji obsługiwanych przez nowe biblioteki.

Aby uzyskać dodatkowe informacje i pełną listę nowych funkcji dodanych do .NET Framework, zobacz Co nowego w .NET Framework.

Entity Framework

Ta wersja zawiera wersję zapoznawczą programu Entity Framework 7 i aktualizację wersji Entity Framework 6, która obejmuje głównie poprawki błędów i wkład społeczności.

Entity Framework 7

Nowa wersja pakietu Entity Framework nowe platformy i nowe magazyny danych. Windows Phone, Windows Store, ASP.NET 5 i tradycyjne aplikacje klasyczne mogą teraz używać Entity Framework. Ta wersja platformy obsługuje relacyjne bazy danych, a także nierelacyjne magazyny danych, takie jak Azure Table Storage i Redis. Obejmuje ona wczesną podgląd środowiska uruchomieniowego EF7, które jest instalowane w nowych ASP.NET 5. Aby uzyskać więcej informacji na temat programu EF7, zobacz What is EF7 all about.

Entity Framework 6.x

Ta wersja zawiera wersję EF6.1.3 środowiska uruchomieniowego i narzędzi. Program EF6.1.3 zawiera poprawki błędów i wkład społeczności; Listę zmian uwzględnionych w programie EF6.1.3 można znaleźć w naszej witrynie Entity Framework CodePlex.

Środowisko uruchomieniowe Entity Framework 6.1.1 znajduje się w kilku miejscach w tej wersji.

  • Środowisko uruchomieniowe zostanie zainstalowane, jeśli utworzysz nowy model przy użyciu Entity Framework Tools w projekcie, który nie ma jeszcze zainstalowanego środowiska uruchomieniowego EF.
  • Środowisko uruchomieniowe jest wstępnie zainstalowane w nowych ASP.NET projektach, w zależności od wybranego szablonu projektu.

Visual Studio IDE

Konta udostępnione

Nowość w tej wersji możesz udostępnić konta użytkowników, które dodajesz w programie Visual Studio, innym aplikacjom, takim jak Blend for Visual Studio lub Microsoft Test Manager (i na odwrót).

Projekty udostępnione

W tej wersji są dostępne nowe szablony do tworzenia pustych udostępnionych projektów dla języków Visual Basic, C# i JavaScript. Do tych udostępnionych projektów można teraz odwoływać się za pomocą kilku typów projektów:

  • Wszelkie nieprzygotowane projekty VB/C# (np. aplikacje konsolowe, biblioteki klas, aplikacja formularza Win)
  • Windows Store 8.1 and Windows Phone 8.1 (VB/C#/JavaScript)
  • Windows Phone Silverlight 8.0/8.1 (VB/C#)
  • WPF i PCL

Odwołania do udostępnionych projektów można dodawać/usuwać za pomocą Menedżera odwołań na karcie Projekty udostępnione. Udostępnione odwołanie do projektu jest dostępne w węźle Odwołania w Eksplorator rozwiązań, ale kod i zasoby w udostępnionym projekcie są traktowane tak, jakby były plikami połączonymi z głównym projektem.

Edytor kodu (wszystkie języki)

Ulepszono wyszukiwanie w plikach przez włączenie dołączania kolejnych wyników do poprzednich wyników; skumulowane wyniki można usunąć.

Obsługa dotykowa jest teraz dostępna w edytorze Visual Studio dla następujących gestów:

  • Przewijanie (naciśnięcie i przeciągnięcie na powierzchni edytora na zwykłych i ulepszonych paskach przewijania)
  • Uszczypnij w celu powiększenia
  • Zaznacz całą linię, naciskając margines edytora, a następnie zaznaczając wyrazy, naciskając je dwukrotnie
  • Wywołania menu kontekstowego edytora przez naciśnięcie i przytrzymanie

Zdajemy sobie sprawę z jednego problemu z dotknięciem, w tym, że gest dwukrotnego naciśnięcia nie zawsze jest niezawodny na niższych poziomach powiększenia. Chcemy dowiedzieć się więcej o nowej pomocy technicznej dotyczącej obsługi dotykowej, a w szczególności o wszelkich problemach, które możesz znaleźć.

XAML Designer

Visual Studio klienci będą teraz mogli edytować swoje szablony i style przechowywane w słownikach zasobów zewnętrznych w kontekście ich użycia. To środowisko zostało jeszcze bardziej udoskonalone w celu użycia funkcji Peek w celu umożliwienia prawdziwego edytowania zasobów w miejscu w projektancie XAML.

Niestandardowe układy okien

Możesz teraz zapisywać niestandardowe układy okien, klikając pozycję Zapisz układ okna w menu Okno i zastosować układ niestandardowy, klikając pozycję Zastosuj układ okna w menu Okno. Układ można również zastosować przy użyciu wstępnie przypisanych skrótów klawiaturowych. Pierwsze dziewięć układów ma również skróty klawiaturowe od Ctrl + Alt + 1 do Ctrl +Alt+9. Inne zadania, które można wykonać, to usuwanie, zmienianie nazw i zmienianie kolejności układów, klikając pozycję Zarządzaj układem okna w menu Okno.

High-Resolution obrazów

Visual Studio obsługuje ikony o wysokiej rozdzielczości na paskach poleceń, paskach narzędzi (w standardowych), menu głównych, liście błędów, pasku stanu i niektórych typach projektów Eksplorator rozwiązań, gdy urządzenie jest uruchomione z skalowaniem DPI większym niż 100%.

Ulepszenia interfejsu użytkownika

  • Menu są teraz wyświetlane w stylu Przypadku tytułowego zamiast w stylu ALL CAPS.
  • Wartości listy rozwijanej Konfiguracja i platforma dla okna dialogowego Visual C++ właściwości zostały zmienione, aby zapamiętać ostatni wybór użytkownika po zamknięciu i ponownym otwarciu strony właściwości.

Opinie o programie Visual Studio

Ulepszyliśmy środowisko Wyślij grymas niezadowolenia o lepsze narzędzia do zgłaszania spowolnienia, zawieszania się i awarii. Teraz możesz dołączyć pliki lub otagować swoją opinię, aby lepiej opisać problem. Ponadto zaktualizowaliśmy ikony opinii i elementy menu, aby zwiększyć możliwości odnajdywania.

Rozszerzalność programu Visual Studio

  • Teraz możesz używać ikon o wysokiej rozdzielczości w Visual Studio rozszerzeń.
  • Dodatki nie są już obsługiwane w tej wersji. Usunęliśmy Visual Studio projektów dodatków i Menedżera dodatków. Zalecamy przekonwertowanie dodatków na rozszerzenia vspackage. Aby uzyskać więcej informacji, zobacz często zadawane pytania: Konwertowanie dodatków na rozszerzenia pakietów VSPackage.
  • Teraz możesz otworzyć projekt rozszerzalności, nawet jeśli nie masz zainstalowanego Visual Studio SDK.
  • Ponadto zestaw SDK usługi Visual Studio można zainstalować przy użyciu Visual Studio konfiguracji. Nie musisz już przejść do witryny internetowej. W tym celu: w menu Dodaj usuń programy kliknij prawym przyciskiem myszy pozycję Visual Studio 2015, a następnie wybierz polecenie Modyfikuj. W oknie Visual Studio konfigurowanie sprawdź, Visual Studio narzędzia rozszerzalności w obszarze Typowe narzędzia.
  • Aby zwiększyć przenośność i udostępnianie projektów rozszerzeń, można użyć NuGet wersji zestawu Visual Studio SDK. Aby uzyskać więcej informacji, zobacz zestawy opublikowane przez Visual Studio rozszerzalność.

Dowiedz się więcej o Visual Studio rozszerzalności.

Blend

Przeprojektowano Blend for Visual Studio 2015 r., aby zapewnić ulepszone środowisko tworzenia interfejsu użytkownika do tworzenia pięknech aplikacji XAML. Program Blend ma nowy wygląd zgodny z Visual Studio, obsługę rozwiązań i Team Explorer oraz wzbogacone środowisko ponownego ładowania plików ułatwiające lepszy przepływ pracy między programem Blend i Visual Studio. Dostarczaliśmy również najważniejsze funkcje programu Blend, które ułatwiają wydajną pracę:

  • Teraz możesz wydajniej pisać kod XAML przy użyciu funkcji IntelliSense języka XAML, która zapewnia uzupełnianie instrukcji i nawigację do źródła.
  • Można również wyświetlać i edytować kontrolki i zasoby XAML w kontekście, w którym są używane z definicją podglądu XAML.
  • Znajdowanie i rozwiązywanie problemów z interfejsem użytkownika w uruchomionej aplikacji jest teraz łatwiejsze przy użyciu narzędzi interfejsu użytkownika do debugowania XAML, które umożliwiają sprawdzanie działającego drzewa wizualnego i właściwości dowolnych elementów w drzewie.
  • Po NuGet można zarządzać pakietami NuGet w programie Blend.
  • Zastąpiliśmy również funkcję Obszar roboczy animacji bardziej zaawansowaną funkcją Synchronizowane układy, która umożliwia tworzenie wielu różnych układów okien i korzystanie z nich na różnych maszynach.
  • Dla użytkowników, którzy wolisz używać klawiatury zamiast myszy, w pełni dostęp do klawiatury mieli okienka projektanta Blend.
  • W ramach ciągłych wysiłków firmy Microsoft nad tworzeniem powszechnie dostępnego oprogramowania program Blend jest teraz dostępny w trybie pełnoekranowym i ma duży kontrast.

Aby dowiedzieć się więcej o nowych funkcjach dodanych do programu Blend, odwiedź nasz wpis w blogu w wersji zapoznawczej.

Debugowanie i diagnostyka

Zarządzana edycja i kontynuowanie po dołączeniu

W wersji RC można edytować i kontynuować po dołączeniu do aplikacji .NET oraz w przypadku, gdy zmienna środowiskowa

complus_forceenc jest ustawiona na 1 w procesie docelowym.

Konfiguracja punktu przerwania

Nowe okno Ustawienia punkt przerwania umożliwia określenie warunków i akcji dla punktów przerwania. Okno zawiera ulepszoną obsługę funkcji IntelliSense dla warunków punktu przerwania i akcji. Możesz użyć polecenia cofania (CTRL+Z), aby przywrócić usunięte punkty przerwania.

Wyrażenia lambda w debugerze Windows

Teraz można używać wyrażeń lambda w oknach wyrażeń watch, immediate i innych debugerów w języku C# i Visual Basic.

Wskazówki dotyczące wydajności

Możesz użyć funkcji PerfTips, aby zobaczyć, ile czasu trwało wykonanie kodu bezpośrednio w edytorze, gdy ustawisz punkty przerwania i wykonasz krok za pomocą debugera.

Użycie procesora GPU

Narzędzie Użycie procesora GPU umożliwia zrozumienie użycia procesora GPU przez aplikacje DirectX. Wykresy czasu ramki, szybkości klatek i wykorzystania procesora GPU są dostępne po uruchomieniu aplikacji. Ponadto, zbierając i analizując szczegółowe dane użycia procesora GPU, to narzędzie może zapewnić wgląd w czas wykonywania procesora CPU i PROCESORA GPU dla każdego zdarzenia DirectX i w związku z tym może być przydatne do określenia, czy procesor CPU lub GPU jest wąskim gardłem wydajności.

Ulepszenia debugera języka C++

Gdy debuger języka C++ zostanie zatrzymany w punktach przerwania, może wykonywać kod w celu obliczenia wyników, takich jak wyświetlanie danych w oknach czujki i oknach natychmiastowych. Jeśli debuger wykryje, że wywołana funkcja jest zakleszczena, podejmie próbę rozwiązania problemu.

Gdy debuger języka C++ uruchamia proces, Windows przydziela teraz pamięć przy użyciu normalnego stosu, a nie normalnego sterty debugowania. Dzięki temu można szybciej rozpocząć debugowanie.

Narzędzia debugowania interfejsu użytkownika dla języka XAML

Dodaliśmy dwa nowe narzędzia: działające drzewo wizualne i Eksplorator właściwości na żywo, które sprawdzają drzewo wizualne uruchomionej aplikacji WPF, a także właściwości dowolnego elementu w drzewie. Te narzędzia umożliwiają wybranie dowolnego elementu w uruchomionej aplikacji i pokazanie końcowych, obliczonych i renderowanych właściwości. Narzędzia te obejmują również następujące elementy:

  • Drzewo wizualne na żywo. Teraz możesz wyświetlić pełne drzewo wizualne uruchomionej aplikacji podczas sesji debugowania. Drzewo wizualne na żywo jest dostępne po naciśnięciu klawisza F5 w Visual Studio lub dołączeniu do uruchomionej aplikacji. Możesz użyć działającego drzewa wizualnego, aby wybrać elementy w uruchomionej aplikacji do inspekcji w Eksploratorze właściwości na żywo. Liczba elementów potomnych jest wyświetlana, a jeśli informacje o źródle są dostępne, można natychmiast znaleźć plik i lokalizację definicji elementu.
  • Eksplorator właściwości na żywo. To nowe narzędzie umożliwia inspekcję właściwości ustawionych na dowolnym elemencie uruchomionej aplikacji pogrupowanych według ustawionego zakresu. Te właściwości można modyfikować podczas sesji debugowania i natychmiast zobaczyć ich zmiany w uruchomionej aplikacji.

Wybór sposobu, w jaki właściwości przesłaniają się nawzajem, i ustalenie zachowania wygranej może okazać się trudne w czasie projektowania. Teraz przy użyciu naszych nowych narzędzi debugowania interfejsu użytkownika dla języka XAML można wykonać te przeglądy w czasie wykonywania.

(Obsługa aplikacji Windows Store zostanie wydana w przyszłej aktualizacji).

Narzędzia debugowania interfejsu użytkownika dla języka XAML, pełny ekran

Wyjątek Ustawienia

Ustawienia wyjątków debugera można skonfigurować przy użyciu okna Ustawienia wyjątków. Nowe okno nie jest modalne i oferuje ulepszone możliwości w zakresie wydajności, wyszukiwania i filtrowania.

Wyjątki Ustawienia — przerwij w przypadku wygenerowanego okna

Narzędzie osi czasu

Nasze nowe narzędzie Oś czasu zapewnia zorientowany na scenariusz widok zasobów, z których korzystają aplikacje, za pomocą których można sprawdzać, diagnozować i poprawiać wydajność aplikacji WPF i Windows Store 8.1.

Narzędzie Oś czasu w centrum Wydajność i diagnostyka pokazuje, ile czasu aplikacja poświęca na przygotowywanie ramek interfejsu użytkownika oraz obsługę sieci i żądań dysków. Robi to w kontekście scenariuszy, takich jak ładowanie aplikacji i ładowanie strony.

Nowe narzędzie Oś czasu

Narzędzia diagnostyczne

Dodaliśmy nowe okno narzędzia diagnostyczne wyświetlane po rozpoczęciu debugowania (naciśnij klawisz F5). Okno Narzędzia diagnostyczne zawiera następujące funkcje:

  • Zdarzenia (z IntelliTrace)
    Zdarzenia (z IntelliTrace) zapewnia dostęp do wszystkich zdarzeń debugera Break, Output i IntelliTrace zebranych podczas sesji debugowania. Dane są prezentowane zarówno jako oś czasu, jak i jako widok tabelarowy. Te dwa widoki są synchronizowane i mogą wchodzić ze sobą w interakcje.
  • Użycie pamięci
    Narzędzie Użycie pamięci umożliwia monitorowanie użycia pamięci przez aplikację podczas debugowania. Można również analizować i porównywać szczegółowe migawki pamięci natywnej i zarządzanej w celu przeanalizowania przyczyny wzrostu pamięci i przecieków pamięci.
  • Użycie procesora CPU
    Narzędzie Użycie procesora CPU umożliwia monitorowanie użycia procesora CPU aplikacji podczas debugowania.
    (To narzędzie zastępuje perfTip czasu procesora CPU, który był dostępny w wersji zapoznawczej Visual Studio 2015).

W poprzednich wersjach okno Narzędzia diagnostyczne obsługiło następujące typy projektów i konfiguracje debugowania:

  • Zarządzane projekty WPF, WinForms i konsolowe
  • Natywne projekty Win32, konsoli i MFC
  • ASP.NET 4 tylko przy użyciu usług IIS Express
  • Projekty zarządzane lub natywne Windows Store uruchomione lokalnie
    (Windows Store projekty korzystające z języka JavaScript lub działające na telefonie nie są obsługiwane)

Okno narzędzia diagnostyczne wersji RC ma następujące ulepszenia:

  • Można go przenieść do dowolnej lokalizacji okna w Visual Studio zapamiętuje jego lokalizację i rozmiar między sesjami debugowania
  • Jest ona wyświetlana i pokazuje dane dla pojedynczego procesu podczas dołączania do procesu przy użyciu polecenia Debuguj > — dołączanie do procesu
  • Jest on wyświetlany podczas debugowania ASP.NET uruchomionych w usługach IIS
  • Jest on wyświetlany podczas debugowania ASP.NET 5 projektów
  • Jest on wyświetlany podczas debugowania aplikacji uruchomionej na zdalnym urządzeniu Windows pulpitu zdalnego
  • Migawki pamięci można wyświetlać po zatrzymaniu debugowania
  • Zdarzenia debugera (tylko zdarzenia przerwania) są dostępne podczas debugowania projektów natywnych

Dodaliśmy również następujące nowe funkcje w wersji RC:

Tylko mój kod . Po naciśnięciu klawisza F5 w celu uruchomienia debugera zostanie w nim pokazywany tylko kod, dzięki czemu można zrozumieć problemy z wydajnością i wyjątki bez szumu ze struktury i innego kodu. Ponieważ ta nowa funkcja filtrowania kodu w funkcji IntelliTrace pomija kod systemowy i uwidacznia tylko kod użytkownika, ułatwia debugowanie "tylko mojego kodu".

Narzędzie diagnostyczne sieci. To nowe narzędzie diagnostyczne sieci może pomóc w diagnozowaniu problemów związanych z siecią podczas tworzenia aplikacji ze sklepu Windows, a także aplikacji uniwersalnych, które działają na wszystkich urządzeniach z systemem Windows 10, od aplikacji Windows Phone do konsoli Xbox i sklepu Windows Store.

Narzędzie diagnostyczne sieci rejestruje informacje o operacjach sieciOWYCH HTTP aplikacji, w tym nagłówki żądań i odpowiedzi HTTP, ładunki żądań i odpowiedzi, pliki cookie, szczegółowe informacje o chronometrażu i inne. Narzędzie diagnostyczne sieci może również pomóc odpowiedzieć na pytania dotyczące typowych scenariuszy, takich jak:

  • Problemy związane z uwierzytelnianiem (na przykład dlaczego nie można uzyskać dostępu do zasobu)
  • Problemy związane z pamięcią podręczną (na przykład przyczyna, dla których nie jest niana najnowsza wersja zasobu)
  • Ile bajtów jest pobieranych podczas uruchamiania typowych zadań aplikacji
  • Gdzie znajdują się wąskie gardła podczas uzyskiwania dostępu do zasobu i pobierania go

Aby uzyskać dostęp do narzędzia sieciowego, otwórz okno Narzędzia diagnostyczne Visual Studio 2015. W menu Debug (Debugowanie) wybierz pozycję Start narzędzia diagnostyczne without Debugging (Uruchom bez debugowania). Możesz też po prostu nacisnąć klawisze Alt+F2.

Wprowadzono następujące ulepszenia okna narzędzia diagnostyczne wyświetlane podczas debugowania:

  • Zdarzenia z aplikacji są teraz wyświetlane w jednej śledzce zdarzeń IntelliTrace zamiast dzielenia między ścieżkami zdarzeń IntelliTrace i zdarzeń wyjściowych.
  • Zdarzenia z aplikacji są teraz wyświetlane, gdy program jest uruchomiony. Teraz nie trzeba już naciskać przycisku "Przerwij wszystko", aby wyświetlić zdarzenia.
  • Można teraz aktywować debugowanie historyczne dla punktów śledzenia ustawionych w kodzie, co pozwala na wyświetlanie kodu źródłowego i stosu wywołań.
  • Zdarzenia wyrzucania elementów bezużytecznych i migawek są teraz dostępne na wykresie Użycie pamięci, dzięki czemu można zobaczyć, kiedy wystąpiły zarządzane odzyskiwanie pamięci i kiedy za pomocą narzędzia Użycie pamięci za pomocą migawki.

ASP.NET

ASP.NET 4.6

ASP.NET Powiązanie modelu obsługuje metody zwracane przez zadanie

ASP.NET Metody powiązania modelu, które wcześniej zwracały zadanie, nie były obsługiwane i w czasie wykonywania zwróciły wyjątek, jeśli zostały skonfigurowane. Jeśli aplikacje są wdrażane przy użyciu takich metod, te metody są teraz wykonywane poprawnie. Ta zmiana dotyczy tylko aplikacji przeznaczonych specjalnie dla .NET 4.6 lub nowszej.

Włączanie .NET Compiler Platform ("Roslyn") w ASP.NET aplikacji

Nowych funkcji języka C# i VB można używać w dowolnym ASP.NET 4.6. Szablony Web Forms w programie VS 2015 mają wstępnie zainstalowany pakiet Microsoft.CodeDom.Providers.DotNetCompilerPlatform.

Dodanie obsługi protokołu HTTP/2

W Windows 10 i .NET Framework 4.6 dodaliśmy obsługę protokołu HTTP/2. Głównym celem protokołu HTTP/2 jest zwiększenie wydajności, opóźnienia i użycia sieci przy użyciu jednego połączenia z przeglądarek do witryny internetowej.

Zaktualizowano struktury i kontrolki w celu obsługi Entity Framework 6

Zaktualizowaliśmy platformę Dynamic Data Framework, kontrolę źródła danych jednostek i dostawców uniwersalnych, aby współpracowali z Entity Framework 6.

Aktualizacje uwierzytelniania

Szablony ASP.NET 4.6 używają teraz open id Połączenie pośredniczącego do uwierzytelniania w usłudze Azure AD. Znacznie ułatwia to uwierzytelnianie modelu programowania w usłudze Azure AD.

Jeśli wybierzesz opcję "Indywidualne konta użytkowników", szablony programu ASP.NET 4.6 pokazują, jak używać uwierzytelniania dwuskładnikowego i identyfikatorów logowania w sieciach społecznościowych przy użyciu ASP.NET Identity.

ASP.NET MVC 5.2.3, Web Pages 3.2.3 i Web API 5.2.3

Zaktualizowaliśmy pakiety szablonów, aby używać najnowszych pakietów środowiska uruchomieniowego dla MVC 5.2, Web Pages 3.2 i Web API 2.2. Szczegółowe informacje na temat aktualizacji tych pakietów można znaleźć we wpisie w blogu ASP.NET MVC 5.2.3, Web Pages 3.2.3 i Web API 5.2.3.

ASP.NET Web API OData 5.3.1

Zaktualizowaliśmy szkielety OData internetowego interfejsu API w celu używania ASP.NET Web OData 5.3.1. Aby uzyskać więcej informacji, zobacz What's New in ASP.NET Web API OData 5.3 (Co nowego w interfejsie API sieci Web OData 5.3).

SignalR 2.1.2

Zaktualizowaliśmy pakiety szablonów, aby używać usługi SignalR 2.1.2. Zobacz informacje o wersji signalr w GitHub.

Pakiet Microsoft Owin 3.0

Zaktualizowaliśmy pakiety szablonów, aby używać pakietów NuGet Microsoft Owin 3.0. Zobacz tę notatkę o wersji Katana 3.0.

ASP.NET Tożsamość 2.2.1

ASP.NET W przypadku tożsamości Identity 2.2.1 wprowadzono wiele poprawek błędów i ulepszeń wydajności w 2.1. Przeczytaj ten ASP.NET w blogu Identity 2.2.1, aby uzyskać więcej informacji.

ASP.NET Aktualizacje narzędzi

Ulepszenia edytora JSON

W edytorze JSON wprowadzono pewne ulepszenia, w tym ulepszenia wydajności, takie jak asynchroniczne ładowanie schematu JSON, buforowanie schematów podrzędnych i obsługa lepszej funkcji IntelliSense. Ponadto dostępne są następujące nowe funkcje:

  • Weryfikacja schematu JSON. Dodaj funkcję weryfikacji schematu JSON na podstawie schematu zdefiniowanego na liście rozwijanej schematu.
  • Un-minify context menu (Niezminifikuj menu kontekstowe). Możesz kliknąć prawym przyciskiem myszy edytor JSON i wybrać polecenie Cofń minify menu kontekstowe, aby zminifikować wszystkie długie tablice w pliku JSON.
  • Załaduj ponownie menu kontekstowe Schematy. Visual Studio buforuje schemat pobrany z Internetu i będzie używać pamięci podręcznej nawet po ponownym uruchomieniu Visual Studio. Jeśli wiesz, że schemat został zmieniony, możesz użyć menu kontekstowego Załaduj ponownie schematy Ctrl+Shift+J, aby ponownie pobrać bieżący używany schemat w aktywnym dokumencie JSON, a następnie użyć go natychmiast w bieżącym dokumencie.
  • Funkcja IntelliSense package.js/bower.jswł. Oprócz sprawdzania funkcji IntelliSense i walidacji zarówno dla funkcji package.json, jak i bower.jsw plikach, usługa Visual Studio udostępnia również na żywo funkcje IntelliSense dla pakietów Bower i npm bezpośrednio w edytorze JSON.
  • Sprawdzanie poprawności zduplikowanych właściwości. Edytor JSON zapewni teraz weryfikację wszystkich zduplikowanych właściwości. Pomaga to wychwytując powszechny problem z tworzeniem plików JSON.
  • Obsługa funkcji IntelliSense i walidacji plików JSON została znacznie ulepszona dzięki pełnej obsługi specyfikacji JSON Schema draft v4. Teraz znacznie łatwiej jest zidentyfikować wymagane właściwości, a edytor umożliwia łatwe sortowanie właściwości alfabetycznie. Formatowanie zminiafikowanego pliku JSON zostanie teraz automatycznie cofone.
  • Dodaliśmy obsługę SchemaStore.org, open source kolekcji przydatnych plików schematu JSON. Oznacza to, że każdy plik JSON otwarty w Visual Studio, który ma schemat skojarzony z usługą SchemaStore.org automatycznie uzyskuje funkcje IntelliSense i walidacji.
  • Obsługa autorów schematów JSON została dodatkowo rozszerzona o lepszą weryfikację poprawności schematu.

Ulepszenia edytora HTML

Edytor HTML zaktualizował mechanizm IntelliSense dla standardów sieci Web i wprowadził następujące nowe funkcje:

  • Lepsze formatowanie szablonu klienta. Edytor HTML nie analizuje ani nie formatuje składni podwójnego curly {{...}}. Ma to na celu upewninie się, że zawartość tej składni nie jest traktowana jako kod HTML i w związku z tym unieważniana, ani nie próbuje sformatować zawartości, czego nie można poprawnie wykonać przy użyciu programu formatowego HTML. Jest to doskonałe Angular, uchwytów, wąsów i innych składni szablonów z podwójnymi zawinięciami.
  • Obsługa elementów niestandardowych, elementów niestandardowych i atrybutów. Edytor HTML nie weryfikuje już nieznanych atrybutów elementów niestandardowych, ponieważ różne struktury mają wiele tagów niestandardowych. Pod nieznanymi elementami nie będą już zygzyki.
  • Podstawowa funkcja IntelliSense dla składników internetowych. Edytor HTML ma intellisense dla < linku rel="import" / > który jest częścią standardu Web Components.
  • Etykietki narzędzi elementów HTML. Etykietki narzędzi są dostarczane dla elementów HTML w edytorze.
  • #obsługi regionów. Edytor HTML obsługuje teraz składanie regionów. Możesz również użyć otaczającego fragmentu kodu, aby otoczyć bieżące zaznaczenie.
  • Obsługa komentarzy todo/hack w Lista zadań.
  • Angular ikon. Obie Angular dyrektywy (np. <<ng-view > ) i atrybuty (np. ng-controller) jest teraz wyświetlany w funkcji IntelliSense z Angular logo, aby ułatwić ich identyfikację.
  • Ikony ładowania początkowego. Funkcja IntelliSense w atrybutach klasy HTML jest teraz wyświetlana z logo Bootstrap, jeśli nazwa klasy została zdefiniowana przez plik CSS Bootstrap.

Ulepszenia edytora CSS/LESS/Sass

  • Obsługa komentarzy todo/hack w Lista zadań.
  • @viewport poprawka dla edytora LESS. W edytorze LESS @viewport ostrzeżenia dotyczące weryfikacji nie są już wyświetlane.
  • Podaj o wiele więcej fragmentów kodu. Edytor CSS/LESS/Sass udostępnia teraz więcej fragmentów kodu, aby ułatwić tworzenie aplikacji.
  • Rozszerzenie jest teraz dostępne dla programu Visual Studio 2015, aby skompilować zarówno less, scss, jak i coffeeScirpt. Pobierz go tutaj.

Edytor JSX (React.js)

Visual Studio obsługuje teraz składnię JSX wszystkich plików z rozszerzeniem jsx. Podczas wpisywania w edytorze pobierz zarówno funkcje IntelliSense, formatowanie, jak i walidację. Ten edytor został wbudowany we współpracę z zespołem serwisu Facebook odpowiedzialnym za bibliotekę React.js biblioteki.

Łączność z przeglądarkami

Css jest automatycznie synchronizowany. Zapisanie pliku CSS lub zmiana go na zewnątrz (na przykład przy użyciu kompilatora LESS/SASS) powoduje ponowne załadowanie całego pliku CSS w przeglądarce. Jeśli nie można automatycznie zsynchronizować pliku, naciśnięcie klawiszy Ctrl +S spowoduje automatyczne ponowne załadowanie i powinno wprowadzić go z powrotem w dobry stan bez konieczności odświeżania połączonych przeglądarek (Ctrl + Alt + Enter). Tę funkcję można wyłączyć na pasku narzędzi.

Dowiedz się więcej o ASP.NET.

ASP.NET 5

ASP.NET 5 to zuchętny i komponowalny stos platformy .NET do tworzenia nowoczesnych aplikacji internetowych zarówno dla serwerów w chmurze, jak i lokalnych. Obejmuje on następujące funkcje:

  • Nowy lekki potok żądania
  • Uruchamianie w usługach IIS lub samodzielnie hostowane we własnym procesie
  • Jest oparte na nowym środowisku wykonywania platformy .NET (DNX), które można uruchamiać w pełnym środowisku .NET Framework lub na platformie .NET Core— nowym środowisku uruchomieniowym zoptymalizowanym pod kątem chmury, które obsługuje prawdziwe wersje side-by-side
  • Działa na wiele platform w systemach Windows, Mac i Linux
  • NuGet wszystkiego, nawet samego środowiska uruchomieniowego
  • Obsługuje ASP.NET MVC 6 — ujednoliconą platformę internetową dla internetowego interfejsu użytkownika i internetowych interfejsów API
  • Konfiguracja oparta na środowisku w celu bezproblemowego przejścia do chmury
  • Iniekcja zależności jest już w tym miejscu
  • Nowy Visual Studio projektu i środowisko narzędzi o wysokiej produktywności
  • Wszystkie open source na GitHub za pośrednictwem .NET Foundation

Visual Studio 2015 zawiera pakiety ASP.NET 5 beta5. Te pakiety są nadal w wersji zapoznawczej i nie są zalecane do użycia w środowisku produkcyjnym. Wszystkie szczegółowe informacje o poszczególnych dodanych ulepszeniach i problemach rozwiązanych w opublikowanych informacjach o wersji można znaleźć GitHub.

Visual Studio 2015 zawiera nowy system projektów i zintegrowane środowisko narzędzi do tworzenia aplikacji ASP.NET 5 i pracy z projektami DNX. Niektóre z nowych funkcji narzędzi to:

  • Nowy system projektów do tworzenia międzyplatformowych projektów opartych na forach DNX, które są tworzyć i uruchamiać w systemach Windows, Mac i Linux.
  • Szablony do tworzenia 5 ASP.NET internetowych i internetowych interfejsów API przy użyciu wzorca MVC 6, tożsamości 3 i Entity Framework 7.
  • Szablony do tworzenia bibliotek klas opartych na systemie DNX i aplikacji konsolowych
  • Tworzenie i dystrybuowanie międzyplatformowych narzędzi wiersza polecenia za pośrednictwem NuGet.
  • Zainstaluj różne wersje DNX i zarządzaj nimi przy użyciu menedżera wersji programu .NET (DNVM) z wiersz polecenia dla deweloperów.
  • Zintegrowane środowisko znajdowania, instalowania i przywracania NuGet pakietów.
  • Użyj klawiszy CTRL + . aby znaleźć i zainstalować NuGet dla nierozpoznanych symboli w kodzie języka C#.
  • Zintegrowane narzędzia do tworzenia aplikacji internetowych po stronie klienta przy użyciu narzędzi NPM, Grunt/Gulp i Bower, w tym integracja zarządzania pakietami i nowy eksplorator programu Task Runner.
  • Uruchamiaj polecenia DNX na poziomie projektu bezpośrednio z poziomu Visual Studio przy użyciu menu rozwijanego przycisku Uruchom.
  • Utwórz niestandardowe profile uruchamiania, które uruchamiają IIS Express, w tym ustawienia niestandardowych zmiennych środowiskowych.
  • Twórz NuGet z jednego projektu, który jest ukierunkowany na wiele platform, w tym platformę .NET Core.
  • Połączone funkcje IntelliSense podczas tworzenia wielu platform docelowych z jednego projektu.
  • Nowe funkcje Razor wprowadzone w ASP.NET 5, takie jak pomocnicy tagów, teraz są wyróżniane zarówno w funkcji IntelliSense, jak i wyróżnianiu składni.

Nowe funkcje w tej wersji

  • Po otwarciu projektu wymagającego wersji DNX, która nie jest dostępna, Visual Studio zostanie wyświetlony monit o zainstalowanie wymaganej wersji DNX.
  • Teraz można dodawać odwołania w celu utraty zestawów przy użyciu okna dialogowego Dodawanie odwołania.
  • Szablon ASP.NET 5 obsługuje teraz opcję Konta służbowe na temat uwierzytelniania.
  • Opcja Hostuj w chmurze w oknie dialogowym ASP.NET Project jest teraz dostępna dla ASP.NET 5.
  • Skorzystaj z Eksplorator serwera, aby zdalnie edytować pliki w folderze approot dla ASP.NET 5 hostowanych na platformie Azure.

Aby uzyskać więcej informacji, zobacz informacje o wersji narzędzi w witrynie GitHub oraz blog .NET Web Development and Tools (Tworzenie aplikacji internetowych i narzędzia na platformie .NET).

Narzędzia platformy Azure

Integracja s wyboru konta

Selektor konta jest używany w oknach dialogowych tworzenia/wyboru aplikacji internetowych i publikowania w internecie, aby umożliwić dostęp jednym kliknięciem do wielu kont. Możesz zalogować się raz na wielu kontach i mieć szybki i łatwy dostęp do wybierania poszczególnych kont podczas publikowania zasobów.

Aplikacje interfejsów API

Szablon API Apps wersji zapoznawczej, obsługa publikowania i widoczność Eksplorator serwera zostały zmigrowane do Visual Studio 2015 r. Teraz możesz utworzyć i wdrożyć usługę Azure API Apps przy użyciu najnowszej wersji Visual Studio. Ponadto ulepszyliśmy funkcję danych wyjściowych programu Swagger, dzięki czemu deweloperzy aplikacji interfejsu API mają lepszą, nieosiąganą obsługę dynamicznie generowanego programu Swagger z ASP.NET Api sieci Web.

Narzędzia usługi WebJobs

Zadania web jobs można teraz kontrolować w węźle Eksplorator serwera WebJob w witrynie internetowej platformy Azure w następujący sposób:

  • Węzły usługi WebJobs poniżej węzłów witryny internetowej w Eksplorator serwera.
  • Uruchamianie/zatrzymywanie ciągłych usług WebJob z Eksplorator serwera.
  • Uruchamianie zadań na żądanie lub zaplanowanych z Eksplorator serwera.
  • Wyświetl pulpit nawigacyjny usługi WebJob z Eksplorator serwera.
  • Menu kontekstowe Wyświetl pulpit nawigacyjny; Użyj go, aby przejść do pulpitu nawigacyjnego usługi WebJob witryny internetowej platformy Azure.

Zestaw SDK zadań WebJob

Szablony projektów zadań WebJob platformy Azure mają wstępnie zainstalowany zestaw SDK usługi WebJobs.

NuGet

NuGet 2.8.3

Dodaliśmy obsługę projektu DevExtreme i bizTalkProject 2.8.3. Aby uzyskać szczegółowe informacje, zobacz NuGet informacje o wersji 2.8.3.

Menedżer pakietów NuGet

Zaktualizowaliśmy interfejs użytkownika NuGet Package Manger, aby ułatwić zarządzanie pakietami w całym rozwiązaniu w Visual Studio 2015 r. Pojedynczy widok pakietów zainstalowanych w projektach umożliwia filtrowanie listy dostępnych pakietów z galerii NuGet, zainstalowanych pakietów i pakietów, które mają dostępne aktualizacje.

NuGet Galeria

Poprawiliśmy wydajność galerii NuGet z nową usługą internetową i zintegrowanym klientem. Więcej szczegółów na temat NuGet aktualizacji można znaleźć na stronie http://docs.nuget.org .

JavaScript

Obsługa edytora języka JavaScript

Zaktualizowaliśmy edytor języka JavaScript, aby był jeszcze bardziej użyteczny.

  • Obsługa narzędzi dla narzędzia AngularJS. Teraz podczas pisania aplikacji przy użyciu usługi AngularJS funkcja IntelliSense udostępnia sugestie dotyczące kontrolerów Angular, usług, fabryk, dyrektyw i animacji.
  • Obsługiwane są nowe funkcje języka JavaScript (w wersji ES6 języka JavaScript), w tym klasy, funkcje strzałek i ciągi szablonów.
  • Obsługa udostępnionego projektu paska nav. Teraz możesz używać paska nawigacyjnego w projekcie udostępnionym dla Windows aplikacji uniwersalnych.
  • Nowy pasek nawigacyjny. Nowy pasek nawigacyjny ułatwia przechodzenie między głównymi elementami w kodzie źródłowym JavaScript.
  • JSDoc komentarze. Komentarze dokumentacji zapisane w formacie JSDoc są teraz wyświetlane podczas korzystania z funkcji IntelliSense. (Aby uzyskać więcej informacji na temat komentarzy JSDoc, zobacz http://usejsdoc.org ).
  • Literał obiektu IntelliSense. Edytor języka JavaScript udostępnia sugestie funkcji IntelliSense podczas przekazywania literału obiektu do funkcji udokumentowanych przy użyciu narzędzia JSDoc.
  • Rozwiń/zwiń . Możesz rozwinąć i zwinąć więcej sekcji kodu JavaScript, w tym komentarze wielo wierszowe, tablice wielo wierszowe i wszystkie bloki wielo wierszowe.
  • Lista zadań obsługuje . Możesz użyć funkcji Lista zadań, aby przejrzeć komentarze do zadań, takie jak // TODO, w kodzie JavaScript.

TypeScript

Visual Studio 2015 zawiera wersję 1.5 narzędzi Języka TypeScript. W tej wersji dodano rozbudowaną obsługę języka ECMAScript 6, w tym moduły, destruktoryzowanie, dla. z, rozrzutu, symbole, obliczone właściwości, let/const dla ES3/ES5 i otagowane szablony ciągów dla ES3/ES5. Oprócz obsługi ES6 język TypeScript 1.5 dodaje również obsługę eksperymentalnej propozycji dekoratora ES7, danych wyjściowych modułów UMD i System.js oraz nowego lekkiego, przenośnego pliku projektu o nazwie "tsconfig.json".

IntelliTest

W Visual Studio 2015 r. dodaliśmy środowisko IntelliTest, które eksploruje kod .NET w celu wygenerowania danych testowych i zestawu testów jednostkowych. Dla każdej instrukcji w kodzie generowane są dane wejściowe testu, które będą wykonywać te instrukcje. Analiza przypadku jest wykonywana dla każdej gałęzi warunkowej w kodzie. Na przykład

Wszystkie operacje, które mogą zgłaszać wyjątek, takie jak instrukcje if i asercja, są analizowane. Ta analiza służy do generowania danych testowych dla sparametryzowanego testu jednostkowego dla każdej z metod, tworząc testy jednostkowe z maksymalnym pokryciem kodu. Następnie należy przybliować swoją wiedzę na temat domeny, aby ulepszyć te testy jednostkowe.

Dodaliśmy również następujące funkcje do narzędzia IntelliTest:

  • Sparametryzowane testy jednostkowe. Funkcja IntelliTest umożliwia obsługę interfejsu API, za pomocą których można kierować generowaniem danych testowych, określać właściwości poprawności testowego kodu i kierować eksploracją testowego kodu. Ten interfejs API jest dostępny w przestrzeni nazw Microsoft.Pex.Framework i może być używany w metodach testowych (sparametryzowane testy jednostkowe, metody fabryki) generowanych przez środowisko IntelliTest. W związku z tym polecenie menu kontekstowego "IntelliTest" jest teraz dostępne również z wygenerowanych metod testowych.
  • Tworzenie wycinki testów. Polecenie "Utwórz testy jednostkowe" jest teraz dostępne w menu kontekstowym jako polecenie, które umożliwia tworzenie i konfigurowanie projektu testowego, klasy testowej i wycinki testu.

Aby uzyskać więcej informacji na temat funkcji IntelliTest (znanej wcześniej jako "Inteligentne testy jednostkowe"), zobacz Generowanie testów jednostkowych dla kodu za pomocą funkcji IntelliTest.

Aplikacje Szczegółowe informacje

Oprócz różnych ulepszeń wydajności i poprawek błędów usługi Application Szczegółowe informacje teraz zawierają następujące aktualizacje:

  • Narzędzia Szczegółowe informacje aplikacji w Visual Studio są teraz częścią Visual Studio połączonych usług. (Aby dodać usługę Application Szczegółowe informacje, otwórz okno dialogowe Usługi połączone i wybierz pozycję Application Szczegółowe informacje z listy usług).
  • Ta aktualizacja jest w pełni zgodna z projektami, w których dodano Szczegółowe informacje application Visual Studio 2013 Update 3 lub Visual Studio 2013 Update 4.
  • ASP.NET 5 deweloperów, Windows 10 universal apps, a deweloperzy usługi Windows 8.1 Universal Apps mogą dodawać usługi Application Szczegółowe informacje do swoich projektów bezpośrednio z Visual Studio.
  • Windows 10 Deweloperzy aplikacji uniwersalnych nie muszą być zalogowani na platformie Azure, aby dodać zestaw SDK usługi Application Szczegółowe informacje; Zamiast tego mogą go dodać przy użyciu narzędzi application Szczegółowe informacje w Visual Studio.
  • Ponieważ Szczegółowe informacje korzysta z s wyboru konta globalnego w Visual Studio, możesz użyć tego samego konta w Visual Studio.
  • Teraz możesz wyświetlić informacje "wprowadzenie" dotyczące usługi Application Szczegółowe informacje bezpośrednio z folderu Project Service Reference. Po prostu kliknij Wprowadzenie folder.

Wyświetlanie Wprowadzenie informacji o usłudze Application Szczegółowe informacje z Project odwołania do usługi.

Release Management

Dzięki tej funkcji można usprawnić proces zarządzania wydaniem aplikacji, wdrożyć aplikację w określonym środowisku dla każdego oddzielnego etapu i zarządzać krokami w procesie zatwierdzeń dla każdego kroku. Potok wydania można skonfigurować od zaewidencjowania do wdrożenia bez konieczności instalowania i konserwowania lokalnego serwera zarządzania wydaniami przy użyciu usługi Release Management dla usługi Visual Studio Online.

Zaktualizowana wersja Release Management jest dostępna dla Visual Studio 2015 r. Jest to bardzo podobne do istniejącej Release Management dla Visual Studio 2013, ale zapewnia lepszą wydajność w następujących obszarach:

  • Strona uruchamiania klienta zarządzania wydaniami zawiera omówienie procesu wydania i powiadomień.
  • Renderowanie i interakcyjność na innych stronach klienta zarządzania wydaniami za pośrednictwem dodatkowego buforowania.
  • Synchronizacja grup zabezpieczeń usług Active Directory i TFS.
  • Tworzenie nowych wersji.

Teraz można definiować składniki i definicje wersji dla definicji kompilacji nowego systemu kompilacji zawartych w programie Team Foundation Server 2015. Podczas definiowania składnika można również określić artefakt dla składnika przy użyciu nazwy składnika, która jest taka sama jak (lub zawiera) nazwę opublikowanego artefaktu z definicji kompilacji.

Kontrola wersji usługi Git

Łatwiej jest pracować z gałęziami i zobaczyć, jak zmiany w historii się rozeszły.

Gałęzie

Gałęzie można organizować hierarchicznie, określając prefiks:

Gałęzie lokalne i zdalne (w tym te, które nie zostały utworzone lokalnie) są wyświetlane oddzielnie w widoku drzewa.

Gałęzie usługi Git

W wersji RC przerabialiśmy stronę Gałęzie:

  • Teraz można scalać gałęzie zdalne, a także gałęzie lokalne.
  • Gałąź, z która jest scalana, jest teraz stała w gałęzi, która jest obecnie wyewidencjonowana.
  • Teraz można zmienić bazę z bieżącej gałęzi na dowolną lokalną lub zdalną gałąź.
  • Możesz wyewidencjonować gałąź zdalną, klikając ją dwukrotnie lub klikając ją prawym przyciskiem myszy, a następnie wybierając pozycję Wyewidencjonowanie.

Zdalne zarządzanie

Teraz możesz skonfigurować zdalne repozytoria Git w Team Explorer. W repozytorium Ustawienia znajduje się nowa sekcja Repozytoria zdalne, która pokazuje aktualnie skonfigurowane repozytoria zdalne, w których można dodawać, edytować lub usuwać repozytoria zdalne. Jeśli na przykład musisz zmienić adres URL zdalnego źródła, możesz kliknąć pozycję Edytuj i zmienić adres URL pobierania i/lub wypychania.

Szczegółowa historia

Teraz możesz zobaczyć, jak zatwierdzenia różnią się w historii.

Szczegółowy widok historii

Na wykresie zatwierdzenia scalania są szare, a zatwierdzenia inne niż scalania — jaśniejszy kolor. Możesz przełączać się między widokiem prostym i widokiem szczegółowym. Jeśli wykres jest obcięty, możesz zmienić jego rozmiar.

W wersji RC dokonano kilku aktualizacji grafu Historia:

  • Dodaliśmy pasek narzędzi, który umożliwia sterowanie poziomem szczegółowości wyświetlanym na wykresie.
  • Teraz wyróżniamy wiersze historii, aby wskazać, które zatwierdzenia są dostępne z aktualnie wybranego zatwierdzenia.
  • Teraz pokazujemy oba wiersze historii, jeśli gałąź lokalna i zdalna są różne. Jest to szczególnie przydatne po ponownej podstawie gałęzi lokalnej.

Ponowne bazy danych w Team Explorer

Teraz obsługujemy ponowne bazy danych w Team Explorer. Aby zainicjować ponowną bazę, kliknij menu wysuwu zmiany bazy na stronie Gałęzie lub kliknij gałąź prawym przyciskiem myszy i wybierz pozycję "Przekszlij bazę do..."

Repozytoria VSO

Ulepszyliśmy środowisko "rozpoczynania pracy" podczas tworzenia repo vso i wprowadzamy o wiele więcej zmian w celu usprawnienia tworzenia nowego repo. W wersji RC W wersji RC wliśmy niewielkie zmiany, aby ułatwić dodawanie nowego kodu do istniejącego repo: jeśli połączysz się z dowolnym repo przy użyciu programu Team Explorer, wybierz pozycję Nowy plik > Project. Okno dialogowe zostanie teraz wyświetlone w katalogu głównym tego połączonego repo.

Publikowanie w u Visual Studio Online

Funkcja Publikuj w Visual Studio Online znacznie upraszcza proces uzyskiwania lokalnego repozytorium do usługi Visual Studio Online. To, co było używane do 12 kroków, teraz zajmuje 2. Na stronie Team Explorer Sync nowa sekcja Publikuj w u Visual Studio Online umożliwia wybranie dowolnego konta użytkownika w menedżerze Visual Studio kont. Twoje Visual Studio online są automatycznie dostępne na liście; nie ma potrzeby pamiętania adresów URL. Gdy wszystko będzie gotowe do udostępnienia kodu, po prostu wybierz nowy lub istniejący projekt zespołowy, aby hostować repozytorium, kliknij pozycję Publikuj i wszystko będzie gotowe.

Okno dialogowe Publikowanie w Visual Studio Online

Logowanie pojedyncze

Ty, podobnie jak wielu innych deweloperów, podczas tworzenia aplikacji możesz korzystać z wielu usług w chmurze. Na przykład prawdopodobnie dodano do aplikacji zaplecza w chmurze do przechowywania danych, przechowywania kodu źródłowego w chmurze lub opublikowania aplikacji w sklepie.

W przeszłości każda z tych usług wymagała oddzielnego procesu logowania, a każda usługa zarządzała oddzielnie stanem zalogowanych użytkowników.

W tej wersji ograniczamy monity o uwierzytelnienie wymagane do uzyskania dostępu do wielu zintegrowanych usług w chmurze w Visual Studio. Teraz podczas uwierzytelniania w pierwszej usłudze w chmurze w usłudze Visual Studio automatycznie zalogujemy Cię lub zmniejszymy liczbę monitów o uwierzytelnienie dla innych zintegrowanych usług w chmurze.

CodeLens

Dowiedz się więcej na temat swojego kodu, zachowując skupienie się na pracy w edytorze. Znajdowanie odwołań do kodu, zmian w kodzie, powiązanych elementów TFS i testów jednostkowych — wszystko to bez konieczności zaglądania do kodu.

W tej wersji zastąpiliśmy wskaźniki CodeLens "Authors" nowymi wskaźnikami historii "Oś czasu działań zespołu" i "Autorzy i zmiany".

  • Wskaźnik Oś czasu działania zespołu pokazuje ostatniego autora i czas ostatniej zmiany. Wybranie tego wskaźnika powoduje otwarcie widoku działania zespołu, w którym można wyszukiwać wzorce zmian w kodzie. Może to ułatwić ocenę wpływu zmian w czasie.
  • Wskaźnik Autorzy i zmiany pokazuje liczbę autorów, którzy zmienili plik, oraz liczbę zmian. Wybranie tego wskaźnika powoduje otwarcie listy wszystkich zmian, szczegółów zmian i linków w celu uzyskania dodatkowych informacji i zobaczenia poprzednich wersji.

Wszystkie informacje ze wskaźników są dostępne, gdy kod jest hostowany w usłudze Kontrola wersji serwera Team Foundation (w usługach Team Foundation Server i Visual Studio Online) oraz w repozytoriach Git. Podczas pracy w trybie Team Foundation Server lub Visual Studio Online można również uzyskać informacje o elementach roboczych.

Te wskaźniki wraz ze wskaźnikami dostępnymi w poprzednich wersjach są wyświetlane na poziomie elementu kodu (metoda, pole lub klasa) dla języka C# i Visual Basic plików. Poniżej przedstawiono przykład wskaźnika oś czasu działania zespołu dla pliku C#:

Wskaźnik osi czasu działania zespołu dla pliku C#

Poniżej przedstawiono przykład wskaźnika Autorzy i zmiany dla pliku C#:

Wskaźnik Autorzy i zmiany dla pliku C#

Jednak wskaźniki są teraz wyświetlane na poziomie plików dla wszystkich innych typów plików (na przykład C++, SQL, JavaScript i innych typów plików). Poniżej przedstawiono przykład wskaźnika oś czasu działania zespołu dla pliku, który nie jest plikiem kodu Visual Basic C#:

Wskaźnik osi czasu działania zespołu dla pliku, który nie jest plikiem kodu Visual Basic C#

Architektura, projektowanie i modelowanie

Mapy kodu i wykresy zależności

Jeśli chcesz zrozumieć określone zależności w kodzie, zwizualizować je, tworząc mapy kodu. Następnie możesz nawigować po tych relacjach przy użyciu mapy wyświetlanej obok kodu. Mapy kodu mogą również ułatwić śledzenie miejsca w kodzie podczas pracy lub debugowania kodu, dzięki czemu będziesz odczytywać mniej kodu, gdy dowiesz się więcej o projekcie kodu.

W ostatniej wersji RTM znacznie ułatwiliśmy korzystanie z menu skrótów dla elementów kodu i linków, grupując polecenia w sekcje związane z wybieraniem, edytowaniem, zarządzaniem grupami i zmienianiem układu zawartości grupy. Zwróć również uwagę, że projekty testowe są wyświetlane w innym stylu niż inne projekty i że zaktualizowaliśmy ikony elementów na mapie do bardziej odpowiednich wersji.

Nowe grupowania w mapach kodu

Zmieniliśmy również sposób wyświetlania zawartości elementów kodu, dzięki czemu można teraz wybrać więcej niż jedną grupę i zastosować styl układu do wszystkich z nich. Teraz zawsze możesz uzyskać przydatny diagram zależności po rozwinięciu zestawu, przestrzeni nazw lub typu na mapie kodu.

Wybieranie wielu grup i stosowanie jednego układu w mapie kodu

We wcześniejszej wersji zapoznawczej i wersji release candidate programu Visual Studio 2015 wprowadzaliśmy zmiany, które umożliwiają:

  • Ulepszono diagramy od góry do dołu. W przypadku średnich i Visual Studio rozwiązań można teraz użyć uproszczonego menu Architektura, aby uzyskać bardziej przydatne mapy kodu dla rozwiązania. Zestawy rozwiązania są pogrupowane według folderów rozwiązań, dzięki czemu można je zobaczyć w kontekście i wykorzystać nakład pracy, który włożyliśmy w strukturyzowanie rozwiązania. Natychmiast zobaczysz odwołania do projektu i zestawu, a następnie pojawią się typy linków. Ponadto zestawy poza rozwiązaniem są grupowane w bardziej kompaktowy sposób.
  • Szybciej uzyskaj reaktywne mapy kodu. Operacje przeciągania i upuszczania dają natychmiastowy wynik, a połączenia między węzłami są tworzone szybciej bez wpływu na kolejne operacje inicjowane przez użytkownika, takie jak rozszerzanie węzła lub żądanie większej liczby węzłów. W szczególności opcja "Pomiń ponowne kompilowanie rozwiązania" pozwala uzyskać lepszą wydajność podczas tworzenia i edytowania diagramów. Gdy tworzysz mapy kodu bez budowania rozwiązania, przetwarzane są teraz wszystkie narożniki przypadków, takie jak zestawy niezabudowane.
  • Filtrowanie węzłów i grup elementów kodu. Mapy można szybko rozmyć, wyświetlając lub ukrywając elementy kodu na podstawie ich kategorii, a także grupując elementy kodu według folderów rozwiązań, zestawów, przestrzeni nazw, folderów projektu i typów.
  • Filtrowanie relacji w celu ułatwienia odczytywania diagramów. Obejmuje to linki między grupami, co sprawia, że praca z oknem filtru jest mniej uciążliwa niż w poprzednich wersjach.
  • "Przechodzenie do szczegółów linków zależności" uwzględnia filtry. Rozszerzając go, możesz uzyskać przydatny, jasny diagram, aby zrozumieć współtwłasności linku zależności. Diagram jest mniej zaśmiecony i uwzględnia wybrane opcje filtrowania linków.
  • Utwórz diagramy na Widok klasy i przeglądarki obiektów. Przeciągnij i upuść pliki i zestawy do nowej lub istniejącej mapy z okien Widok klasy i Przeglądarki obiektów.

Ogólnie kompleksowa lista ulepszeń map kodu obejmuje:

  • Projekty testowe mają inny styl i można je filtrować. Teraz możesz szybko identyfikować projekty testowe na mapie, ponieważ mają one inny styl. Ponadto można je filtrować, aby można było skupić się na kodzie pracy aplikacji.
  • Elementy kodu są dodawane wraz z ich kontekstem. Ponieważ diagramy są teraz wyświetlane z kontekstem (aż do zestawu i folderu rozwiązania, który można w razie potrzeby odfiltrować), podczas przeciągania i upuszczania elementów kodu z Eksplorator rozwiązań, Widok klasy i przeglądarki obiektów są wyświetlane bardziej przydatne diagramy. lub podczas wybierania elementów w Eksplorator rozwiązań i wybierania opcji Pokaż na mapie kodu.
  • Uproszczone linki zależności zewnętrznych. Linki zależności nie reprezentują już dziedziczenia z obiektów System.Object, System.ValueType, System.Enum i System.Delegate, co ułatwia wyświetlanie zależności zewnętrznych w mapie kodu.

Inne zmiany w projekcie i modelowaniu w tej wersji:

  • Diagramy warstw. Zaktualizuj te diagramy przy użyciu Widok klasy i przeglądarki obiektów. Aby spełnić wymagania dotyczące projektowania oprogramowania, należy użyć diagramów warstwowych do opisania żądanych zależności oprogramowania. Utrzymuj spójność kodu z tym projektem, znajdując kod, który nie spełnia tych ograniczeń, i wykonuj sprawdzania poprawności przyszłego kodu z tym punktem odniesienia.
  • Diagramy UML. Nie można już tworzyć diagramów klas UML i diagramów sekwencji z kodu. Można jednak nadal tworzyć te diagramy przy użyciu nowych elementów UML.
  • Eksplorator architektury. Do tworzenia diagramów nie można już używać Eksploratora architektury. Można jednak nadal używać Eksplorator rozwiązań.

Usługa językowa XAML

Przebudowaliśmy usługę językową XAML na .NET Compiler Platform ("Roslyn"), aby zapewnić szybkie, niezawodne i nowoczesne środowisko edytowania kodu XAML, które obejmuje intelliSense.

Dzięki temu środowisko tworzenia XAML jest równe innym językom najwyższej klasy w Visual Studio. Dostarczamy również zaawansowane zestawy funkcji dotyczące refaktoryzacji między językami w znacznie szybszym czasie.

Różne

Agenci dla Visual Studio 2015 nie wymagają już kontrolera testów

W programie Agents for Visual Studio 2015 nie jest potrzebny oddzielny kontroler testowy, ponieważ agenci mogą obsługiwać aranżację, komunikując się z programem TFS 2015 lub usługą Visual Studio Online.

We wszystkich nowych scenariuszach Visual Studio 2015 i TFS 2015 zalecamy używanie agentów w programie Visual Studio 2015.

Jeśli jednak potrzebujesz agenta testowego lub kontrolera testów do pracy z programem TFS 2013, zalecamy użycie agentów dla programu Visual Studio 2013 Update 5 i skonfigurowanie kontrolera testów.

Kontroler testów jest zgodny z programem TFS 2015 i TFS 2013. Jednak obsługa testowania obciążenia w programie Visual Studio 2015 nie jest częścią agentów, dlatego zaleca się zainstalowanie agentów programu Visual Studio 2013 Update 5 i skonfigurowanie kontrolera.

Usługi połączone

Nowe okno dialogowe Dodawanie usługi połączonej w programie Visual Studio 2015 umożliwia łatwe łączenie aplikacji z usługami Azure Application Szczegółowe informacje, Azure Storage,Azure Mobile Services,Office 365 i Salesforce. Aby dodać usługę połączeniową, kliknij prawym przyciskiem myszy węzeł Odwołania, a następnie wybierz polecenie Dodaj usługę połączeniową....

Dodawanie usługi połączonej

Okno dialogowe Dodawanie usługi połączonej zawiera wszystkich aktualnie zainstalowanych dostawców usługi połączonej oraz umożliwia uzyskiwanie dodatkowych informacji o dostawcy, technologiach, których używa, oraz o tym, czy jest on obsługiwany w bieżącym projekcie. Innych dostawców można odnaleźć w galerii Rozszerzenia i aktualizacje za pomocą linku Znajdź więcej usług.... Okno dialogowe Dodawanie usługi połączonej jest również rozszerzalne. Jeśli jesteś deweloperem usług, możesz użyć naszego zestawu SDK usług połączonych, aby utworzyć dostawcę, który może zwiększyć możliwości odnajdywania i zwiększyć użycie twoich usług.

Enterprise Logowanie pojedyncze

Typowe zadanie aplikacji biznesowej polega na skonfigurowaniu aplikacji na potrzeby logowania pojedynczego przedsiębiorstwa przy użyciu Azure Active Directory. Teraz możesz to łatwo zrobić w dowolnym momencie podczas konfigurowej aplikacji, klikając prawym przyciskiem myszy aplikację i wybierając pozycję Konfiguruj uwierzytelnianie usługi Azure AD.... Spowoduje to otworenie kreatora podobnego do funkcji Dodawania usługi połączonej, który przeprowadzi Cię przez proces konfigurowania aplikacji do pracy z usługą Active Directory. Określenie domena usługi Active Directory w kreatorze spowoduje zarejestrowanie aplikacji w tej usłudze Active Directory i skonfigurowanie aplikacji w celu monitowania o zalogowanie.

Określanie domena usługi Active Directory w kreatorze

IIS 10 Express for Visual Studio 2015 RC

Wersja RC zawierała nową wersję usług IIS 10 Express. Jej nowe funkcje obejmują obsługę protokołu HTTP 2.0, a także synchronizację bitów z Windows 10.

Inne zmiany: Poprawki błędów i znane problemy

Pełny opis ulepszeń technologii, poprawek i znanych problemów w tej wersji zawiera następujący artykuł bazy wiedzy.

Zestaw Azure SDK 2.7 dla platformy .NET

Zestaw Azure SDK 2.7 jest pierwszym obsługiwanym zestawem Azure SDK w ostatecznej wersji Visual Studio 2015. Poniżej podano niektóre nowe funkcje i aktualizacje, które pomogą ulepszyć środowisko programowe platformy Azure:

  • Ulepszenia logowania w programie Visual Studio 2015: Zestaw Azure SDK 2.7 dla programu Visual Studio 2015 obejmuje teraz obsługę kont dostępu do platformy Azure za pośrednictwem opartych na rolach usług Access Control,Cloud Solution Providers, DreamSparki innych typów kont i subskrypcji.
  • Cloud Explorer for Visual Studio 2015: zestaw Azure SDK 2.7 zawiera program Cloud Explorer for Visual Studio 2015, który zapewnia wysoce wydajne i skalowalne narzędzie do wyszukiwania i wyświetlania zasobów platformy Azure, sprawdzania ich właściwości oraz wykonywania kluczowych działań dewelopera i diagnostyki z poziomu programu Visual Studio.
  • Zdalne debugowanie dla Virtual Machines w programie Visual Studio 2015: Zdalne procesy debugowania uruchomione na Virtual Machines utworzone przy użyciu Azure Resource Manager stosu.
  • Azure Resource Manager Tools: Zaktualizowaliśmy narzędzia Azure Resource Manager, aby ułatwić pracę z nowymi zadaniami kompilacji Visual Studio Online. Ponadto dodaliśmy ulepszenia dotyczące pracy z Access Control rolami (RBAC) i nowymi typami subskrypcji.
  • Azure App Service Tools: App Service Tools są teraz również dostępne w wersji Visual Studio 2015. Ta aktualizacja zapewnia obsługę zdalnego profilowania na Web Apps, ulepszenia generowania programu Swagger na API Apps i obsługę logowania za pomocą wielu kont. App Service korzystają teraz z interfejsów API usługi Azure Resource Management dla wszystkich funkcji i umożliwiają obsługę aplikacji SenSpark i dostawców usług w chmurze. W tej aktualizacji dodaliśmy również obsługę wersji zapoznawczej usługi Azure API Apps dla deweloperów Visual Studio 2015 r.
  • Narzędzia HDInsight Tools: w tej wersji dodaliśmy widoki wykresów wykonywania dla zadań Hive uruchomionych w aplikacji Tez, rozszerzyliśmy obsługę funkcji IntelliSense hive DML, dodaliśmy funkcje NuGet for SCP.Net, uaktualniliśmy nasze szablony Storm i dodaliśmy nowe szablony dla technologii Pig.
  • Azure Data Factory Tools: Teraz dołączone do zestawu Azure SDK to Azure Data Factory Tools. Naszym celem jest uproszczenie Azure Data Factory tworzenia aplikacji oraz usunięcie wyzwań związanych z wdrażaniem i wdrażaniem. Nasze dostosowane środowisko i zaawansowane narzędzia w narzędziu Azure Data Factory Tools poprawiają produktywność i wydajność zarówno dla nowych, jak i zaawansowanych użytkowników. W tej wersji klienci mogą interaktywnie author and deploy data pipelines by using the Visual Studio interface (Interaktywne tworzenie i wdrażanie potoków danych przy użyciu interfejsu Visual Studio danych). Zobacz wpis Azure Data Factory blogu, aby uzyskać więcej informacji na temat tych narzędzi.

Windows 10 SDK

Te narzędzia są w wersji Visual Studio 2015, aby zapewnić wszystko, czego potrzebujesz do kompilowania, debugowania i przesyłania aplikacji dla dowolnego urządzenia Windows z platformą uniwersalną Windows Platform. Najważniejsze z nich to:

  • Utwórz aplikację universal Windows w wybranej przez użytkownika języku — C#, VB, C++ lub JS — i wd wdrażaj na Windows 10 urządzeniu.
  • Nowe narzędzia debugowania i diagnostyki, w tym narzędzia do debugowania interfejsu użytkownika dla aplikacji XAML i profilera sieci.
  • Tworzenie pakietów aplikacji do przesłania do ujednoliconego sklepu.
  • Procesor Windows 10 Mobile Emulator teraz korzystać ze sprzętu graficznego komputera (GPU), aby przyspieszyć renderowanie ekranu. Zapewnia szybsze i bardziej dynamiczne środowisko debugowania przy użyciu rozwiązania Microsoft RemoteFx.
  • Teraz można używać funkcji symulacji NFC na Windows 10 Mobile Emulator do tworzenia i testowania uniwersalnych aplikacji NFC/z obsługą odległości.
  • Bogata obsługa projektanta XAML do tworzenia interfejsów użytkownika dostosowanych do urządzenia.
  • .NET Native kompilacji aplikacji platformy .NET w chmurze.

Aby uzyskać więcej informacji na Windows 10 programistów, zobacz It's time to upgrade your world and your apps(Na czas uaktualniania świata i aplikacji).

Python Tools for Visual Studio 2.2

Całkowicie bezpłatna obsługa języka Python w Visual Studio.

  • CPython, PyPy, IronPython i inne
  • Szczegółowe funkcje IntelliSense
  • Debugowanie interaktywne
  • Integracja z Visual Studio funkcji
  • Bezpłatne i open source

Aby uzyskać więcej informacji, zobacz Python Tools for Visual Studio.

Visual Studio Tools for Unity 2.0

Zmień Visual Studio w zaawansowane środowisko programowe Unity.

  • Tworzenie gier wieloplatformowych
  • Debugowanie z Visual Studio
  • Tworzenie skryptów aparatu Unity w programie Visual Studio
  • Zapewnianie zwiększonej produktywności dzięki Visual Studio

Aby uzyskać więcej informacji na temat Visual Studio Tools for Unity, zobacz Game Development with Visual Studio (Tworzenie gier za pomocą Visual Studio).

Node.js Tools for Visual Studio 1.1 (RC)

Zmień Visual Studio w zaawansowane środowisko Node.js dewelopera.

  • Bezpłatne i open source
  • Inteligentne uzupełnianie kodu
  • Zaawansowane debugowanie i profilowanie
  • Integracja z innymi Visual Studio i narzędziami innych firm
  • Node.js, io.js, JavaScript, TypeScript, HTML, CSS i JSON

Dowiedz się więcej oNode.js Tools for Visual Studio.

Office Narzędzia deweloperskie for Visual Studio 2015

Tworzenie aplikacji przy użyciu Office 365 API

  • Office 365 Narzędzia API Tools wykorzystują nowe usługi połączone w programie Visual Studio 2015 w celu zapewnienia deweloperom możliwości integracji interfejsów API Office 365 z projektem.
  • Teraz możesz pozwolić narzędziom Office 365 API Tools na automatyczną konfigurację usługi Single Sign-On w aplikacjach internetowych ASP.NET MVC, po prostu wybierając pozycję "Konfigurowanie pojedynczego serwera Sign-On przy użyciu usługi Azure AD" w kreatorze usług połączonych.
  • Po zintegrowaniu interfejsów API Office 365 z projektem narzędzia Office 365 API Tools pobierają i instalują najnowszą wersję biblioteki klienta interfejsu API Office 365 NuGet z witryny NuGet.org.

SharePoint tworzenia dodatków

  • Podczas tworzenia dodatków SharePoint narzędzia ustawiają docelową wersję SharePoint jako wersję witryny SharePoint debugowania, która jest określana w kreatorze tworzenia projektu. Kreator wyświetla wybraną wersję SharePoint i umożliwia zastąpienie tego ustawienia domyślnego. Wersję docelową można zmienić po utworzeniu projektu przy użyciu karty SharePoint w Project Designer.
  • Narzędzia instalują teraz pakiet NuGet zawierający model obiektów po stronie klienta usługi SharePoint Online (SPO-CSOM) w projekcie, gdy wersja docelowa jest SharePoint Online. Narzędzia dodają odwołania do zestawów CSOM SharePoint online do projektu. Narzędzia nie są już zależne od zestawu SDK SharePoint Online Client Component, który został wydany w Centrum pobierania Microsoft. Ułatwia to uaktualnianie zestawów CSOM w przyszłości przy użyciu NuGet Menedżer pakietów w Visual Studio.
  • Teraz można używać ciągów połączenia sygnatury dostępu współdzielonego lub ACS dla usługi Microsoft Azure Service Bus do debugowania i rozwiązywania problemów z zdalnym odbiornikiem zdarzeń w SharePoint dodatku.

Office tworzenia dodatków

  • W tej wersji narzędzia zawsze tworzą nowe aplikacje dla usługi Office przy użyciu manifestu w wersji 1.1 zamiast wersji 1.0, dzięki czemu aplikacje mogą obsługiwać nowe możliwości w aplikacjach internetowych programu Office i klientach programu Office 2013. W przypadku istniejących aplikacji dla Office, które korzystają z manifestu w wersji 1.0, narzędzia uaktualniają manifest do wersji 1.1, gdy jest używana dowolna nowa funkcja, która wymaga manifestu w wersji 1.1.

Dowiedz się więcej o Office Narzędzia deweloperskie dla Visual Studio.

GitHub extension for Visual Studio 2015

Najprostszym sposobem nawiązania połączenia z repozytoriami GitHub w Visual Studio.

  • Łatwa instalacja
  • Połączenie do GitHub w Visual Studio
  • Tworzenie repozytoriów
  • Klonowanie repozytoriów jednym kliknięciem
  • Publikowanie pracy lokalnej w GitHub

Dowiedz się więcej o rozszerzeniu GitHub dla Visual Studio.

Testowanie obciążeniowe w chmurze

Testowanie obciążeniowe oparte na chmurze z centrów danych platformy Azure na całym świecie

Konfigurowanie infrastruktury wymaganej do uruchamiania testów obciążeniowych jest teraz łatwiejsze: teraz możesz wykonywać testy obciążeniowe w chmurze z dowolnego z obsługiwanych centrów danych platformy Azure na całym świecie.

Test obciążeniowy oparty na chmurze obsługuje teraz zaawansowaną diagnostykę agenta

W tej wersji dodaliśmy możliwość przeprowadzania diagnostyki agenta testowego dla testu obciążeniowego opartego na chmurze.

Debugowanie w chmurze jest trudne, ponieważ maszyny nie są dostępne, dlatego zbieranie dzienników lub innych informacji z agentów testowych nie zawsze jest możliwe. Niemniej jednak dzięki zaawansowanej diagnostyce agenta można zbierać dzienniki z agentów testowych i dołączać je do wyników testów obciążenia chmurowego.