Visual Studio IconVisual Studio 2015 — informacje o wersji


Postanowienia | licencyjne — społeczność deweloperów blogów | programu Visual Studio

Uwaga

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


Wydania programu Visual Studio 2015

Informacje o wersji można wyświetlić 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 IconVisual Studio 2015

Wydany 20 lipca 2015 r.

Podsumowanie nowości w tej wersji

Inne zmiany:

Szczegóły nowości w tej wersji

Visual C++ dla opracowywania aplikacji mobilnych na wiele platform

Teraz łatwo jest udostępniać, ponownie używać, kompilować, wdrażać i debugować cały kod specyficzny dla platformy na wielu platformach, a wszystko to w ramach jednego rozwiązania w programie Visual Studio. Oto kilka czynności, które można wykonać:

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

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

  • Skonfiguruj kompilację dla platform natywnych x86 lub ARM.

  • Wdróż kod na dołączonych urządzeniach z systemem Android lub użyj wydajnego emulatora systemu Android firmy Microsoft do testowania.

  • Ustawianie punktów przerwania, obserwowanie zmiennych, wyświetlanie stosu i przechodzenie przez kod w debugerze programu Visual Studio.

  • Wyświetl dziennik komunikatów z urządzenia z systemem Android przy użyciu przeglądarki LogCat. (Usługa Logcat jest narzędziem diagnostycznym i jest niezbędna do dobrego środowiska edytowania kompilacji-debugowania>>).
    Użyj usługi Logcat, aby wykonać następujące czynności:

    • Wyszukaj określone komunikaty dziennika przy użyciu paska wyszukiwania.
    • Użyj przełącznika Autosroll, aby łatwo wyświetlić nadchodzące komunikaty dziennika.
    • Wyczyść poprzednie komunikaty wyjściowe dziennika.
    • Wybierz między różnymi poziomami dziennika.
  • Napisz kod C++ przeznaczony dla platformy iOS i skorzystaj z naszych zaawansowanych funkcji tworzenia kodu, takich jak udostępnianie kodu, międzyplatformowa funkcja IntelliSense, refaktoryzacja i wgląd w definicję. Obsługa systemu iOS jest nadal w toku, więc wkrótce sprawdź więcej na ten temat. Możesz wysłać nam opinię, korzystając z Połączenie w przypadku usterek. Ponadto możesz wysłać nam szybkie przemyślenia przy użyciu funkcji Send-a-Smile w środowisku IDE programu Visual Studio.

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

  • Obsługa poziomu 21 interfejsu API systemu Android (Lollipop).
  • Nowy szablon oparty na obsłudze 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 for Apache Cordova

Wcześniej znane jako aplikacje hybrydowe dla wielu urządzeń dla programu Visual Studio, narzędzia Visual Studio Tools for Apache Cordova ułatwiają kompilowanie, debugowanie i testowanie międzyplatformowych aplikacji przeznaczonych dla systemów Android, iOS, Windows i Windows Telefon z jednego prostego projektu programu Visual Studio.

Wszystkie funkcje dostępne w poprzednich listach CSP są teraz dostępne w programie Visual Studio 2015 RC, w tym w następujących ulepszeniach:

  • Aktualizacja zaoszczędzenia dla Ripple — nie trzeba ponownie kompilować!
  • Debugowanie wersji aplikacji systemu iOS z programu Visual Studio po wdrożeniu jej w symulatorze systemu iOS lub 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 wtyczek niestandardowych do projektu z repozytorium Git lub systemu plików
  • Wybieranie opcji konfiguracji specyficznych dla platformy z ulepszonego projektanta config.xml
  • Obsługa platformy Apache Cordova 4.0.0.

Wysłuchaliśmy opinii użytkowników i rozszerzyliśmy liczbę urządzeń, do których można debugować, w następujący sposób:

  • Android 4.4, Android 4.3 i starsze z jsHybugger
  • System iOS 6, 7 i 8
  • Sklep Windows 8.1

Następnie rozszerzyliśmy obsługę debugowania dalej. Teraz możesz debugować aplikacje platformy Apache Cordova przeznaczone dla systemu Windows Telefon 8.1.

Punkty przerwania można ustawić, sprawdzić zmienne, użyć konsoli i wykonać inne zadania debugowania na emulatorze systemu Windows Telefon 8.1 lub dołączonym urządzeniu.

Debugging with Visual Studio Tools for Apache Cordova

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

Emulator programu Visual Studio dla systemu Android

Emulator programu Visual Studio dla systemu Android można użyć w projekcie dla wielu platform w programie Visual Studio (Xamarin lub C++) albo w narzędziach 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/Location, akcelerometr, obrót ekranu, powiększenie, karta SD, aparat fotograficzny, multi-touch i dostęp sieciowy. Obsługuje również systemy Android w wersji 4.4 (KitKat, API Level 19) i 5.0 (Lollipop, API Level 21).

Emulator programu Visual Studio 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 rtm:

  • Nowe platformy. Dostępne są obrazy Jellybean (API 17) i Lollipop 5.1 (API 22).
  • Interfejs wiersza polecenia. Przejście do pliku %programfiles(x86)%\Microsoft Emulator Manager\1.0\emulatorcmd.exe w wierszu polecenia umożliwi interakcję z menedżerem emulatora (lista, instalacja, uruchamianie profilów itp.) bez interfejsu użytkownika.
  • Przeciągnij i upuść biblioteki zip. Przeciąganie i upuszczanie błyskawicznego pliku zip do emulatora spowoduje teraz automatyczne rozpakowywanie i instalowanie go.
  • Karta SD Card. Ta nowa karta w oknie "Dodatkowe narzędzia" umożliwia wypychanie i ściąganie danych do i z karty SD.
  • Nabyć na własną rękę. Emulator można zainstalować na maszynie bez konieczności instalowania programu Visual Studio. Skrót do Menedżera emulatorów jest wyświetlany w menu Start, aby można było go uruchomić i użyć z dowolnego łańcucha narzędzi programistycznych.

Aby uzyskać więcej informacji, zobacz Visual Studio Emulator for Android.

Visual Studio Tools for Universal Windows App Development

Narzędzia programu Visual Studio dla programowania aplikacji uniwersalnych systemu Windows są zintegrowane z konfiguracją programu Visual Studio. Te narzędzia umożliwiają tworzenie aplikacji systemu Windows uruchamianych na wszystkich urządzeniach z systemem Windows 10 — telefon w kieszeni, tablecie lub laptopie w torbie, komputerze na biurku, urządzeniach IoT i wkrótce, konsolach Xbox w domu, urządzeniu Surface Hub i nie tylko. Ponadto można użyć tych narzędzi do tworzenia aplikacji klasycznych systemu Windows korzystających z interfejsów API systemu Windows 10. Aby uzyskać więcej informacji, zobacz Co nowego w narzędziach Visual Studio Tools for Universal Windows Apps.

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

Visual C++

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

Ponadto usunięto ponad 500 usterek kompilatora, w tym wiele przesłanych przez klientów za pośrednictwem społeczności deweloperów firmy Microsoft — dziękujemy!

Funkcje językowe

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

  • Funkcje wznawiane (wznawianie/oczekiwanie) Słowa kluczowe wznawiania i oczekiwania zapewniają obsługę programowania asynchronicznego na poziomie języka i umożliwiają wznawianie funkcji. Obecnie ta funkcja jest dostępna tylko dla elementów docelowych x64. Proponowane dla języka C++17 [N3858]
  • Typy parametrów funkcji Lambda Generic (Polymorphic) Lambda Expressions lambda można teraz określić przy użyciu auto; kompilator interpretuje auto w tym kontekście, aby oznaczać, że operator wywołania funkcji zamknięcia jest szablonem funkcji składowej i że każde użycie 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 capture lambda. Dzięki temu typy tylko do przenoszenia mogą być przechwytywane przez wartość i umożliwia wyrażenie lambda definiowanie dowolnych elementów członkowskich danych w jego 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
  • Zwracany typ potrącenia Zwracany typ normalnych funkcji można teraz wydukować, w tym funkcje z wieloma instrukcjami zwracanymi i funkcjami cyklizacyjnymi. Takie definicje funkcji są poprzedzone automatycznym słowem kluczowym, jak w definicjach funkcji z typem zwracanym na skutek końcowego, jednak pominięto końcowy typ zwracany. C++14
  • decltype(auto) Potrącenie typu przy użyciu słowa kluczowego auto do inicjowania wyrażeń usuwa 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ć automatycznego, z wyjątkiem wprowadzenia funkcji z wywnioskowanym lub końcowym typem powrotu. C++14
  • Niejawne generowanie specjalnych funkcji członkowskich — konstruktory przenoszenia i operatory przypisania przenoszenia są teraz niejawnie generowane, gdy są dozwolone warunki, dzięki czemu kompilator jest w pełni zgodny z odwołaniami do wartości Rvalue języka C++11. C++11
  • Dziedziczenie konstruktorów Klasa pochodna A może teraz określić, że będzie dziedziczyć konstruktory swojej klasy bazowej, Base, dołączając instrukcję przy użyciu Base::Base; w swojej definicji. Klasa wyprowadzająca może dziedziczyć tylko wszystkie konstruktory swojej klasy bazowej. Nie ma możliwości dziedziczenia tylko określonych konstruktorów bazowych. Klasa wyprowadzająca nie może dziedziczyć z wielu klas bazowych, jeśli mają konstruktory, które mają identyczny podpis, ani nie może klasy pochodnej zdefiniować konstruktora, który ma identyczny podpis do któregokolwiek z odziedziczonych konstruktorów. C++11
  • Zapytanie wyrównania i kontrolka Do wyrównania zmiennej można wykonywać zapytania przy użyciu operatora alignof() i kontrolowanego za pomocą specyfikatora alignas(). alignof() zwraca granicę bajtów dla wystąpień typu, który musi zostać przydzielony; w przypadku odwołań zwraca wyrównanie typu, do których odwołuje się odwołanie, a dla tablic zwraca wyrównanie typu elementu. alignas() kontroluje wyrównanie zmiennej; przyjmuje stałą lub typ, gdzie typ jest skrócony dla alignas (alignof(type)). C++11
  • Extended sizeof Rozmiar zmiennej składowej klasy lub struktury można teraz określić bez wystąpienia klasy lub struktury przy użyciu sizeof(). C++11
  • constexpr Częściowa obsługa constexpr języka C++11. C++11 (częściowe)
  • Literały zdefiniowane przez użytkownika (UCL) Znaczące sufiksy można teraz dołączać do literałów liczbowych i ciągów w celu nadania im określonych semantyki. Kompilator interpretuje literały sufiksów jako wywołania odpowiedniego operatora UDL. C++11
  • Wątek Sejf "Magic" Statics Statyczne zmienne lokalne są teraz inicjowane w bezpieczny wątkowo sposób, eliminując potrzebę ręcznej synchronizacji. Tylko inicjowanie jest bezpieczne wątkowo, używanie statycznych zmiennych lokalnych przez wiele wątków musi być nadal synchronizowane ręcznie. Funkcję statycznych bezpiecznych wątkowo można wyłączyć przy użyciu flagi /Zc:thread Sejf Init- w celu uniknięcia zależności od CRT. C++11
  • Magazyn lokalny wątku Użyj słowa kluczowego thread_local, aby zadeklarować, że dla każdego wątku należy utworzyć niezależny obiekt. C++11
  • Operator noexcept może teraz służyć do sprawdzania, czy wyrażenie może zgłosić wyjątek. Specyfikator noexcept można teraz użyć do określenia, że funkcja nie zgłasza wyjątków. C++11
  • Wbudowane przestrzenie nazw Przestrzenie nazw można teraz określić jako wbudowane, aby wciągnąć jego zawartość do otaczającej przestrzeni nazw. Wbudowane przestrzenie nazw mogą służyć do tworzenia bibliotek z wersjami, które domyślnie uwidaczniają ich najnowszą wersję, a jednocześnie jawnie udostępniają poprzednie wersje interfejsu API. C++11
  • Bez ograniczeń Unions Typ unii może teraz zawierać typy z konstruktorami nietrywialnymi. Konstruktory dla takich związków muszą być zdefiniowane. C++11
  • Wprowadzono nowe typy znaków i literały znaków Unicode oraz literały ciągów w formatach UTF-8, UTF-16 i UTF-32 oraz nowe typy znaków char16_t i char32_t. Literały znaków mogą być poprzedzone prefiksem u8 (UTF-8), u (UTF-16) lub U (UTF-32), tak jak w przypadku ciągu U'a, podczas gdy literały ciągów można dodatkowo prefiksować z odpowiednikami nieprzetworzonych ciągów u8R (UTF-8 raw-string), uR (UTF-16 raw-string) 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 is i", a ty"\U0000000ef to I". C++11
  • func Wstępnie zdefiniowany identyfikator func jest niejawnie zdefiniowany jako ciąg, który zawiera niekwalifikowaną i niewadorowaną nazwę otaczającej funkcji. C++11
  • __restrict __restrict można teraz zastosować do odwołań.
  • Słowo kluczowe Typename. Użytkownicy mogą teraz pisać typename zamiast klasy w parametrze szablonu szablonu. C++14
  • Operator void globals delete(void *, std::size_t) noexcept i void operator delete[](void *, std::size_t) noexcept można teraz przeciążyć. C++14
  • Separatory cyfr teraz można przeplatać literały liczbowe z pojedynczymi cudzysłowami, aby były bardziej czytelne. Na przykład int x = 1'000'000;. C++14
  • Nazwy znaków uniwersalnych w literałach Można teraz pisać podstawowe znaki, 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
  • Inicjatory niestacjonalnych składowych danych działają teraz poprawnie z listami inicjatorów. C++11
  • Atrybuty Można teraz określić funkcję jako [[noreturn]], aby poinformować kompilator, że funkcja nie zwraca (chociaż może zgłosić wyjątek). Teraz można określić różne konstrukcje jako [[przestarzałe]]. Atrybuty są teraz dozwolone w przestrzeniach nazw i modułach wyliczanych. C++11, C++14 i C++17
  • Literały liczbowe zdefiniowane przez użytkownika (UCL) i literały ciągu mogą teraz mieć znaczące sufiksy, które wykonują dostosowane obliczenia na danych literału. C++11
  • Atrybuty porządkowaniazależności danych Można teraz określić parametry funkcji, parametry lambda lub deklaracje funkcji jako [[carries_dependency]], aby ulepszyć optymalizacje współbieżnych struktur danych, które są często odczytywane, ale rzadko modyfikowane. C++11
  • Nowe reguły automatycznego z nawiasem klamrowym-init-list Automatyczne odliczenie dla inicjalizacji copy-list będzie teraz deduce a std::initializer_list lub być źle sformułowane w przeciwnym razie. C++17

Funkcje biblioteki Visual C++

  • Literały zdefiniowane przez użytkownika (UDL) dla standardowych typów<bibliotek Chrono>, <ciąg> i <złożone> nagłówki zapewniają teraz operatory UDL dla wygody. Na przykład 123 ms oznacza std::chrono::milisekundy(123), "hello"s oznacza std::string("hello"), a 3.14i oznacza std::complex(0.0, 3.14).
  • Iteratory przesyłania dalej o wartości null Biblioteka standardowa umożliwia teraz tworzenie iteratorów przesyłania dalej, które nie odwołują się do wystąpienia kontenera. Takie iteratory są inicjowane przez wartość i porównywane są równe dla określonego typu kontenera. Porównywanie iteratora zainicjowanego z wartością, która nie jest inicjowana przez wartość, jest niezdefiniowana. C++14
  • quoted() Biblioteka standardowa obsługuje teraz funkcję quoted(), aby ułatwić pracę z cytowanymi wartościami ciągów i we/wy. W cudzysłów() cały ciąg cudzysłów jest traktowany jako pojedyncza jednostka (ponieważ ciągi znaków innych niż białe znaki znajdują się w strumieniach we/wy); ponadto sekwencje ucieczki są zachowywane za pośrednictwem operacji we/wy. C++14
  • Heterogeniczne wyszukiwanie asocjacyjne Biblioteka standardowa obsługuje teraz funkcje wyszukiwania heterogenicznego dla kontenerów asocjacyjnych. Takie funkcje umożliwiają wyszukiwanie według typów innych niż key_type, o ile typ jest porównywalny do key_type. C++14
  • Sekwencje całkowite w czasie 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 starą wartość. W przypadku typów złożonych program exchange() unika kopiowania starej wartości, gdy konstruktor przenoszenia jest dostępny, unika kopiowania nowej wartości, jeśli jest tymczasowy lub jest przenoszony, i akceptuje dowolny typ jako nową wartość korzystającą z dowolnego operatora przypisania konwersji. C++14
  • Równa się podwójnemu zakresowi (), is_permutation(), niezgodność() 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
  • get<T>() Biblioteka standardowa obsługuje teraz funkcję szablonu get<T>(), aby umożliwić obsługę elementów krotki przez ich typ. Jeśli krotka zawiera co najmniej dwa elementy tego samego typu get<T>(), krotka nie może być skierowana przez ten typ, jednak inne unikatowo typizowane elementy nadal można rozwiązać. C++14
  • tuple_element_t Biblioteka standardowa obsługuje teraz alias tuple_element_t<, T>, który jest aliasem nazwy typu tuple_element<I, T>::type. Zapewnia to pewną wygodę dla programistów szablonów, podobnie jak w przypadku innych aliasów typu metafunction w <type_traits>. C++14
  • Specyfikacja techniczna systemu plików "V3" Dołączona 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; istotne 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
  • narzędzie constexpr zostało zaimplementowane w całej standardowej bibliotece języka C++. C++11, C++14 i C++17
  • quick_exit() Teraz można szybciej przerywać wielowątkowy proces, wywołując quick_exit() i uruchamiając kod czyszczenia w 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 są znane jako bezpieczne. C++17
  • invoke() umożliwia wywoływanie obiektów funkcji, wskaźników do funkcji składowych i wskaźników do elementów członkowskich danych, które mają być wywoływane z jednolitą składnią. C++17
  • noexcept Standardowa biblioteka oczyściła jej użycie noexcept w niektórych funkcjach. C++17
  • uncaught_exceptions() zgłasza liczbę wyjątków w locie (które mogą być większe niż 1). C++17
  • reference_wrapper jest teraz trywialnie kopiowalny. C++17
  • usługa map/unordered_map obsługuje teraz insert_or_assign()/try_emplace(). C++17
  • Dostępne są funkcje inne niż składowe: size(),, empty() i data(). C++17
  • auto_ptr, random_shuffle()i stare <maszyny funkcjonalne> zostały przestarzałe w języku C++11/14 i usunięte w języku C++17. Program Visual Studio 2015 udostępnia je domyślnie, ale zdefiniowanie _HAS_AUTO_PTR_ETC do 0 w całym projekcie spowoduje usunięcie ich definicji.
  • unique_ptr przypisania są teraz dokładnie ograniczone. C++17
  • bool_constant jest teraz obsługiwany jako alias integral_constant<wartości logicznej>. C++17

Szybsze kompilacje języka Visual C++

  • Inkremental Link-Time Code Generation (LTCG) Now you can tell LTCG to rebuild only the part of your project that areaffected by an edit. Może to znacznie skrócić czas łączenia aplikacji korzystających z LTCG. Aktywuj tę funkcję za pomocą przełącznika konsolidatora /LTCG:przyrostowego.
  • Przyrostowe łączenie bibliotek statycznych Zmienia się na biblioteki statyczne, do których odwołuje się inne moduły kodu, są teraz tworzone przyrostowo.
  • /Debug:FastLink znacznie zmniejsza czasy łączenia przy użyciu nowych technik tworzenia pliku PDB.
  • Ulepszenia algorytmiczne zostały wprowadzone w konsolidatorze w celu zmniejszenia czasów łączenia.
  • Wprowadzono ulepszenia, które umożliwią szybsze kompilowanie kodu z dużym obciążeniem szablonu.
  • Instrumentacja szybkiej optymalizacji z przewodnikiem (PGO) Nowa, lekki tryb instrumentacji dla gier i systemów w czasie rzeczywistym została wprowadzona w PGO. Wraz z innymi nowymi funkcjami udostępnionymi za pośrednictwem przełączników konsolidatora /GENPROFILE i /FASTGETPROFILE można teraz równoważyć jakość kodu i szybkość kompilacji podczas korzystania z PGO.
  • Ulepszenia standardowej biblioteki kompilatora i biblioteki standardowej języka C++ powodują znacznie mniejsze pliki obiektów i biblioteki statyczne. Te ulepszenia nie mają wpływu na rozmiar dynamicznie połączonych bibliotek (DLL) ani plików wykonywalnych (EXE), ponieważ nadmiarowy kod został historycznie usunięty przez konsolidator.

Wydajność i jakość kodu w języku Visual C++

  • Ulepszenia automatycznej wektoryzacji. Ulepszyliśmy wektoryzację przepływu sterowania (if-then-else), wektoryzację podczas kompilowania pod /O1 (Minimalizuj rozmiar) i poprawiliśmy ogólną jakość kodu wektorowego, w tym obsługę równoległego STL, wektoryzowanie większej liczby zakresów dla pętli i obsługę pętli #pragma (ivdep).
  • Ulepszenia optymalizacji skalarnych. Dodaliśmy lepszą generację kodu operacji testowych bitów, scalanie i optymalizacje przepływu sterowania (przełączanie pętla-jeśli) i inne optymalizacje skalarne (na przykład lepsza generacja kodu dla std::min i std::max).
  • Optymalizacja z przewodnikiem profilu (PGO). Wprowadziliśmy szereg ulepszeń infrastruktury PGO, w tym ulepszone zestawy odwołań, lepsze możliwości układu danych oraz możliwość ponownego użycia wcześniej wykonanych tworzenia, szybkości i rozmiaru oraz decyzji dotyczących układu.
  • Control Flow Guard (CFG). Dodaliśmy nową funkcję zabezpieczeń; Po prostu dodaj nową opcję do projektu, a kompilator języka Visual C++ będzie teraz wprowadzać dodatkowe kontrole zabezpieczeń do plików binarnych, aby ułatwić wykrywanie prób przejęcia kodu. Gdy kontrola wystrzeli, zatrzyma wykonanie kodu, zanim porywacz może wyrządzić uszkodzenie danych lub komputera.

Uwaga

Zaktualizowaliśmy opcje polecenia. Zamiast używać przełącznika /d2guard4, tak jak w poprzednich wersjach, należy teraz użyć /guard:cf.

Produktywność, debugowanie i diagnostyka języka Visual C++

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 programu Visual Studio w galerii programu Visual Studio.
  • Zaimplementuj definicje funkcji Pure Virtuals Generuje definicje funkcji dla czystych funkcji wirtualnych dziedziczone przez klasę lub strukturę. Obsługiwane jest dziedziczenie wielokrotne i cyklicznego. Aktywuj tę refaktoryzację z dziedziczonej definicji klasy, aby zaimplementować wszystkie odziedziczone czyste funkcje wirtualne lub z specyfikatora klasy bazowej w celu zaimplementowania czystych funkcji wirtualnych tylko z tej klasy bazowej.
  • Utwórz deklarację lub definicję Wygeneruj deklarację na podstawie istniejącej definicji lub definicji domyślnej z istniejącej deklaracji. Uzyskaj dostęp do tej refaktoryzacji z istniejącej deklaracji lub definicji albo ze wskaźnika żarówki.
  • Przenieś definicję funkcji przenosi treść funkcji między kodem źródłowym a plikami nagłówka. Aktywuj tę refaktoryzację z podpisu funkcji.
  • Konwertuj na nieprzetworzone literał ciągu Konwertuje ciąg zawierający sekwencje ucieczki na literał nieprzetworzonego ciągu. Obsługiwane sekwencje ucieczki to \n (nowy wiersz), \t (tab), ' (pojedynczy cudzysłów), " (podwójny cudzysłów) i ? (znak zapytania). Aktywuj tę funkcję, klikając prawym przyciskiem myszy dowolne miejsce wewnątrz ciągu.

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

  • Szybkość skanowania rozwiązań została ulepszona, 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 podczas początkowego skanowania rozwiązania po pierwszym otwarciu nowego rozwiązania.

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

Wizualizacje debugera w języku C++

Dodaj wizualizacje debugera Natvis do projektu programu Visual Studio, aby ułatwić zarządzanie i integrację kontroli źródła. Pliki Natvis dodane do projektu mają pierwszeństwo przed oceną nad wizualizatorami Natvis poza projektem. Aby uzyskać więcej informacji, zobacz Tworzenie niestandardowych widoków obiektów natywnych w debugerze.

Ponieważ program 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 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 stert można zbadać, porównując dwie migawki pamięci. Wyświetl typy obiektów, wartości wystąpień i stosy wywołań alokacji dla każdego wystąpienia po zatrzymaniu aplikacji.

Ulepszone wykrywanie zakleszczenia i odzyskiwanie podczas wywoływania funkcji języka C++ z okien kontrolnych i natychmiastowych.

Ulepszona diagnostyka kompilatora — kompilator udostępnia ulepszone ostrzeżenia dotyczące podejrzanego kodu. Dodano nowe ostrzeżenia (na przykład zmienne w tle i niedopasowane ciągi formatu printf). Istniejące komunikaty ostrzegawcze zostały wyjaśnione.

Flaga /Wv — ostrzeżenia wprowadzone po określonej wersji kompilatora XX.YY. ZZZZ można wyłączyć za pomocą /Wv:XX.YY. Flaga ZZZZ. Inne ostrzeżenia można wyłączyć poza tymi określonymi za pomocą flagi /Wv.

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

Diagnostyka grafiki Visual C++

Diagnostyka grafiki została ulepszona dzięki następującym funkcjom:

  • Kolejne przechwytywanie przechwytywania do 30 kolejnych ramek z jednym przechwytywaniem.
  • Programowe przechwytywanie inicjuj ramkę programowo. Przechwytywanie programowe jest szczególnie przydatne podczas debugowania cieniowania zasobów obliczeniowych w programach, które nigdy nie są wywoływane obecnie lub gdy problem z renderowaniem jest trudny do przechwycenia ręcznie, ale można przewidzieć programowo ze stanu aplikacji w czasie wykonywania.
  • Ulepszona lista zdarzeń grafiki Nowy widok Wywołania rysowania jest dodawany, który wyświetla przechwycone zdarzenia i ich stan w hierarchii zorganizowanej przez wywołania rysowania. Możesz rozwinąć wywołania rysowania, aby wyświetlić stan urządzenia, który był bieżący w momencie wywołania rysowania, i można dodatkowo rozszerzyć każdy rodzaj stanu, aby wyświetlić zdarzenia, które ustawiają ich wartości.
  • Obsługa diagnostyki grafiki systemu Windows Telefon 8.1 obsługuje teraz w pełni debugowanie aplikacji systemu Windows w emulatorze Telefon lub na tethered Telefon.
  • Analiza ramek graficznych To narzędzie zbiera pomiary wydajności na przechwyconych ramkach. Ponadto wykonuje zestaw wstępnie zdefiniowanych eksperymentów, które zapewniają wgląd w wydajność w przypadku zastosowania różnych technik tekstur. Analiza ramek zbiera również liczniki wydajności ze sprzętu.
  • Dedykowany interfejs użytkownika do analizy grafiki Nowe okno analizatora grafiki programu Visual Studio to dedykowany obszar roboczy do analizowania ramek graficznych.
  • Shader Edit and Apply View wpływ zmian kodu cieniowania w przechwyconym dzienniku bez ponownego uruchamiania aplikacji.
  • Skonfiguruj opcje przechwytywania w obszarze Narzędzia-Opcje-Diagnostyka>> grafiki.
  • Narzędzie wiersza polecenia do przechwytywania i odtwarzania ramek.
  • Obsługa diagnostyki grafiki dla programu DirectX 12. Narzędzie diagnostyki grafiki programu Visual Studio obsługuje teraz debugowanie problemów z renderowaniem w aplikacjach DirectX 12.

Nowe narzędzie użycia procesora GPU

Narzędzie Użycie procesora GPU w programie Visual Studio 2015 może służyć do zrozumienia użycia procesora GPU w aplikacjach DirectX. Wykresy czasu ramki, szybkości klatek i wykorzystania procesora GPU są dostępne, gdy aplikacje działają na żywo. 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, a zatem może być przydatne do określenia, czy procesor CPU lub procesor GPU jest wąskim gardłem wydajności.

Włączanie debugowania projektu testowego zarządzanego visual C++

Nowość w tej wersji: Aby włączyć debugowanie projektu testowego zarządzanego visual C++, przejdź do obszaru "Narzędzia | Opcje | Debugowanie | Okienko Ogólne i sprawdź opcję "Pomiń optymalizację JIT przy obciążeniu modułu (tylko zarządzane)".

C# i Visual Basic

Funkcje językowe

W tej wersji kilka nowych funkcji języka C# i Visual Basic pomaga zmniejszyć standardowy i bałagan w codziennym kodzie, zachęcić do bardziej deklaratywnego stylu programowania i zbliżyć dwa języki do siebie. Istnieją na przykład ulepszenia składniowe dotyczące deklaracji typów i składowych oraz sprawdzania wartości null. Ponadto zmienne lokalne można zadeklarować wewnątrz wyrażeń, a funkcja await może być używana w blokach catch i wreszcie. Wiele z tych funkcji jest implementowanych tylko dla jednego z dwóch języków we wcześniejszych wersjach, ale będzie dostępnych dla obu języków w końcowej wersji.

  • Funkcja Nameof zapewnia bezpieczny refaktoryzację sposób uzyskiwania nazwy, np. parametru, elementu członkowskiego 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 wywoływania ich.
  • 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 (tylko w języku C# w wersji zapoznawczej, vb i C# w RTM).
  • Metody, właściwości tylko do pobierania itp., mogą teraz mieć jedno wyrażenie jako ich treść, podobnie jak lambdy.
  • Właściwości automatyczne mogą mieć inicjatory i nie wymagają już ustawiaczy.
  • Inicjatory indeksów: wewnątrz inicjatora obiektu można teraz zainicjować określony indeks nowego obiektu. Tylko język C#.
  • Filtry wyjątków pozwalają przyjrzeć się wyjątkowi i zdecydować, czy przechwycić go przy użyciu danego bloku catch.
  • Używanie klauzul dla klas statycznych bezpośrednio wprowadza ich statyczne elementy członkowskie do zakresu, dzięki czemu można wywołać na przykład WriteLine() lub Sqrt() bez prefiksowania z nazwą klasy.
  • Await działa teraz w catch i wreszcie bloki, co pozwala obejść niektóre bardzo trudne obejścia.

Interfejs użytkownika edytora kodu i edytowanie

Interfejs użytkownika i edytowanie interfejsu użytkownika edytora kodu dla języków C# i Visual Basic zostały zastąpione nowymi środowiskami utworzonymi na platformie kompilatora .NET ("Roslyn"). Wiele funkcji, które kochasz dzisiaj zostały ulepszone lub odnowione.

  • Żarówki to nowy dom dla wszystkich szybkich akcji podejmowania w Edytorze programu Visual Studio, w tym poprawek typowych problemów z kodem i refaktoryzacji kodu. Jeśli masz problemy w kodzie, żarówka pokazuje sugerowane poprawki dla tych problemów. Wszystkie operacje refaktoryzacji zostały przeniesione do żarówki. Dostęp do żarówki można uzyskać w dowolnym momencie, wpisując klawisze Ctrl + <kropka>.

Light bulb shows suggestions

  • Istnieją dwie nowe operacje refaktoryzacji rdzeni: śródliniowa zmienna tymczasowa i Wprowadzenie lokalne. Oto przykład nowej funkcji wprowadzenie lokalnej :

Introduce local light bulb

Przykład zmiennej tymczasowej wbudowanej:

Inline temporary light bulb

  • Obsługa refaktoryzacji języka Visual Basic została dodana po raz pierwszy i została również przeniesiona do żarówki.
  • Poprawiono również zmianę nazwy; Teraz wyróżnia wszystkie wystąpienia identyfikatora, którego nazwę chcesz zmienić, umożliwiając wpisanie nowej nazwy do wszystkich wystąpień jednocześnie bezpośrednio w edytorze.

Improvements to inline renaming

  • Możesz uzyskać analizę kodu na żywo i automatyczne poprawki podczas wpisywania, z określonymi wskazówkami obsługującymi kod 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 pomocą pakietu NuGet, który otrzymujesz z galerii NuGet, tak jak każdy inny pakiet. Podczas ściągania dowolnej reguły na żywo zastępuje ona równoważną regułę FxCop po kompilacji, dzięki czemu nie otrzymujesz zduplikowanych trafień. Oto przykład z pakietu Code Analysis for Azure .

An example from the Code Analysis for Azure package

  • Ewaluator wyrażeń dla języka C# i Visual Basic został przepisany. Ulepszenia obejmują obsługę wyrażeń LINQ i lambda w systemach 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 "po prostu działa" i poprawia wydajność w kluczowych obszarach. W kompilatorze i środowisku uruchomieniowym zaimplementowano wiele usterek i małych 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.
  • Zjednoczenie wartości "modyfikowalne" 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 otrzymywać powiadomienia w takim przypadku.
  • Parametry statyczne do podanych metod — poszczególne metody udostępniane przez dostawców typów mogą teraz określać parametry statyczne.
  • Podane typy bez wartości null — podane typy można teraz określić jako niepuste za pośrednictwem standardu [<AllowNullLiteral(false)>].
  • Niejawny cudzysłów argumentów metody — argumenty metody typu Expr< nie> mogą być teraz jawnie automatycznie cytowane, przekazując zarówno wartość argumentu, jak i AST wyrażenia, które je wygenerowało.
  • Rozszerzona gramatyka preprocesora — operatory logiczne ||, && i ! Można teraz używać grupowania () w dyrektywach preprocesora #if .
  • Racjonalne wykładniki w jednostkach miary - jednostki miary obsługują teraz racjonalne wykładniki, które są czasami używane w naukach fizycznych, takich jak inżynieria elektryczna
  • Uproszczone używanie jednostek wartości miary z funkcjami typu "printf" — zjęte wartości liczbowe są teraz bezproblemowo współdziałać ze specyfikatorami formatu wydruku liczbowego bez konieczności usuwania jednostek.
  • Obsługa wielowymiarowych tablic .NET — tablice platformy .NET o klasyfikacji 5 lub większej mogą być teraz używane przez kod języka F#.
  • Właściwości rozszerzenia w inicjatorach obiektów — właściwości rozszerzenia zestawu można teraz przypisywać w wyrażeniach inicjatora obiektów.
  • Dziedziczenie z wielu wystąpień interfejsu ogólnego — klasy utworzone przez język F#mogą teraz dziedziczyć z klas implementujących wiele wystąpień interfejsu ogólnego.
  • Wiele właściwości w obiekcie "StructuredFormatDisplayAttribute" — formatowanie określone za pomocą funkcji [<StructuredFormatDisplay>] może teraz zawierać wiele właściwości.
  • Opcjonalnie wiodąca przestrzeń nazw "Microsoft" — podczas korzystania z modułów lub otwierania modułów i przestrzeni nazw z platformy FSharp.Core wiodące "Microsoft" jest teraz opcjonalne.

Ś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 (bez ograniczeń interfejsów API, które nie mają zastosowania do niektórych typów), z dedykowanymi, zoptymalizowanymi implementacjami dla każdego typu.
  • Zoptymalizowane skróty strukturalne — wprowadzono znaczące optymalizacje w celu zwiększenia wydajności ogólnego porównania skrótów dla typów pierwotnych, co prowadzi do wzrostu wydajności przez interfejsy API, takie jak "distinct" i "groupBy".
  • Zoptymalizowane operatory porównania niestrukturalnych — można teraz otworzyć moduł FSharp.Core.Operators.NonStructuralComparison, zastępując domyślne operatory porównania strukturalnego języka F# bardziej wydajnymi operatorami niestrukturalnych. Może to zapewnić znaczne wzrosty wydajności podczas przetwarzania typów z implementacjami operatorów niestandardowych, szczególnie typów wartości.
  • Składnia fragmentowania na listach języka F# — listy języka F# obsługują teraz składnię fragmentowania na potrzeby uzyskiwania list podrzędnych.
  • Rozszerzenia asynchroniczne dla elementu 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 bardziej przyjazne dla użytkownika ślady stosu, co ułatwia diagnozowanie problemów.
  • Interfejsy API międzyoperacyjności dla opcji — do modułu Opcja dodano różne nowe interfejsy API służące do konwertowania na obiekty o wartościach null i z wartości System.Nullable.
  • Wzorzec aktywny cudzysłowu dla wartości System.Decimal — aktywny wzorzec jest teraz wbudowany w dopasowywanie wartości stałych System.Decimal w cudzysłowie.

Funkcje środowiska IDE języka F#

Istnieją również nowe środowiska i funkcje w narzędziach visual F#, a także szereg poprawek błędów.

  • Debugowanie skryptu — skrypty języka F# można teraz debugować bezpośrednio w debugerze programu Visual Studio.
  • Metadane zestawu w szablonach projektów — wszystkie szablony projektów języka F# zawierają teraz plik AssemblyInfo.fs zawierający typowe atrybuty metadanych na poziomie zestawu.
  • Zintegrowane sprawdzanie aktualne — projekty języka F# teraz prawidłowo zgłaszają stan "aktualny" podczas kompilowania w programie Visual Studio.
  • Uzupełnianie funkcji IntelliSense w inicjatorach obiektów — wyrażenia inicjatora obiektów obsługują teraz uzupełnianie funkcji IntelliSense właściwości tabeli settable przy użyciu klawiszyCtrl+Spacja.
  • Uzupełnianie funkcji IntelliSense dla nazwanych parametrów — wywołania metody i konstruktora obsługują teraz automatyczne uzupełnianie funkcji IntelliSense nazwanych parametrów przy użyciu klawiszyCtrl+Spacja.
  • Poprawki błędów związane z obsługą folderów — narzędzia Visual F# nie obsługują bezpośrednio folderów w projektach, ale usunięto szereg błędów systemowych projektu, co poprawiło obsługę folderów dodanych przez rozszerzenie Visual F# Power Tools.

.NET Framework 4.6

Najnowsza wersja programu .NET Framework to 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 programu .NET Framework i środowisku uruchomieniowym języka wspólnego (w tym w nowym kompilatorze JIT 64-bitowym, kompilacji kodu natywnego dla aplikacji platforma uniwersalna systemu Windows, ulepszenia modułu ładującego zestawów).

Wystarczy próbkowanie zmian:

  • ASP.NET metody powiązania modelu zwracają teraz zadania.
  • ADO.NET obsługuje teraz funkcję Always Encrypted dostępną w programie SQL Server 2016 Community Technology Preview 2 (CTP2).
  • Program Windows Presentation Foundation (WPF) oferuje lepszą obsługę obsługi dotyku i ulepszonego układu HDPI.
  • Program Windows Communication Foundation (WCF) obsługuje teraz protokoły SSL w wersji 1.1 i TLS 1.2, a także protokoły SSL 3.0 i TLS 1.0.
  • Biblioteka klas bazowych programu .NET Framework obejmuje ulepszenia odzyskiwania pamięci, wzorzec asynchroniczny oparty na zadaniach oraz kryptografię. 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 z funkcji obsługiwanych przez nowe biblioteki.

Aby uzyskać dodatkowe szczegóły i pełną listę nowych funkcji dodanych do programu .NET Framework, zobacz Co nowego w programie .NET Framework.

Entity Framework

Ta wersja zawiera wersję zapoznawcza programu Entity Framework 7 i aktualizację programu Entity Framework 6, która obejmuje głównie poprawki błędów i współtworzenie społeczności.

Entity Framework 7

Nowa wersja programu Entity Framework umożliwia korzystanie z nowych platform i nowych magazynów danych. System Windows Telefon, Sklep Windows, ASP.NET 5 i tradycyjna aplikacja klasyczna mogą teraz używać platformy Entity Framework. Ta wersja platformy obsługuje relacyjne bazy danych, a także magazyny danych nierelacyjnych, takie jak Azure Table Storage i Redis. Obejmuje ona wczesną wersję zapoznawcza środowiska uruchomieniowego EF7 zainstalowanego w nowych projektach ASP.NET 5. Aby uzyskać więcej informacji na temat programu EF7, zobacz Co to jest ef7.

Entity Framework 6.x

Ta wersja obejmuje wersję środowiska uruchomieniowego i narzędzi programu Entity Framework 6.1.3. Program Entity Framework 6.1.3 zawiera poprawki błędów i współtworzenie społeczności; Możesz wyświetlić listę zmian uwzględnionych w programie Entity Framework 6.1.3.

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

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

Visual Studio IDE

Konta udostępnione

W tej wersji możesz udostępniać konta użytkowników dodane w programie Visual Studio do innych aplikacji, takich jak blend for Visual Studio lub Microsoft Test Manager (i na odwrót).

Projekty udostępnione

W tej wersji dostępne są nowe szablony umożliwiające tworzenie pustych projektów udostępnionych dla języków Visual Basic, C# i JavaScript. Te udostępnione projekty można teraz odwoływać się do kilku typów projektów:

  • Wszystkie niesmakowane projekty VB/C# (np. aplikacje konsolowe, biblioteki klas, aplikacja formularza Win)
  • Sklep Windows 8.1 i Windows Telefon 8.1 (VB/C#/JavaScript)
  • Windows Telefon 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 Udostępnione projekty. Odwołanie do udostępnionego projektu jest wyświetlane 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)

Funkcja znajdowania w plikach została ulepszona, umożliwiając dołączanie kolejnych wyników do poprzednich wyników. Skumulowane wyniki można usunąć.

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

  • Przewijanie (naciśnięcie i przeciąganie na powierzchni edytora na zwykłych i rozszerzonych paskach przewijania)
  • Szczypta do powiększenia
  • Zaznacz cały wiersz, naciskając margines edytora i wybierając wyrazy, naciskając je dwukrotnie
  • Wywoływanie menu kontekstowego edytora przez naciśnięcie klawisza i przytrzymanie

Zdajemy sobie sprawę z jednego problemu z dotykiem, w tym, że gest podwójnego naciśnięcia nie zawsze jest niezawodny na niższych poziomach powiększenia. Chcemy usłyszeć opinię na temat nowej pomocy technicznej dotyczącej obsługi dotykowej, a w szczególności wszelkich problemów, które możesz znaleźć.

XAML Designer

Klienci programu Visual Studio będą teraz mogli edytować swoje szablony i style przechowywane w zewnętrznych słownikach zasobów w kontekście ich użycia. To środowisko zostało jeszcze bardziej wyrafinowane, aby użyć narzędzia Peek, aby umożliwić prawdziwą edycję zasobów w miejscu w projektancie XAML.

Niestandardowe układy okien

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

Ikony o wysokiej rozdzielczości

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

Ulepszenia interfejsu użytkownika

  • Menu są teraz wyświetlane w stylu Przypadek tytułu zamiast stylu WSZYSTKIE CAPS.
  • Wartości listy rozwijanej Konfiguracja i platforma dla okna dialogowego strony właściwości visual C++ 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 Send a Frown z lepszymi narzędziami, aby zgłaszać spowolnienie, zawieszanie się i awarie. Teraz możesz dołączyć pliki lub oznaczyć swoją opinię, aby lepiej opisać problem. Ponadto zaktualizowaliśmy ikony opinii i elementy menu w celu zwiększenia możliwości odnajdywania.

Rozszerzalność programu Visual Studio

  • Teraz możesz używać ikon o wysokiej rozdzielczości w rozszerzeniach programu Visual Studio.
  • Dodatki nie są już obsługiwane w tej wersji. Usunęliśmy szablony projektów dodatków programu Visual Studio 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 VSPackage.
  • Teraz możesz otworzyć projekt rozszerzalności, nawet jeśli nie masz zainstalowanego zestawu Visual Studio SDK.
  • Ponadto można zainstalować zestaw Visual Studio SDK przy użyciu instalatora programu Visual Studio; nie musisz już przechodzić do witryny internetowej. Aby to zrobić: w menu Dodaj usuń programy kliknij prawym przyciskiem myszy program Visual Studio 2015, a następnie wybierz polecenie Modyfikuj. W oknie dialogowym Konfigurowanie programu Visual Studio sprawdź narzędzia rozszerzalności programu Visual Studio w obszarze Common Tools.
  • Aby zwiększyć przenośność i udostępnianie projektów rozszerzeń, można użyć wersji NuGet zestawów referencyjnych zestawu SDK programu Visual Studio. Aby uzyskać więcej informacji, zobacz zestawy opublikowane przez rozszerzenie programu Visual Studio.

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

Mieszanka

Przeprojektowaliśmy program Blend dla programu Visual Studio 2015, aby zapewnić ulepszone środowisko programowania interfejsu użytkownika do tworzenia pięknych aplikacji XAML. Program Blend ma elegancki nowy wygląd spójny z programem Visual Studio, obsługą rozwiązań i programu Team Explorer oraz wzbogaconym środowiskiem ponownego ładowania plików, aby ułatwić lepszy przepływ pracy między programem Blend i programem Visual Studio. Udostępniliśmy również najbardziej poszukiwane funkcje programu Blend, które pomogą Ci zwiększyć produktywność:

  • Teraz możesz wydajniej pisać kod XAML przy użyciu funkcji IntelliSense XAML, która zapewnia uzupełnianie instrukcji i nawigację do źródła.
  • Możesz również wyświetlać i edytować kontrolki i zasoby XAML w kontekście, w którym są one używane z definicją XAML Peek.
  • Znajdowanie i rozwiązywanie problemów z interfejsem użytkownika w uruchomionej aplikacji jest teraz łatwiejsze przy użyciu narzędzi interfejsu użytkownika na potrzeby debugowania XAML, które umożliwiają inspekcję dynamicznego drzewa wizualnego i właściwości dowolnych elementów w drzewie.
  • Dzięki dodaniu obsługi pakietów 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órej można użyć do utworzenia wielu różnych układów okien i przenoszenia ich między maszynami.
  • Dla siły użytkowników, którzy wolą używać klawiatury zamiast myszy, udostępniliśmy okienka projektanta Blend w pełni klawiatury.
  • Na koniec, w ramach ciągłych wysiłków firmy Microsoft w zakresie tworzenia oprogramowania powszechnie dostępnego, program Blend jest teraz czytnikiem pełnoekranowym i dostępnym z wysokim kontrastem.

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

Debugowanie i diagnostyka

Edytowanie zarządzane i kontynuowanie dołączania

W wersji RC można edytować i kontynuować, gdy dołączasz do aplikacji platformy .NET i kiedy zmienna środowiskowa

complus_forceenc jest ustawiona na 1 w procesie docelowym.

Konfiguracja punktu przerwania

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

Wyrażenia lambda w systemie Windows debugera

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

Wskazówki dotyczące wydajności

Możesz użyć funkcji Perf Wskazówki, aby zobaczyć, jak długo kod trwał bezpośrednio w edytorze podczas ustawiania punktów przerwania i kroku z debugerem.

Użycie procesora GPU

Aby zrozumieć użycie procesora GPU w aplikacjach DirectX, możesz użyć narzędzia Użycie procesora GPU. Wykresy czasu ramki, szybkości klatek i wykorzystania procesora GPU są dostępne, gdy aplikacje działają na żywo. 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 poszczególnych zdarzeń DirectX, a zatem może być przydatne do określenia, czy procesor CPU lub procesor 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 wykonać kod w celu obliczenia wyników, takich jak wyświetlanie danych w oknach kontrolnych i natychmiastowych. Jeśli debuger wykryje, że wywołana funkcja jest zakleszona, podejmie próbę rozwiązania problemu.

Gdy debuger języka C++ uruchamia proces, system Windows przydziela teraz pamięć przy użyciu normalnego sterta, a nie normalnego sterta debugowania. Spowoduje to szybsze rozpoczęcie debugowania.

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

Dodaliśmy dwa nowe narzędzia: Live Visual Tree i Live Property Explorer, który sprawdza 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 wyświetlenie końcowych, obliczonych i renderowanych właściwości. Narzędzia obejmują również następujące elementy:

  • Dynamiczne drzewo wizualne. Teraz możesz wyświetlić pełne drzewo wizualne uruchomionej aplikacji podczas sesji debugowania. Dynamiczne drzewo wizualne jest dostępne po naciśnięciu klawisza F5 w programie Visual Studio lub dołączeniu do uruchomionej aplikacji. Możesz użyć dynamicznego drzewa wizualnego, aby wybrać elementy w uruchomionej aplikacji do inspekcji w Eksploratorze właściwości live. Liczba elementów potomnych jest wyświetlana, a jeśli informacje o źródle są dostępne, możesz natychmiast znaleźć plik i lokalizację definicji elementu.
  • Eksplorator właściwości na żywo. Użyj tego nowego narzędzia, aby sprawdzić właściwości ustawione dla dowolnego elementu w uruchomionej aplikacji pogrupowane według ustawionego zakresu. Te właściwości można zmodyfikować podczas sesji debugowania i natychmiast zobaczyć ich zmiany w uruchomionej aplikacji.

Wybranie od siebie sposobu zastąpienia właściwości i ustalenie zwycięskiego zachowania może okazać się trudne w czasie projektowania. Teraz, korzystając z naszych nowych narzędzi do debugowania interfejsu użytkownika dla języka XAML, możesz wykonać te inspekcje w czasie wykonywania.

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

UI Debugging Tools for XAML, full screen

Ustawienia wyjątków

Ustawienia wyjątków debugera można skonfigurować przy użyciu okna narzędzia Wyjątki Ustawienia. Nowe okno nie jest modalne i obejmuje ulepszoną wydajność, wyszukiwanie i filtrowanie.

Exceptions Settings - Break when Thrown window

Narzędzie osi czasu

Nasze nowe narzędzie Osi czasu zapewnia zorientowany na scenariusz widok zasobów używanych przez aplikacje, których można użyć do sprawdzania, diagnozowania i poprawiania wydajności aplikacji WPF i Windows Store 8.1.

Narzędzie Oś czasu, które znajduje się w centrum Wydajności i Diagnostyki, pokazuje, ile czasu aplikacja spędza podczas przygotowywania ramek interfejsu użytkownika i obsługi sieci i żądań dysków. Narzędzie robi to w kontekście scenariuszy, takich jak ładowanie aplikacji i ładowanie strony.

The new Timeline tool

Narzędzia diagnostyczne

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

  • Zdarzenia (z funkcją IntelliTrace)
    Zdarzenia (z funkcją IntelliTrace) umożliwiają 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 tabelaryczny. Te dwa widoki są synchronizowane i mogą ze sobą współdziałać.
  • Użycie pamięci
    Narzędzie Użycie pamięci umożliwia monitorowanie użycia pamięci aplikacji podczas debugowania. Możesz również wykonać i porównać szczegółowe migawki pamięci natywnej i zarządzanej, aby przeanalizować przyczynę 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 etykietkę wydajności procesora CPU dostępną w wersji zapoznawczej programu Visual Studio 2015).

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

  • Zarządzane projekty WPF, WinForms i Console
  • Natywne projekty Win32, Konsola i MFC
  • ASP.NET 4 przy użyciu tylko ekspresowych usług IIS
  • Zarządzane lub natywne projekty ze Sklepu Windows uruchomione lokalnie
    (Projekty ze Sklepu Windows korzystające z języka JavaScript lub uruchomione na telefonie nie są obsługiwane)

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

  • Można go przenieść do dowolnej lokalizacji okna w programie Visual Studio i zapamiętać jego lokalizację i rozmiar między sesjami debugowania
  • Pojawia się i pokazuje dane dla pojedynczego procesu podczas dołączania do procesu przy użyciu debugowania —> dołączanie do procesu
  • Jest wyświetlany podczas debugowania projektów ASP.NET uruchomionych w usługach IIS
  • Jest wyświetlany podczas debugowania ASP.NET 5 projektów
  • Występuje podczas debugowania aplikacji uruchomionej na zdalnym urządzeniu stacjonarnym z systemem Windows
  • Migawki pamięci można wyświetlić 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 dla wersji RC:

Tylko mój kod. Naciśnięcie klawisza F5 w celu uruchomienia debugera spowoduje wyświetlenie tylko kodu, aby można było zrozumieć problemy z wydajnością i wyjątki bez szumu ze struktury i innego kodu. Ponieważ ta nowa funkcja filtrowania kodu w środowisku 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 ułatwić diagnozowanie problemów związanych z siecią podczas tworzenia aplikacji ze sklepu Windows oraz uniwersalnych aplikacji, które działają na wszystkich urządzeniach z systemem Windows 10, z systemu Windows Telefon do Konsoli Xbox i Sklepu Windows.

Narzędzie diagnostyczne sieci rejestruje informacje o operacjach sieci HTTP aplikacji, w tym nagłówkach żądań HTTP i odpowiedzi, ładunkach żądań i odpowiedzi, plikach cookie i szczegółowych informacjach o chronometrażu i nie tylko. Narzędzie diagnostyczne sieci może również pomóc w odpowiadaniu 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 dlaczego nie otrzymujesz najnowszej wersji zasobu)
  • Ile bajtów jest pobieranych podczas uruchamiania typowych zadań aplikacji
  • Gdzie występują wąskie gardła podczas uzyskiwania dostępu do zasobu i pobierania go

Aby uzyskać dostęp do narzędzia Sieć, otwórz okno Narzędzia diagnostyczne w programie Visual Studio 2015. W menu Debugowanie wybierz pozycję Uruchom narzędzia diagnostyczne bez debugowania. Alternatywnie wystarczy nacisnąć klawisze Alt+F2.

Wprowadziliśmy następujące ulepszenia w oknie Narzędzia diagnostyczne, które jest wyświetlane podczas debugowania:

  • Zdarzenia z aplikacji są teraz wyświetlane w jednym śledzeniu zdarzeń IntelliTrace zamiast dzielenia między zdarzeniami IntelliTrace i zdarzeniami wyjściowymi.
  • Zdarzenia z aplikacji są teraz wyświetlane podczas działania programu; teraz nie musisz już naciskać przycisku "Break All", aby zobaczyć zdarzenia.
  • Teraz możesz aktywować debugowanie historyczne dla punktów śledzenia ustawionych w kodzie, co umożliwia wyświetlanie kodu źródłowego i stosu wywołań.
  • Teraz możesz zobaczyć zdarzenia odzyskiwania pamięci i migawki na wykresie Użycie pamięci, aby zobaczyć, kiedy wystąpiły zarządzane odzyskiwanie pamięci i kiedy migawki zostały utworzone za pomocą narzędzia Użycie pamięci.

ASP.NET

ASP.NET 4.6

Powiązanie modelu ASP.NET obsługuje metody zwracania zadań

ASP.NET metody powiązania modelu, które były wcześniej zwracane przez zadanie, nie były obsługiwane i w przypadku skonfigurowania zgłosił wyjątek w czasie wykonywania. 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 platformy .NET 4.6 lub nowszej.

Włączanie platformy kompilatora .NET ("Roslyn") w aplikacjach ASP.NET

Nowe funkcje językowe języka C# i VB można używać w dowolnym projekcie ASP.NET 4.6. Szablony formularzy sieci Web w programie VS 2015 mają wstępnie zainstalowany pakiet Microsoft.CodeDom.Providers.DotNetCompilerPlatform .

Dodano obsługę protokołu HTTP/2

W systemach 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 sieci Web.

Zaktualizowane struktury i kontrolki do obsługi programu Entity Framework 6

Zaktualizowaliśmy dynamiczną strukturę danych, kontrolę źródła danych jednostek i dostawców uniwersalnych, aby współpracować z programem Entity Framework 6.

Aktualizacje uwierzytelniania

Szablony ASP.NET 4.6 używają teraz oprogramowania pośredniczącego Open Id Połączenie do uwierzytelniania w usłudze Azure AD. Dzięki temu model programowania do uwierzytelniania w usłudze Azure AD jest znacznie łatwiejszy.

W przypadku wybrania opcji "Indywidualne konta użytkowników" szablony ASP.NET 4.6 pokazują, jak używać uwierzytelniania dwuskładnikowego i logowań 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 korzystały z najnowszych pakietów środowiska uruchomieniowego dla wzorca MVC 5.2, stron sieci Web 3.2 i internetowego interfejsu API 2.2. Aby uzyskać szczegółowe informacje na temat tych aktualizacji pakietów, zobacz wpis w blogu ASP.NET MVC 5.2.3, Web Pages 3.2.3 i Web API 5.2.3.

ASP.NET internetowego interfejsu API OData 5.3.1

Zaktualizowaliśmy szkielety OData internetowego interfejsu API, aby używały 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 usłudze ASP.NET Web API OData 5.3).

SignalR 2.1.2

Zaktualizowaliśmy pakiety szablonów, aby korzystały z usługi SignalR 2.1.2. Zobacz informacje o wersji usługi SignalR w witrynie GitHub.

Pakiet Microsoft Owin 3.0

Zaktualizowaliśmy pakiety szablonów, aby korzystały z pakietów NuGet firmy Microsoft Owin 3.0. Zobacz projekt Katana.

ASP.NET Identity 2.2.1

ASP.NET Identity 2.2.1 zawiera wiele poprawek błędów i ulepszeń wydajności w wersji 2.1. Przeczytaj ten wpis w blogu ASP.NET Identity 2.2.1 , aby uzyskać więcej informacji.

Aktualizacje narzędzi ASP.NET

Ulepszenia edytora JSON

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

  • Walidacja schematu JSON. Dodaj funkcję weryfikacji schematu JSON na podstawie schematu zdefiniowanego na liście rozwijanej schematu.
  • Menu kontekstowe ujednolicania. Możesz kliknąć prawym przyciskiem myszy edytor JSON i wybrać polecenie Un-minify menu kontekstowe, aby un-minify wszelkie długie tablice w pliku JSON.
  • Załaduj ponownie menu kontekstowe Schematy. Program Visual Studio będzie buforować schemat pobrany z Internetu i będzie używać pamięci podręcznej nawet po ponownym uruchomieniu programu 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.
  • IntelliSense dla pliku package.json/bower.json. Oprócz sprawdzania funkcji IntelliSense i walidacji zarówno plików package.json, jak i bower.json, program Visual Studio zapewnia również funkcję IntelliSense na żywo zarówno dla pakietów Bower, jak i npm bezpośrednio w edytorze JSON.
  • Zduplikowana weryfikacja właściwości. Edytor JSON zapewni teraz walidację wszystkich zduplikowanych właściwości. Pomaga to wychwytywać typowy problem z tworzeniem plików JSON.
  • Obsługa funkcji IntelliSense i walidacji plików JSON została znacznie ulepszona dzięki pełnej obsłudze specyfikacji wersji 4 schematu JSON. Teraz znacznie łatwiej jest zidentyfikować wymagane właściwości, a edytor umożliwia łatwe sortowanie właściwości alfabetycznie. Formatowanie minyfikowanego pliku JSON spowoduje teraz automatyczne wyrejeślenie go.
  • Dodaliśmy obsługę SchemaStore.org , czyli kolekcji open source przydatnych plików schematu JSON. Oznacza to, że każdy plik JSON otwarty w programie Visual Studio, który ma schemat skojarzony z SchemaStore.org automatycznie pobiera funkcję IntelliSense i walidację.
  • Obsługa autorów schematów JSON została dodatkowo rozszerzona przez lepszą weryfikację poprawności schematu.

Ulepszenia edytora HTML

Edytor HTML zaktualizował funkcję IntelliSense dla standardów internetowych i wprowadził następujące nowe funkcje:

  • Lepsze formatowanie szablonu klienta. Edytor HTML nie analizuje już ani nie formatuje składni podwójnej curly {{...}}. Ma to na celu upewnienie się, że zawartość tej składni nie jest traktowana jako HTML i dlatego unieważniona, ani nie próbuje sformatować zawartości, której nie można wykonać poprawnie przy użyciu formatowania HTML. Jest to doskonałe rozwiązanie w przypadku składni szablonów Angular, Handlebars, Mustache i innych składni szablonów podwójnych.
  • Obsługa elementów niestandardowych, elementów polimerowych i atrybutów. Edytor HTML nie weryfikuje już nieznanych atrybutów elementów niestandardowych, ponieważ różne struktury mają wiele tagów niestandardowych. Nie będzie już falistych pod nieznanymi elementami.
  • Podstawowa funkcja IntelliSense dla składników sieci Web. Edytor HTML ma funkcję IntelliSense dla <linku rel="import" /> będącego częścią standardu Web Components.
  • Etykietki narzędzi elementu HTML. Etykietki narzędzi są dostarczane dla elementów HTML w edytorze.
  • obsługa #region. Edytor HTML obsługuje teraz składanie regionów. Możesz również użyć otaczającego fragmentu kodu, aby otaczać bieżące zaznaczenie.
  • Obsługa komentarzy todo/hack na liście zadań.
  • Ikony angular. Obie dyrektywy Angular (np. <<ng-view>) i atrybuty (np. ng-controller) są teraz wyświetlane w funkcji IntelliSense z logo Angular, aby ułatwić ich identyfikację.
  • Ikony uruchamiania. Funkcja IntelliSense podana 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 na liście zadań.
  • @viewport poprawka edytora LESS. W edytorze @viewport LESS nie są już wyświetlane ostrzeżenia dotyczące weryfikacji.
  • Podaj wiele innych fragmentów kodu. Edytor CSS/LESS/Sass udostępnia teraz więcej fragmentów kodu, aby ułatwić programowanie.
  • Rozszerzenie jest teraz dostępne dla programu Visual Studio 2015 w celu skompilowania plików LESS, Scss i CoffeeScirpt. Pobierz go tutaj.

Edytor JSX (React.js)

Program Visual Studio obsługuje teraz składnię JSX wszystkich plików z rozszerzeniem pliku jsx. Pobierz zarówno funkcję IntelliSense, formatowanie, jak i walidację w edytorze podczas wpisywania. Ten edytor został utworzony we współpracy z zespołem serwisu Facebook odpowiedzialnym za bibliotekę React.js.

Łączność z przeglądarkami

Arkusz CSS jest automatycznie synchronizowany. Zapisanie pliku CSS lub zmianę go zewnętrznie (na przykład przy użyciu kompilatora LESS/SASS) powoduje ponowne załadowanie całego pliku CSS w przeglądarce. Jeśli plik nie może przeprowadzić automatycznej synchronizacji, ctrl + S powoduje automatyczne ponowne ładowanie i powinno umieścić go z powrotem w dobrym stanie 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 chudy i komponowalny stos platformy .NET do tworzenia nowoczesnych aplikacji internetowych zarówno dla serwerów w chmurze, jak i lokalnych. Obejmuje ona następujące funkcje:

  • Nowy potok żądania o lekkiej wadze
  • Uruchamianie w usługach IIS lub samodzielnie hostowane we własnym procesie
  • Oparta na nowym środowisku wykonywania platformy .NET (DNX), które może działać w pełnym programie .NET Framework lub na platformie .NET Core, nowym środowisku uruchomieniowym zoptymalizowanym pod kątem chmury, które obsługuje prawdziwe przechowywanie wersji równoległych
  • Uruchamia międzyplatformowe systemy Windows, Mac i Linux
  • NuGet wszystko, nawet samo środowisko uruchomieniowe
  • Obsługuje ASP.NET MVC 6 — ujednoliconą platformę internetową dla internetowego interfejsu użytkownika i internetowych interfejsów API
  • Konfiguracja oparta na środowisku na potrzeby bezproblemowego przejścia do chmury
  • Iniekcja zależności gotowe do użycia
  • Nowy system projektu programu Visual Studio i środowisko narzędzi o wysokiej produktywności
  • Całe oprogramowanie open source w usłudze GitHub za pośrednictwem programu .NET Foundation

Program Visual Studio 2015 zawiera pakiety środowiska uruchomieniowego 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 na temat dodanych ulepszeń i problemów rozwiązanych w opublikowanych informacjach o wersji można znaleźć w witrynie GitHub.

Program Visual Studio 2015 jest wyposażony w nowy system projektu i zintegrowane środowisko narzędzi do tworzenia aplikacji ASP.NET 5 i pracy z projektami DNX. Oto niektóre z nowych funkcji narzędzi:

  • Nowy system projektów do tworzenia międzyplatformowych projektów opartych na dnx, które są kompilowane i uruchamiane w systemach Windows, Mac i Linux.
  • Szablony do tworzenia ASP.NET 5 witryn sieci Web i internetowych interfejsów API przy użyciu wzorca MVC 6, identity 3 i Entity Framework 7.
  • Szablony do tworzenia bibliotek klas opartych na dnX i aplikacji konsolowych
  • Twórz i dystrybuuj międzyplatformowe narzędzia wiersza polecenia za pomocą narzędzia NuGet.
  • Zainstaluj różne wersje DNX i zarządzaj nimi przy użyciu menedżera wersji platformy .NET (DNVM) z wiersza polecenia dewelopera.
  • Zintegrowane środowisko do znajdowania, instalowania i przywracania pakietów NuGet.
  • Użyj klawiszy CTRL + . aby znaleźć i zainstalować pakiety NuGet dla nierozwiązanych 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 integracji zarządzania pakietami i nowego Eksploratora modułu uruchamiającego zadania.
  • Uruchom polecenia DNX na poziomie projektu bezpośrednio z poziomu programu Visual Studio, korzystając z menu rozwijanego przycisk Uruchom.
  • Utwórz niestandardowe profile uruchamiania, które uruchamiają usługi IIS Express, w tym ustawienie niestandardowych zmiennych środowiskowych.
  • Twórz pakiety NuGet z jednego projektu, który jest przeznaczony dla wielu platform, w tym .NET Core.
  • Połączono funkcję IntelliSense podczas kompilowania dla wielu platform docelowych z jednego projektu.
  • Nowe funkcje Razor wprowadzone przez ASP.NET 5, takie jak Pomocnicy tagów, są teraz podświetlane 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 w programie Visual Studio, zostanie wyświetlony monit o zainstalowanie wymaganej wersji DNX.
  • Teraz można dodawać odwołania do utraty zestawów przy użyciu okna dialogowego Dodawanie odwołania.
  • Szablon aplikacji internetowej ASP.NET 5 obsługuje teraz opcję Konta służbowe na potrzeby uwierzytelniania.
  • Opcja Host w chmurze w oknie dialogowym Nowy projekt ASP.NET jest teraz dostępna dla projektów ASP.NET 5.
  • Użyj Eksploratora serwera do zdalnego edytowania plików w folderze approot dla ASP.NET 5 projektów hostowanych na platformie Azure.

Aby uzyskać dodatkowe informacje, zobacz informacje o wersji narzędzi w witrynie GitHub oraz nasz blog dotyczący tworzenia aplikacji internetowych i narzędzi platformy .NET.

Narzędzia platformy Azure

Integracja selektora kont

Selektor konta jest używany w oknach dialogowych tworzenia i wybierania aplikacji internetowej w celu umożliwienia dostępu jednym kliknięciem do wielu kont. Możesz zalogować się raz do wielu kont i mieć szybki i łatwy dostęp do wybierania poszczególnych kont podczas publikowania zasobów.

Aplikacje interfejsu API

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

Narzędzia zadań WebJob

Teraz możesz kontrolować zadania internetowe w węźle WebJob Eksploratora serwera w witrynie internetowej platformy Azure w następujący sposób:

  • Węzły zadań WebJobs pod węzłami witryny sieci Web w Eksploratorze serwera.
  • Uruchamianie/zatrzymywanie ciągłych zadań WebJob z Poziomu Eksploratora serwera.
  • Uruchom zadania na żądanie lub zaplanowane z Poziomu Eksploratora serwera.
  • Wyświetl pulpit nawigacyjny zadania WebJob z Poziomu Eksploratora serwera.
  • Menu kontekstowe Wyświetl pulpit nawigacyjny; użyj go, aby przejść do pulpitu nawigacyjnego zadania WebJob platformy Azure.

Zestaw SDK usługi WebJobs

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

NuGet

NuGet 2.8.3

Dodaliśmy obsługę projektów DevExtreme i BizTalkProject 2.8.3. Aby uzyskać szczegółowe informacje, zobacz Informacje o wersji NuGet 2.8.3.

Menedżer pakietów NuGet

Zaktualizowaliśmy interfejs użytkownika narzędzia NuGet Package Manger, aby ułatwić zarządzanie pakietami w całym rozwiązaniu w programie Visual Studio 2015. Za pomocą pojedynczego widoku pakietów zainstalowanych w projektach można filtrować listę dostępnych pakietów z galerii NuGet, zainstalowanych pakietów i pakietów, które mają dostępne aktualizacje.

Galeria NuGet

Poprawiliśmy wydajność galerii NuGet za pomocą nowej usługi internetowej i zintegrowanego klienta. Więcej szczegółów na temat aktualizacji NuGet można znaleźć na stronie http://docs.nuget.org.

Javascript

Obsługa edytora JavaScript

Zaktualizowaliśmy edytor Języka JavaScript, aby był jeszcze bardziej przydatny.

  • Obsługa narzędzi dla platformy AngularJS. Teraz podczas pisania aplikacji przy użyciu platformy 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 (z wersji ES6 języka JavaScript), w tym klasy, funkcje strzałek i ciągi szablonów.
  • Obsługa udostępnionego projektu paska nawigacyjnego. Teraz możesz użyć paska nawigacyjnego w projekcie udostępnionym dla projektów aplikacji uniwersalnych systemu Windows.
  • Nowy pasek nawigacyjny. Nowy pasek nawigacyjny ułatwia nawigowanie między głównymi elementami w kodzie źródłowym Języka JavaScript.
  • Komentarze JSDoc. Komentarze dokumentacji napisane w formacie JSDoc są teraz wyświetlane podczas korzystania z funkcji IntelliSense. (Aby uzyskać więcej informacji na temat komentarzy JSDoc, zobacz https://jsdoc.app/.)
  • IntelliSense literału obiektu. 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 wielowierszowe, tablice wielowierszowe i wszystkie bloki wielowierszowe.
  • Obsługa listy zadań. Możesz użyć funkcji Lista zadań, aby przejrzeć komentarze zadań, takie jak // TODO, w kodzie JavaScript.

TypeScript

Program Visual Studio 2015 zawiera wersję 1.5 narzędzi TypeScript. W tej wersji dodano bogatą obsługę języka ECMAScript 6, w tym modułów, destrukcji for.. of, spread, symbole, obliczone właściwości, let/const dla ES3/ES5 i oznakowane szablony ciągów dla ES3/ES5. Oprócz obsługi wersji 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 programie Visual Studio 2015 dodaliśmy narzędzie IntelliTest, które eksploruje kod platformy .NET w celu generowania danych testowych i zestawu testów jednostkowych. Dla każdej instrukcji w kodzie generowane są dane wejściowe testowe, które będą wykonywać instrukcję . Analiza przypadku jest wykonywana dla każdej gałęzi warunkowej w kodzie. Przykład:

Wszystkie operacje, które mogą zgłaszać wyjątek, takie jak instrukcje if i asercji, 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 podniesiesz wiedzę o domenie, aby ulepszyć te testy jednostkowe.

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

  • Sparametryzowane testy jednostkowe. Narzędzie IntelliTest umożliwia obsługę interfejsu API, którego można użyć do kierowania generowaniem danych testowych, określania właściwości poprawności kodu testowego i kierowania eksploracji kodu w ramach testu. Ten interfejs API jest dostępny w przestrzeni nazw Microsoft.Pex.Framework i może być używany w metodach testowych (sparametryzowanych testach jednostkowych, metodach fabrycznych) generowanych przez intelliTest. W związku z tym polecenie menu kontekstowego "IntelliTest" jest teraz dostępne na podstawie wygenerowanych metod testowych.
  • Testowanie tworzenia wycinków. Polecenie "Tworzenie testów jednostkowych" jest teraz dostępne w menu kontekstowym jako polecenie, które umożliwia tworzenie i konfigurowanie projektu testowego, klasy testowej i wycinku testowego.

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

Szczegółowe informacje aplikacji

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

  • Narzędzia Szczegółowe informacje aplikacji w programie Visual Studio są teraz częścią programu Visual Studio Połączenie ed Services. (Aby dodać Szczegółowe informacje aplikacji, otwórz okno dialogowe usługi Połączenie i wybierz pozycję Aplikacja Szczegółowe informacje z listy usług).
  • Ta aktualizacja jest w pełni zgodna z projektami z Szczegółowe informacje aplikacji dodanymi w programie Visual Studio 2013 Update 3 lub Visual Studio 2013 Update 4.
  • ASP.NET 5 deweloperów, deweloperów aplikacji uniwersalnych systemu Windows 10 i deweloperów aplikacji uniwersalnych systemu Windows 8.1 mogą dodawać Szczegółowe informacje aplikacji do swoich projektów bezpośrednio z poziomu programu Visual Studio.
  • Deweloperzy aplikacji uniwersalnych systemu Windows 10 nie muszą być zalogowani do platformy Azure, aby dodać zestaw SDK usługi Application Szczegółowe informacje. Zamiast tego mogą dodawać je przy użyciu narzędzi Application Szczegółowe informacje w programie Visual Studio.
  • Ponieważ aplikacja Szczegółowe informacje używa selektora konta globalnego w programie Visual Studio, możesz użyć tego samego konta w programie Visual Studio.
  • Teraz możesz wyświetlić informacje "wprowadzenie" dla aplikacji Szczegółowe informacje bezpośrednio z folderu Dokumentacja usługi programu Project, po prostu kliknij folder Wprowadzenie.

View Getting Started information for Application Insights from a Project's Service Reference folder.

Release Management

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

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

  • Strona uruchamiania klienta zarządzania wydaniami z omówieniem 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 zdefiniować składniki i definicje wydania dla definicji kompilacji nowego systemu kompilacji zawartego w programie Team Foundation Server 2015. Podczas definiowania składnika można również określić artefakt 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.

Odgałęzienia

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

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

Git branches

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

  • Teraz można scalić z gałęzi zdalnych, a także lokalnych gałęzi.
  • Gałąź, z którą się scalasz, jest teraz stała dla gałęzi, która jest obecnie wyewidencjonowana.
  • Teraz możesz ponownie bazować z bieżącej gałęzi na dowolną gałąź lokalną lub zdalną.
  • Możesz wyewidencjonować gałąź zdalną, klikając ją dwukrotnie lub klikając ją prawym przyciskiem myszy, a następnie wybierając polecenie Wyewidencjonuj.

Zdalne zarządzanie

Teraz możesz skonfigurować zdalne narzędzia Git w programie Team Explorer. W Ustawienia repozytorium znajduje się nowa sekcja Remotes (Zdalne), w której można dodawać, edytować lub usuwać 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 rozeszły się w historii.

Detailed view of history

Na wykresie zatwierdzenia scalania są szare, a zatwierdzenia inne niż scalanie są jaśniejszym kolorem. Możesz przełączać się tam i z powrotem między prostym widokiem a widokiem szczegółowym. Jeśli wykres zostanie obcięty, możesz go zmienić.

Wprowadziliśmy kilka aktualizacji grafu Historia w wersji RC:

  • Dodaliśmy pasek narzędzi, który umożliwia kontrolowanie poziomu szczegółów widocznych na wykresie.
  • Teraz wyróżniamy wiersze historii, aby wskazać, które zatwierdzenia są osiągalne z aktualnie wybranego zatwierdzenia.
  • Teraz pokazujemy oba wiersze historii, jeśli gałąź lokalna i zdalna różnią się. Jest to szczególnie przydatne po ponownym utworzeniu gałęzi lokalnej.

Ponowne tworzenie bazy w programie Team Explorer

Teraz obsługujemy ponowne bazy danych w programie Team Explorer. Aby zainicjować rebase, kliknij menu wysuwane rebase na stronie Gałęzie lub kliknij prawym przyciskiem myszy gałąź i wybierz pozycję "Zmień bazę na..."

Repozytoria VSO

Ulepszyliśmy środowisko "wprowadzenie" podczas tworzenia repozytorium VSO i wprowadzono o wiele więcej zmian, które usprawniają tworzenie nowego repozytorium. W wersji RC wprowadziliśmy niewielką zmianę, aby ułatwić dodawanie nowego kodu do istniejącego repozytorium: jeśli połączysz się z dowolnym repozytorium przy użyciu programu Team Explorer, wybierz pozycję Plik > nowy projekt, okno dialogowe rozpocznie się teraz w katalogu głównym tego połączonego repozytorium.

Publikowanie w usłudze Visual Studio Online

Funkcja Publikuj w usłudze Visual Studio Online znacznie upraszcza proces pobierania repozytorium lokalnego do usługi Visual Studio Online. To, co zostało użyte do wykonania 12 kroków, trwa teraz 2. Na stronie Synchronizacja programu Team Explorer nowa sekcja Publikowanie w usłudze Visual Studio Online umożliwia wybranie dowolnego konta użytkownika w menedżerze kont programu Visual Studio. Konta online programu Visual Studio są automatycznie dostępne na liście; Nie ma potrzeby zapamiętowania adresów URL. Gdy wszystko będzie gotowe do udostępnienia kodu, po prostu wybierz nowy lub istniejący projekt zespołowy do hostowania repozytorium, kliknij pozycję Publikuj i wszystko gotowe.

Publish to Visual Studio Online dialog box

Logowanie jednokrotne

Ty, podobnie jak wielu innych deweloperów dzisiaj, korzystasz z wielu usług w chmurze podczas tworzenia aplikacji. Na przykład prawdopodobnie dodano zaplecze w chmurze do aplikacji w celu przechowywania danych, przechowywania kodu źródłowego w chmurze lub publikowania aplikacji w magazynie.

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

W tej wersji zmniejszamy liczbę monitów o uwierzytelnienie wymaganych do uzyskania dostępu do wielu zintegrowanych usług w chmurze w programie Visual Studio. Teraz po uwierzytelnieniu w pierwszej usłudze w chmurze w programie Visual Studio automatycznie się zalogujemy lub zmniejszymy monity o uwierzytelnienie dla innych zintegrowanych usług w chmurze.

Codelens

Dowiedz się więcej o kodzie, koncentrując się na pracy w edytorze. Znajdź odwołania do kodu, zmiany w kodzie, powiązane elementy TFS i testy jednostkowe — wszystko bez odejścia od kodu.

W tej wersji zastąpiliśmy wskaźniki codeLens "Autorzy" nowymi wskaźnikami historii "Oś czasu działania 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 spowoduje otwarcie widoku aktywności zespołu, w którym można wyszukać wzorce w zmianach w kodzie. Może to pomóc ocenić wpływ 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 wyświetlenia poprzednich wersji.

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

Wskaźniki te, wraz ze wskaźnikami dostępnymi w poprzednich wersjach, są wyświetlane na poziomie elementu kodu (metody, pola lub klasy) dla plików C# i Visual Basic. Poniżej przedstawiono przykład wskaźnika osi czasu działania zespołu dla pliku C#:

The Team Activity Timeline indicator for a C# file

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

The Authors and Changes indicator for a C# file

Jednak wskaźniki są teraz wyświetlane na poziomie pliku 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 osi czasu działania zespołu dla pliku, który nie jest plikiem kodu C# lub Visual Basic:

The Team Activity Timeline indicator for a file that is not a C# or Visual Basic code file

Architektura, projektowanie i modelowanie

Mapy kodu i wykresy zależności

Jeśli chcesz zrozumieć określone zależności w kodzie, zwizualizuj 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 czytać mniej kodu podczas poznawania projektu kodu.

W końcowej wersji RTM wprowadziliśmy menu skrótów dla elementów kodu i linki znacznie łatwiejsze do użycia, grupując polecenia w sekcjach związanych z wybieraniem, edytowaniem, zarządzaniem grupami i zmienianiem układu zawartości grupy. Zauważ również, ż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.

New groupings in code maps

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 elementów. Teraz zawsze można uzyskać przydatny diagram zależności podczas rozwijania zestawu, przestrzeni nazw lub typu na mapie kodu.

Select multiple groups and apply one layout in a Code Map

We wcześniejszych wersjach zapoznawczych i wersji zapoznawczych programu Visual Studio 2015 wprowadziliśmy zmiany, które umożliwiają:

  • Uzyskaj ulepszone diagramy od góry do dołu. W przypadku średnich i dużych rozwiązań programu Visual Studio 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 wprowadzonej w strukturyzacji rozwiązania. Natychmiast zobaczysz odwołania do projektu i zestawu, a następnie zostaną wyświetlone typy linków. Ponadto zestawy zewnętrzne rozwiązania są grupowane w bardziej kompaktowy sposób.
  • Szybsze uzyskiwanie reaktywnych map kodu. Operacje przeciągania i upuszczania generują natychmiastowy wynik, a łącza 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" umożliwia uzyskanie lepszej wydajności podczas tworzenia i edytowania diagramów. Podczas tworzenia map kodu bez kompilowania rozwiązania wszystkie przypadki narożne, takie jak niekompilowane zestawy, są teraz przetwarzane.
  • Filtrowanie węzłów i grup elementów kodu. Mapy można szybko usunąć, 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 w linkach zależności" uwzględnia filtry. Uzyskasz przydatny, przejrzysty diagram podczas rozszerzania go, aby zrozumieć współtworzenie linku zależności. Diagram jest mniej zaśmiecony i uwzględnia wybrane opcje filtrowania linków.
  • Tworzenie diagramów z poziomu widoku klas i przeglądarki obiektów. Przeciągnij i upuść pliki i zestawy do nowej lub istniejącej mapy z okien Widok klas i Przeglądarka obiektów.

Ogólnie rzecz biorąc, kompleksowa lista ulepszeń wprowadzonych w mapach kodu obejmuje:

  • Projekty testowe są stylowane inaczej i można je filtrować. Teraz możesz szybko identyfikować projekty testowe na mapie, ponieważ są one stylizowany inaczej. Ponadto można je odfiltrować, aby skoncentrować się na działającym kodzie aplikacji.
  • Elementy kodu są dodawane z ich kontekstem. Ponieważ diagramy są teraz wyświetlane z ich kontekstem (do folderu zestawu i rozwiązania, które można filtrować w razie potrzeby), podczas przeciągania i upuszczania elementów kodu z Eksplorator rozwiązań, widoku klas i przeglądarki obiektów lub podczas wybierania elementów w Eksplorator rozwiązań i wybrania pozycji Pokaż na mapie kodu.
  • Uproszczone linki zależności zewnętrznych. Łącza zależności nie reprezentują już dziedziczenia z elementu System.Object, System.ValueType, System.Enum i System.Delegate, co ułatwia wyświetlanie zależności zewnętrznych na mapie kodu.

Inne zmiany dotyczące projektowania i modelowania w tej wersji:

  • Diagramy warstw. Zaktualizuj te diagramy przy użyciu widoku klas i przeglądarki obiektów. Aby spełnić wymagania projektowe oprogramowania, użyj diagramów warstw, aby opisać żądane zależności oprogramowania. Zachowaj spójność kodu z tym projektem, wyszukując kod, który nie spełnia tych ograniczeń i weryfikowanie przyszłego kodu przy użyciu tego punktu odniesienia.
  • Diagramy UML. Nie można już tworzyć diagramów klas UML i diagramów sekwencji na podstawie kodu. Jednak nadal można tworzyć te diagramy przy użyciu nowych elementów UML.
  • Eksplorator architektury. Nie można już używać Eksploratora architektury do tworzenia diagramów. Można jednak nadal używać Eksplorator rozwiązań.

Usługa językowa XAML

Skompilowaliśmy usługę języka XAML na platformie kompilatora .NET ("Roslyn"), aby zapewnić szybkie, niezawodne i nowoczesne środowisko edycji XAML, które obejmuje funkcję IntelliSense.

Dzięki temu środowisko tworzenia XAML jest równe innym językach pierwszej klasy w programie Visual Studio. Udostępnimy również zaawansowane zestawy funkcji dotyczące refaktoryzacji między językami w znacznie szybszym tempie.

Różne

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

W agenci programu Visual Studio 2015 nie potrzebujesz oddzielnego kontrolera testów, ponieważ agenci mogą obsługiwać aranżację, komunikując się z programem TFS 2015 lub Visual Studio Online.

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

Jeśli jednak do pracy z programem TFS 2013 potrzebny jest agent testowy lub kontroler testów, 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, a także z programem TFS 2013. Jednak obsługa testowania obciążenia w programie Visual Studio 2015 nie jest częścią agentów, dlatego zalecamy zainstalowanie agentów programu Visual Studio 2013 Update 5 i skonfigurowanie kontrolera.

Usługi połączone

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

Add a Connected Service

Okno dialogowe Dodawanie usługi Połączenie zawiera wszystkich aktualnie zainstalowanych dostawców usług Połączenie i zapewnia sposób uzyskiwania dodatkowych informacji o dostawcy, używanych przez niego technologii i obsługiwanych w bieżącym projekcie. Inni dostawcy są odnajdywalni w galerii Rozszerzenia i Aktualizacje przy użyciu linku Znajdź więcej usług... Okno dialogowe Dodawanie usługi Połączenie jest również rozszerzalne. Jeśli jesteś deweloperem usług, możesz użyć naszego zestawu SDK usług Połączenie do utworzenia dostawcy, który może zwiększyć możliwości odnajdywania i zwiększyć użycie usług.

Logowanie jednokrotne przedsiębiorstwa

Typowym zadaniem aplikacji biznesowej jest skonfigurowanie aplikacji na potrzeby logowania jednokrotnego przedsiębiorstwa przy użyciu usługi Azure Active Directory. Teraz możesz to łatwo zrobić w dowolnym momencie podczas budowy aplikacji, klikając prawym przyciskiem myszy aplikację i wybierając polecenie Konfiguruj uwierzytelnianie usługi Azure AD.... Spowoduje to wyświetlenie kreatora podobnego do środowiska Dodaj usługę Połączenie, 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 usłudze Active Directory i skonfigurowanie aplikacji w celu wyświetlenia monitu o zalogowanie.

Specify an Active Directory Domain in the wizard

IIS 10 Express for Visual Studio 2015 RC

Wersja RC zawierała nową wersję usług IIS 10 Express; jego nowa funkcja obejmuje obsługę protokołu HTTP 2.0, a także synchronizację bitów z systemem 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 dla ostatniej wersji programu Visual Studio 2015. Poniżej przedstawiono niektóre nowe funkcje i aktualizacje, które pomogą ulepszyć środowisko programistyczne platformy Azure:

  • Ulepszenia logowania dla programu Visual Studio 2015: Zestaw Azure SDK 2.7 dla programu Visual Studio 2015 obejmuje teraz obsługę kont uzyskiwania dostępu do platformy Azure za pośrednictwem kontroli dostępu opartej na rolach, Dostawca rozwiązań w chmurze, dreamSpark i 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 udostępnia wysoce wydajne, skalowalne narzędzie do wyszukiwania i wyświetlania zasobów platformy Azure, inspekcji ich właściwości oraz wykonywania kluczowych akcji deweloperskich i diagnostycznych z poziomu programu Visual Studio.
  • Zdalne debugowanie maszyn wirtualnych w programie Visual Studio 2015: Zdalne debugowanie procesów uruchomionych na maszynach wirtualnych utworzonych przy użyciu stosu usługi Azure Resource Manager.
  • Narzędzia usługi Azure Resource Manager: zaktualizowaliśmy narzędzia usługi Azure Resource Manager, aby ułatwić pracę z nowymi zadaniami kompilacji usługi Visual Studio Online. Ponadto dodaliśmy ulepszenia pracy z kontrolą dostępu opartą na rolach (RBAC) i nowymi typami subskrypcji.
  • aplikacja systemu Azure Narzędzia usługi: narzędzia App Service Tools są teraz również dostępne w programie Visual Studio 2015. Ta aktualizacja zapewnia obsługę profilowania zdalnego dla usługi Web Apps, ulepszenia generowania struktury Swagger dla usługi API Apps oraz obsługę logowania wielu kont. Narzędzia usługi App Service używają teraz interfejsów API usługi Azure Resource Management dla wszystkich funkcji i umożliwiają obsługę dreamSpark i dostawców usług w chmurze. Dodaliśmy również obsługę wersji zapoznawczej usługi Azure API Apps dla deweloperów programu Visual Studio 2015 w tej aktualizacji.
  • Narzędzia HDInsight Tools: w tej wersji dodaliśmy widoki grafów wykonywania dla zadań hive uruchomionych w usłudze Tez, rozszerzyliśmy obsługę funkcji IntelliSense hive DML, dodaliśmy pakiet NuGet dla SCP.Net, uaktualniliśmy nasze szablony Storm i dodaliśmy nowe szablony dla języka Pig.
  • Narzędzia usługi Azure Data Factory: teraz dostępne w zestawie Azure SDK to narzędzia usługi Azure Data Factory. Naszym celem jest uproszczenie środowiska tworzenia usługi Azure Data Factory i usunięcie wyzwań związanych z dołączaniem i wdrażaniem. Nasze dostosowane środowiska i zaawansowane narzędzia w narzędziach Usługi Azure Data Factory zwiększają produktywność i wydajność zarówno dla nowych, jak i zaawansowanych użytkowników. W tej wersji klienci mogą interaktywnie tworzyć i wdrażać potoki danych przy użyciu interfejsu programu Visual Studio. Aby uzyskać więcej informacji na temat tych narzędzi, zobacz wpis w blogu usługi Azure Data Factory.

Windows 10 SDK

Te narzędzia udostępniają aktualizacje programu Visual Studio 2015, aby zapewnić wszystkie elementy potrzebne do kompilowania, debugowania i przesyłania aplikacji dla dowolnego urządzenia z systemem Windows z uruchomionym platforma uniwersalna systemu Windows. Najważniejsze z nich to:

  • Utwórz aplikację uniwersalną systemu Windows w wybranym języku — C#, VB, C++ lub JS — i wdróż na urządzeniu z systemem Windows 10.
  • Nowe narzędzia debugowania i diagnostyki, w tym narzędzia debugowania interfejsu użytkownika dla aplikacji XAML i profilera sieciowego.
  • Tworzenie pakietów aplikacji do przesyłania do ujednoliconego sklepu.
  • Emulator systemu Windows 10 Mobile korzysta teraz ze sprzętu graficznego (GPU) komputera, aby ekran był renderowany szybciej. Zapewnia szybsze i bardziej dynamiczne środowisko debugowania przy użyciu rozwiązania Microsoft RemoteFx.
  • Teraz możesz użyć funkcji symulacji NFC w emulatorze systemu Windows 10 Mobile do kompilowania i testowania aplikacji uniwersalnych obsługujących komunikację NFC/zbliżenie.
  • Zaawansowana obsługa projektanta XAML na potrzeby tworzenia środowisk użytkownika dostosowanych do urządzenia.
  • Kompilacja aplikacji .NET Native dla platformy .NET w chmurze.

Aby uzyskać więcej informacji na temat narzędzi deweloperskich systemu Windows 10, zobacz Uaktualnianie świata i aplikacji.

Python Tools for Visual Studio 2.2

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

  • CPython, PyPy, IronPython i inne
  • Szczegółowa funkcja IntelliSense
  • Debugowanie interaktywne
  • Integracja z funkcjami programu Visual Studio
  • Bezpłatne i open source

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

Visual Studio Tools for Unity 2.0

Przekształcanie programu Visual Studio w zaawansowane środowisko programistyczne aparatu Unity.

  • Tworzenie gier wieloplatformowych
  • Debugowanie z poziomu programu Visual Studio
  • Tworzenie skryptów aparatu Unity w programie Visual Studio
  • Korzystaj z ulepszonej produktywności w programie Visual Studio

Aby uzyskać więcej informacji na temat narzędzi Visual Studio Tools for Unity, zobacz Programowanie gier za pomocą programu Visual Studio.

Node.js Tools for Visual Studio 1.1 (RC)

Zaktualizowano październik 2021 r.:

Sejf zaktualizowanie narzędzi Node.js Visual Studio Tools for Apache Cordova

Przekształcanie programu Visual Studio w zaawansowane środowisko programistyczne Node.js.

  • Bezpłatne rozwiązanie typu „open source”
  • Inteligentne uzupełnianie kodu
  • Zaawansowane debugowanie i profilowanie
  • Integracja z innymi funkcjami programu Visual Studio i narzędziami innych firm
  • Obsługa języków Node.js, io.js, JavaScript, TypeScript, HTML, CSS i JSON

Dowiedz się więcej o narzędziach Node.js Tools for Visual Studio.

Office Developer Tools for Visual Studio 2015

Programowanie za pomocą interfejsów API usługi Office 365

  • Narzędzia API Tools usługi Office 365 używają nowych usług Połączenie ed w programie Visual Studio 2015, aby zapewnić deweloperom środowisko z przewodnikiem w celu zintegrowania interfejsów API usługi Office 365 z projektem.
  • Teraz możesz zezwolić narzędziom API Tools usługi Office 365 na automatyczne konfigurowanie logowania jednokrotnego w aplikacjach internetowych ASP.NET MVC, po prostu wybierając pozycję "Konfiguruj logowanie jednokrotne przy użyciu usługi Azure AD" w kreatorze usług Połączenie ed.
  • Po zintegrowaniu interfejsów API usługi Office 365 z projektem narzędzia interfejsu API usługi Office 365 pobierają teraz i instalują najnowszą wersję pakietów NuGet biblioteki klienta interfejsu API usługi Office 365 z NuGet.org.

Programowanie dodatków programu SharePoint

  • Podczas tworzenia dodatków programu SharePoint narzędzia ustawiają docelową wersję programu SharePoint jako wersję debugowania witryny sieci Web programu SharePoint określonej w kreatorze tworzenia projektu. Kreator wyświetla wybraną wersję programu SharePoint i umożliwia zastąpienie tej wartości domyślnej. Wersję docelową można zmienić po utworzeniu projektu przy użyciu karty programu SharePoint w programie Project Projektant.
  • 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 to SharePoint Online. Narzędzia dodają odwołania do zestawów CSOM usługi SharePoint Online do projektu. Narzędzia nie korzystają już z zestawu SDK składnika klienta usługi SharePoint Online wydanego w Centrum pobierania Microsoft. Ułatwia to uaktualnienie zestawów CSOM w przyszłości przy użyciu Menedżer pakietów NuGet w programie Visual Studio.
  • Teraz możesz użyć parametry połączenia SAS lub ACS dla usługi Microsoft Azure Service Bus do debugowania i rozwiązywania problemów z zdalnym odbiornikiem zdarzeń w dodatku programu SharePoint.

Programowanie dodatków pakietu Office

  • W tej wersji narzędzia zawsze tworzą nowe aplikacje dla pakietu Office z manifestem w wersji 1.1 zamiast 1.0, aby aplikacje mogły obsługiwać nowe funkcje w aplikacjach internetowych pakietu Office i klientach pakietu Office 2013. W przypadku istniejących aplikacji pakietu Office korzystających z manifestu w wersji 1.0 narzędzia uaktualniją manifest do wersji 1.1, gdy jest używana każda nowa funkcja, która wymaga manifestu w wersji 1.1.

Dowiedz się więcej o narzędziach Office Developer Tools for Visual Studio.

Rozszerzenie GitHub dla programu Visual Studio 2015

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

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

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

Testowanie obciążenia oparte na chmurze

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

Konfigurowanie infrastruktury wymaganej do uruchamiania testowania obciążenia stało się łatwiejsze: teraz możesz przeprowadzić testowanie obciążeniowe oparte na 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 na potrzeby 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 agentów można zbierać dzienniki z agentów testowych i dołączyć je do wyników testu obciążeniowego w chmurze.