Поделиться через


Значок Visual StudioЗаметки о выпуске Visual Studio 2015


Условия лицензионного соглашения | в Блоге | Visual Studio Сообщество разработчиков

Примечание.

Этот выпуск — не последняя версия Visual Studio. Вы можете скачать последний выпуск на странице заметок о текущем выпуске для Visual Studio 2019.


Выпуски Visual Studio 2015

Заметки о выпуске можно просмотреть для всех версий Visual Studio 2015:

Скачивание Visual Studio 2015

Вы можете скачать Visual Studio 2015 по ссылке My.VisualStudio.com. My.VisualStudio.com требуется бесплатная подписка Dev Essentials или подписка Visual Studio.


Значок заметок о выпускеVisual Studio 2015

Выпущено 20 июля 2015 г.

Сводка о новых возможностях в этом выпуске

К другим изменениям относятся следующие.

Сведения о новых возможностях в этом выпуске

Visual C++ для разработки кросс-платформенных мобильных приложений

Теперь легко предоставлять общий доступ, повторно использовать, создавать, развертывать и отлаживать весь код, но самый конкретный код платформы на нескольких платформах приложений, все в одном решении в Visual Studio. Вот лишь несколько действий, которые вы можете сделать:

  • Создавайте проекты из шаблонов для приложений Для собственных действий Android или для общих библиотек кода, которые можно использовать на нескольких платформах и в собственных приложениях Android Xamarin.

  • Используйте IntelliSense для конкретной платформы, чтобы изучить API и создать правильный код для целевых объектов Android или Windows.

  • Настройте свою сборку для собственных платформ x86 или ARM.

  • Разверните свой код на присоединенных устройствах Android или используйте производительный эмулятор Android Майкрософт для тестирования.

  • Установите точки останова, наблюдайте за переменными, просматривайте стек и просматривайте код в отладчике Visual Studio.

  • Просмотрите журнал сообщений с устройства Android с помощью средства просмотра LogCat. (Logcat — это средство диагностики и важное значение для хорошего интерфейса редактирования и>> отладки.)
    Используйте Logcat для выполнения следующих действий:

    • Выполните поиск определенных сообщений журнала с помощью панели поиска.
    • Чтобы легко просматривать предстоящие сообщения журнала, используйте переключатель автообведения.
    • Снимите предыдущие выходные сообщения журнала.
    • Выберите между различными уровнями журналов.
  • Напишите код C++, предназначенный для платформы iOS, и воспользуйтесь нашими расширенными функциями разработки кода, такими как, но не ограничено, совместное использование кода, кроссплатформенная технология IntelliSense, рефакторинг и определение. Поддержка iOS по-прежнему работает в процессе, поэтому следите за тем, чтобы больше о ней в ближайшее время. Вы можете отправить нам отзыв с помощью Connect для ошибок. Кроме того, вы можете отправить нам свои быстрые мысли с помощью send-a-Smile в интегрированной среде разработки Visual Studio.

Мы также добавили или обновили следующие компоненты:

  • Поддержка УРОВНЯ 21 API Android (Lollipop).
  • Новый шаблон, основанный на поддержке файлов для Android, который позволяет использовать внешнюю систему сборки (включая NDK-BUILD).
  • Предварительно скомпилированные заголовки во всех шаблонах (включая динамическую общую библиотеку, статическую библиотеку и кроссплатформенные мобильные шаблоны).

Инструменты Visual Studio для Apache Cordova

Ранее известное как гибридные приложения с несколькими устройствами для Visual Studio, Инструменты Visual Studio для Apache Cordova упрощают сборку, отладку и тестирование кроссплатформенных приложений, предназначенных для Android, iOS, Windows и Windows Phone из одного простого проекта Visual Studio.

Все функции, доступные в предыдущих ЦП, теперь доступны в rc-кандидате Visual Studio 2015, включая следующие улучшения:

  • Обновление при сохранении для Ripple — не нужно перестраивать!
  • Отладка версии приложения iOS из Visual Studio при развертывании в симуляторе iOS или подключенном устройстве на Компьютере Mac
  • Улучшена безопасность и упрощенная конфигурация для включенного удаленного агента сборки iOS
  • Улучшенный интерфейс управления подключаемым модулем, который включает поддержку добавления пользовательских подключаемых модулей в проект из Git или файловой системы.
  • Выбор параметров конфигурации для конкретной платформы из улучшенного конструктора config.xml
  • Поддержка Apache Cordova 4.0.0.

Мы слушали отзывы и расширили количество устройств, на которые можно выполнить отладку, как показано ниже.

  • Android 4.4, Android 4.3 и более ранних версий с jsHybugger
  • iOS 6, 7 и 8
  • Магазин Windows 8.1;

Затем мы расширили нашу поддержку отладки дальше. Теперь вы можете выполнить отладку приложений Apache Cordova, предназначенных для Windows Phone 8.1.

Вы можете задать точки останова, проверить переменные, использовать консоль и выполнять другие задачи отладки в эмуляторе Windows Phone 8.1 или подключенном устройстве.

Отладка с помощью Инструменты Visual Studio для Apache Cordova

Мы добавили взаимодействие ИНТЕРФЕЙСА командной строки для выпуска RC. Проекты Cordova в Visual Studio теперь синхронизируются с изменениями, внесенными в папку проекта на диске. Изменения могут выполняться в Visual Studio независимо от того, работаете ли вы с сторонними инструментами или в других операционных системах. (Структура файлов по умолчанию для проектов Cordova основана на структуре, ожидаемой средствами командной строки Apache Cordova, что упрощает работу непосредственно с Интерфейсом командной строки Apache Cordova или другими средствами, которые ожидают, что структура папок.)

Эмулятор Visual Studio для Android

Эмулятор Visual Studio для Android можно использовать в кроссплатформенных проектах в Visual Studio (Xamarin или C++) или в Инструменты Visual Studio для Apache Cordova. Эмулятор позволяет переключаться между различными эмуляторами платформы без конфликтов Hyper-V. Она поддерживает широкий спектр датчиков и имитаций, включая GPS/Location, акселерометр, поворот экрана, масштабирование, SD-карточку, камеру, много сенсорный и сетевой доступ. Он также поддерживает android версии 4.4 (KitKat, уровень API 19) и 5.0 (Lollipop, уровень API 21).

Эмулятор Visual Studio для Android поддерживает имитацию Wi-Fi и возможность выбора из нескольких различных конфигураций оборудования устройства.

Мы добавили следующие новые функции для RTM:

  • Новые платформы. Образы Jellybean (API 17) и Lollipop 5.1 (API 22) доступны.
  • Интерфейс командной строки. Переход к %programfiles(x86)%\Microsoft Emulator Manager\1.0\emulatorcmd.exe в командной строке позволит взаимодействовать с диспетчером эмуляторов (список, установка, запуск профилей и т. д.) без пользовательского интерфейса.
  • Перетаскивание zip-библиотек. Перетаскивание и удаление мигаемого ZIP-файла на эмулятор теперь автоматически распаковывается и устанавливает его.
  • Вкладка SD Card. Эта новая вкладка в окне "Дополнительные инструменты" позволяет отправлять и извлекать данные из SD-карты и из нее.
  • Приобретите самостоятельно. Эмулятор можно установить на компьютере, не требуя установки Visual Studio. Ярлык диспетчера эмуляторов отображается в меню , чтобы запустить его и использовать его из любой цепочки инструментов разработки.

Дополнительные сведения см. в эмуляторе Visual Studio для Android.

Инструменты Visual Studio для разработки универсальных приложений Для Windows

Средства Visual Studio для разработки универсальных приложений Для Windows интегрированы с настройкой Visual Studio. Эти средства позволяют создавать приложения Windows, которые работают на всех устройствах с Windows 10 — телефон в кармане, планшете или ноутбуке в сумке, пк на рабочем столе, устройствах Интернета вещей и вскоре, консоли Xbox в вашем доме, Surface Hub и многое другое. Кроме того, эти средства также можно использовать для создания классических приложений Windows, использующих API Windows 10. Дополнительные сведения см. в статье "Новые возможности" Инструменты Visual Studio для универсальных приложений Windows.

Дополнительные сведения о разработке приложений Windows см. в руководстве по универсальным приложениям Windows и Центру разработчиков Windows. Сведения о последних сборках и пакетах SDK для Windows см. на портале предварительной оценки Windows.

Visual C++

В этом выпуске компилятор C++ и стандартная библиотека были обновлены с расширенной поддержкой C++11 и начальной поддержкой некоторых функций C++14. Кроме того, в предварительном виде реализована поддержка определенных функций, которые, как предполагается, войдут в стандарт C++17.

Кроме того, исправлены более 500 ошибок компилятора, включая множество отправленных клиентами через Microsoft Сообщество разработчиков — спасибо!

языка XAML

Мы добавили следующие новые функции, чтобы приблизить компилятор к стандарту C++:

  • Возобновляемые функции (резюме или ожидание) Ключевые слова резюме и ожидания обеспечивают поддержку асинхронного программирования на уровне языка и обеспечивают возобновление функций. В настоящее время эта возможность доступна только для устройств x64. Предлагаемое для C++17 [N3858]
  • Универсальные (полиморфные) лямбда-типы лямбда-параметров лямбда-функции теперь можно указать с помощью автозапуска. Компилятор интерпретирует авто в этом контексте, чтобы означать, что оператор вызова функции закрытия является шаблоном функции-члена и что каждое использование авто в лямбда-выражении соответствует отдельному параметру типа шаблона. C++14
  • Обобщенные выражения лямбда-захвата также известны как init-capture. Результат произвольного выражения теперь можно назначить переменной в предложении захвата лямбды. Это позволяет фиксировать доступные только для перемещения типы по значению, а лямбда-выражение получает возможность определять произвольные члены данных в объекте закрытия. C++14
  • Двоичные литералы теперь поддерживаются. Такие литералы имеют префикс 0B или 0b и содержат только цифры 0 и 1. C++14
  • Возвращаемый тип вычета типов. Теперь можно выводить тип возврата обычных функций, включая функции с несколькими операторами возврата и рекурсивными функциями. Такие определения функций предшествуют ключевому слову auto, как в определениях функций с конечным типом возвращаемого значения, однако конечный возвращаемый тип не указан. C++14
  • decltype(auto) Вычет типов с помощью ключевого слова auto для инициализации выражений полоски ref-квалификаторов и квалификаторов cv верхнего уровня из выражения. decltype(auto) сохраняет квалификаторы ref и cv и теперь может использоваться везде, где может использоваться ключевое слово auto, кроме ввода функции с выведенным или завершающим типом возвращаемых данных. C++14
  • Неявное создание конструкторов перемещения специальных функций-членов и операторы назначения перемещения теперь неявно создаются при условии, что компилятор будет полностью соответствовать ссылкам rvalue C++11. C++11
  • Наследуя производный класс Конструкторов A теперь может указать, что он наследует конструкторы базового класса Base, включая инструкцию с помощью Base::Base; в его определении. Производный класс может наследовать только все конструкторы своего базового класса, невозможно наследовать лишь некоторые базовые конструкторы. Производный класс не может наследовать от нескольких базовых классов, если они имеют конструкторы с идентичной подписью. Кроме того, производный класс не может определять конструктор, подпись которого идентична подписи любого из унаследованных им конструкторов. C++11
  • Запрос выравнивания и управление выравниванием выравнивания переменной можно запрашивать с помощью оператора alignof() и управления с помощью описателя alignas(). alignof() возвращает границу байтов для экземпляров типа, который должен быть выделен; для ссылок возвращается выравнивание ссылочного типа, а для массивов возвращается выравнивание типа элемента. alignas() управляет выравниванием переменной; он принимает константу или тип, где тип является сокращенным для выравнивания (alignof(type)). C++11
  • Расширенный размер класса или переменной элемента структуры теперь можно определить без экземпляра класса или структуры с помощью sizeof(). C++11
  • Частичное поддержка constexpr для C++11 constexpr. C++11 (частично)
  • Определяемые пользователем литералы (определяемые пользователем) суффиксы теперь можно добавлять к числовым и строковым литералам, чтобы дать им определенную семантику. Компилятор интерпретирует литералы с суффиксом как вызовы, адресованные соответствующему оператору UDL. C++11
  • Статические статические переменные с безопасностью потоков теперь инициализированы в потокобезопасном режиме, устраняя необходимость ручной синхронизации. Только инициализация является потокобезопасной, при использовании статических локальных переменных в нескольких потоках необходимо по-прежнему выполнять синхронизацию вручную. Функцию потокобезопасной статики можно отключить с помощью флага /Zc:threadSafeInit-. Это позволит избежать создания зависимости от CRT. C++11
  • Хранилище Thread-Local Storage использует ключевое слово thread_local, чтобы объявить, что для каждого потока следует создать независимый объект. C++11
  • Теперь оператор noexcept можно использовать для проверки того, может ли выражение вызывать исключение. Описатель noexcept теперь можно использовать, чтобы указать, что функция не создает исключений. C++11
  • Встроенные пространства имен A теперь можно указать как встроенное, чтобы поместить его содержимое в заключающее пространство имен. Встроенные пространства имен можно использовать для создания библиотек с контролем версий, которые по умолчанию предоставляют свою самую актуальную версию. Предыдущие версии API остаются при этом доступными явным образом. C++11
  • Неограниченный тип профсоюза A теперь может содержать типы с нетривиальными конструкторами. Необходимо определить конструкторы для таких объединений. C++11
  • Новые типы символов и литералы Юникода символов и строковые литералы в UTF-8, UTF-16 и UTF-32 теперь поддерживаются и новые типы символов char16_t и char32_t. Символьным литералам может предшествовать u8 (UTF-8), u (UTF-16) или U (UTF-32), как в U'a', а строковым литералам, помимо этого, могут предшествовать неформатированные строковые эквиваленты u8R (неформатированная строка UTF-8), uR (неформатированная строка UTF-16) или UR (неформатированная строка UTF-32). Универсальные имена символов можно свободно использовать в литералах Юникода, как в u'\u00EF, u8"\u00EF — i", и вы"\U000000ef — это I". C++11
  • func Предопределенный идентификатор func неявно определяется как строка, содержащая неквалифицированное и незавершенное имя заключающей функции. C++11
  • __restrict __restrict теперь можно применить к ссылкам.
  • Ключевое слово typename. Теперь пользователи могут записывать имя типа вместо класса в параметре шаблона шаблона. C++14
  • Оператор globals void delete(void *, std::size_t) noexcept и void operator delete[](void *, std::size_t) теперь не может быть перегружен. C++14
  • Разделители цифр теперь можно перемежать числовые литералы с одними кавычками, чтобы сделать их более удобочитаемыми. Например, int x = 1'000'000;. C++14
  • Универсальные имена символов в литералах теперь можно писать базовые символы , такие как "A" и символ канала строк в виде точек кода в литералах. Например, const char *s = "\u0041\u000A";. C++11
  • Инициализаторы элементов нестатических данных теперь работают правильно со списками инициализаторов. C++11
  • Атрибуты теперь можно указать функцию как [[noreturn], чтобы сообщить компилятору, что функция не возвращает (хотя она может вызвать исключение). Теперь можно указать различные конструкции как [[нерекомендуемые]. Атрибуты теперь разрешены для пространств имен и перечислителей. C++11, C++14 и C++17
  • Определяемые пользователем литералы (определяемые пользователем) числовые и строковые литералы теперь могут иметь значимые суффиксы, которые выполняют настраиваемые вычисления для литеральных данных. C++11
  • Атрибуты упорядочивания зависимостей данных теперь можно указать параметры функции, лямбда-параметры или объявления функций как [[carries_dependency]] для улучшения оптимизации параллельных структур данных, которые часто считываются, но редко изменяются. C++11
  • Новые правила автоматического использования с фигурными скобками-init-list Auto вычет для инициализаций копирования списков теперь будут выводить std::initializer_list или быть неправильно сформированными в противном случае. C++17

Функции библиотеки Visual C++

  • Определяемые пользователем литералы (определяемые пользователем) для типов <стандартной библиотеки Хроно>, <строка> и <сложные> заголовки теперь предоставляют операторы UDL для удобства. Например, 123ms означает std::chrono::milliseconds(123), "hello"s означает std::string("hello"), а 3.14i означает std::complex(0.0, 3.14).
  • Итераторы перенаправления null Теперь стандартная библиотека позволяет создавать итераторы пересылки, которые не ссылаются на экземпляр контейнера. Такие итераторы инициализируются значением и считаются равными для конкретного типа контейнера. Сравнение инициализируемого значением итератора с итератором другого типа не определено. C++14
  • quoted() Стандартная библиотека теперь поддерживает функцию quoted() для упрощения работы со значениями строк с кавычками и ввода-вывода. При использовании функции quoted() вся заключенная в кавычки строка обрабатывается как единая сущность (как строки отличных от пробела символов в потоках ввода/вывода); кроме того, в операциях ввода/вывода сохраняются escape-последовательности. C++14
  • Разнородный ассоциативный поиск стандартная библиотека теперь поддерживает разнородные функции подстановки для ассоциативных контейнеров. Такие функции позволяют выполнять подстановку по типам, отличным от типа key_type, пи условии, что этот тип сравним с типом key_type. C++14
  • Последовательности целых чисел во время компиляции Теперь стандартная библиотека поддерживает тип integer_sequence, представляющий последовательность целых значений, которые можно оценить во время компиляции, чтобы упростить работу с пакетами параметров и упростить определенные шаблоны программирования шаблонов. C++14
  • Exchange() Стандартная библиотека теперь поддерживает служебную функцию std::exchange() для назначения нового значения объекту и возвращает его старое значение. Для сложных типов exchange() избегает копирования старого значения при наличии конструктора перемещения, избегает копирования нового значения, если он является временным или перемещается, и принимает любой тип в качестве нового значения, используя любой оператор преобразования назначения. C++14
  • Двойной диапазон равно(), is_permutation(), несоответствие() Стандартная библиотека теперь поддерживает перегрузки для std::equal(), std::is_permutation() и std::mismatch(), которые принимают два диапазона. Эти перегрузки обрабатывают последовательности разных длин. C++14
  • Get<T>() Стандартная библиотека теперь поддерживает функцию шаблона get<T>(), чтобы разрешить доступ к элементам кортежа по их типу. Если кортеж содержит два или более элементов одного типа get<T>(), кортеж не может быть устранен этим типом, однако другие элементы с уникальным типом по-прежнему могут быть устранены. C++14
  • tuple_element_t Стандартная библиотека теперь поддерживает псевдоним типа tuple_element_t<I, T>, который является псевдонимом для имени типа tuple_element<I, T>::type. Это обеспечивает некоторое удобство для программистов шаблонов, аналогичных другим псевдонимам типа метафункций в <type_traits>. C++14
  • Техническая спецификация файловой системы "V3", включенная реализация технической спецификации файловой системы была обновлена до последней версии.
  • Минимальные распределители Стандартная библиотека теперь поддерживает минимальный интерфейс распределителя во всем; заметные исправления включают std::function, shared_ptr, allocate_shared() и basic_string. C++11
  • <хроно Типы хронов> high_resolution_clock и steady_clock были исправлены. C++11
  • constexpr реализован в стандартной библиотеке C++ . C++11, C++14 и C++17
  • quick_exit() Теперь можно завершить многопоточные процессы более чисто путем вызова quick_exit() и запуска кода очистки в at_quick_exit(). C++11
  • void_t поддерживает расширенную метапрограммирование шаблонов. C++17
  • Преобразования в unique_ptr<T[]> теперь разрешены, если они известны как безопасные. C++17
  • invoke() позволяет объектам функций, указателям на функции-члены и указатели на элементы данных, которые должны вызываться с универсальным синтаксисом. C++17
  • noexcept Стандартная библиотека очистила его использование noexcept для определенных функций. C++17
  • uncaught_exceptions() сообщает количество исключений в полете (которые могут превышать 1). C++17
  • reference_wrapper теперь тривиально копируется. C++17
  • map/unordered_map теперь поддерживает insert_or_assign()/try_emplace(). C++17
  • Теперь предоставляются функции size(), empty()и data() без членов. C++17
  • auto_ptr, random_shuffle()и старые <функциональные> механизмы устарели в C++11/14 и удалены в C++17. Visual Studio 2015 предоставляет их по умолчанию, но определение _HAS_AUTO_PTR_ETC до 0 проектов удаляет их определения.
  • unique_ptr назначения теперь точно ограничены. C++17
  • bool_constant теперь поддерживается как псевдоним для integral_constant<bool>. C++17

Более быстрые сборки Visual C++

  • Добавочное создание кода по времени связи (LTCG) Теперь можно сообщить LTCG перестроить только части проекта, затронутые изменением. Это может значительно уменьшить время связи приложений, использующих LTCG. Активируйте эту функцию с помощью переключателя компоновщика /LTCG:incremental.
  • Добавочная компоновка для статических библиотек изменяется на статические библиотеки, на которые ссылаются другие модули кода, теперь постепенно ссылаются.
  • /Debug:FastLink значительно уменьшает время соединения с помощью новых методов создания PDB.
  • В целях сокращения продолжительности компоновки в алгоритм компоновщика также были внесены определенные усовершенствования.
  • Реализованные усовершенствования позволят быстрее создавать массивный код шаблона.
  • Инструментирование быстрого профиля (PGO) Новое, упрощенное режим инструментирования для игр и систем в режиме реального времени было введено в PGO. Используя эти и другие новые функции, которые стали доступны через параметры компоновщика /GENPROFILE и /FASTGETPROFILE, можно найти баланс между качеством кода и скоростью построения при использовании профильной оптимизации.
  • Усовершенствования стандартной библиотеки компилятора и стандартной библиотеки C++ приводят к значительно меньшему размеру файлов объектов и статическим библиотекам. Эти усовершенствования не повлияли на размер динамически подключаемых библиотек (DLL) и исполняемых файлов (EXE), потому что избыточный код изначально удалялся компоновщиком.

Производительность и качество кода Visual C++

  • Улучшения автоматической векторизации. Мы улучшили векторизацию потока управления (if-then-else), векторизацию при компиляции в разделе /O1 (Свертывание размера) и улучшили качество векторного кода в целом, включая поддержку параллельного STL, векторизацию большего диапазона для циклов и поддержку циклов #pragma(ivdep).
  • Улучшения скалярной оптимизации. Мы добавили лучшее создание кода операций bit-test, слияние потока управления и оптимизацию (переключение циклов при переключении) и другие скалярные оптимизации (например, лучшее создание кода для std::min и std::max).
  • Руководство по оптимизации профиля (PGO). Мы сделали ряд улучшений для PGO, включая улучшенные ссылочные наборы, улучшенные возможности макета данных, а также возможность повторного использования ранее сделанных встраивание, скорость и размеры и решения макета.
  • Control Flow Guard (CFG). Мы добавили новую функцию безопасности; Просто добавьте новый параметр в проект, и компилятор Visual C++ теперь добавит дополнительные проверки безопасности в двоичные файлы, чтобы помочь обнаружить попытки перехвата кода. При срабатывании проверки он остановит выполнение кода, прежде чем угонщик может нанести ущерб вашим данным или КОМПЬЮТЕРу.

Примечание.

Мы обновили параметры команды. Вместо использования переключателя /d2guard4, как и в предыдущих выпусках, теперь следует использовать /guard:cf.

Производительность, отладка и диагностика Visual C++

Добавлена поддержка рефакторинга для C++, которая обеспечивается следующими возможностями.

  • Переименование символов изменяет все вхождения символа в новое имя.
  • Извлечение функции Перемещает выбранный код в собственную функцию. Эта рефакторинг доступна в виде расширения в Visual Studio в коллекции Visual Studio.
  • Реализуйте определения функций Pure Virtuals Generates для чистых виртуальных функций, унаследованных классом или структурой. Поддерживается множественное и рекурсивное наследование. Активируйте эту оптимизацию кода из определения наследующего класса, чтобы реализовать все унаследованные чистые виртуальные функции, или из описателя базового класса, чтобы реализовать чистые виртуальные функции только из того базового класса.
  • Создание объявления или определения создает объявление из существующего определения или определения по умолчанию из существующего объявления. Доступ к этому рефакторингу из существующего объявления или определения или из индикатора лампочки.
  • Перемещение определения функции перемещает текст функции между исходным кодом и файлами заголовков. Активируйте эту оптимизацию кода из подписи функции.
  • Преобразование в необработанный строковый литерал преобразует строку, содержащую escape-последовательности, в необработанный строковый литерал. Поддерживаемые escape-последовательности : \n (новая строка), \t (tab), ' (одна кавычка), " (двойная кавычка) и ? (вопросительный знак). Активируйте эту функцию, щелкнув правой кнопкой мыши в любом месте внутри строки.

Усовершенствования базы данных программы (PDB) в Visual C++ включают следующие:

  • Скорость сканирования решения повысилась, особенно для крупных решений.
  • Такие операции, как «Перейти к определению», больше не блокируются во время сканирования решения. Исключение составляет первоначальное сканирование решения, когда новое решение открывается впервые.

Улучшения удобочитаемости IntelliSense: сложные экземпляры шаблонов и типдефы упрощаются в справке и быстром использовании параметров, чтобы упростить чтение.

Визуализации отладчика в C++

Добавьте визуализации отладчика Natvis в проект Visual Studio для простого управления и интеграции системы управления версиями. Добавляемые в проект файлы Natvis при оценке превалируют над средствами визуализации Natvis вне проекта. Дополнительные сведения см. в разделе "Создание пользовательских представлений собственных объектов" в отладчике.

А так как RC-код можно использовать Natvis-файлы при отладке C++ на Android. Отладчик включает визуализации для многих распространенных шаблонов и поддерживает загрузку пользовательских файлов, добавляемых в проект C++.

Диагностика собственной памяти

  • Сеансы диагностики памяти (ALT+F2) позволяют отслеживать использование динамической памяти собственного приложения.
  • Моментальные снимки памяти фиксируют моментальный образ содержимого кучи приложения. Различия в состоянии кучи можно выявить, сравнив два снимка памяти. После остановки приложения можно просмотреть типы объектов, значения экземпляров и стеки запросов на выделение ресурсов по каждому экземпляру.

Улучшено обнаружение взаимоблокировок и восстановление при вызове функций C++ из окон "Контроль и интерпретация".

Улучшенная диагностика компилятора. Компилятор предоставляет расширенные предупреждения о подозрительном коде. Добавлены новые предупреждения (например, затененные переменные и строки с несоответствующим форматом printf). Существующие предупреждения стали более понятными.

Флаг /Wv — предупреждения, представленные после определенной версии компилятора XX.YY. ZZZZ можно отключить с помощью /Wv:XX.YY. Флаг ZZZZ. Другие предупреждения можно специально отключить в дополнение к отключенным с помощью флага /Wv.

Улучшена поддержка оптимизированного для отладки кода. Отладка кода с включенными флагами /Zi, /Zo или /Z7.

Диагностика графики Visual C++

В области диагностики графики усовершенствованы следующие возможности.

  • Последовательный захват записи до 30 последовательных кадров с одним захватом.
  • Программный захват инициирует захват кадра программным способом. Программный захват особенно полезен для отладки вычислительных шейдеров в программах, которые никогда не вызывают метод Present, или в случаях, когда проблему с отрисовкой сложно зафиксировать вручную, однако можно спрогнозировать программными методами по состоянию приложения во время выполнения.
  • Добавлено новое представление "Вызовы рисования" с расширенным списком событий графики, которое отображает захваченные события и их состояние в иерархии, упорядоченной по вызовам рисования. Можно развернуть вызов Draw, чтобы увидеть состояние устройства на момент вызова. Далее можно развернуть каждый тип состояния, чтобы увидеть события, которые задали эти значения.
  • Поддержка диагностики графики Windows Phone 8.1 теперь полностью поддерживает отладку приложений Windows в эмуляторе Phone или на связанном телефоне.
  • Анализ графических кадров Этот инструмент собирает измерения производительности для захваченных кадров. Кроме того, он выполняет набор предварительно определенных экспериментов, которые предоставляют аналитические сведения о том, как производительность будет влиять на работу при применении различных методов текстур. Анализ кадров также собирает показания счетчиков производительности с оборудования.
  • Выделенный пользовательский интерфейс для анализа графики. Новое окно анализатора графики Visual Studio — это выделенная рабочая область для анализа графических кадров.
  • Изменение и применение шейдера влияние изменений кода шейдера в захваченном журнале без повторного запуска приложения.
  • Настройка параметров записи в средстве>> диагностики графики с параметрами графики.
  • Средство командной строки для записи и воспроизведения кадров обратно.
  • Поддержка диагностики графики для DirectX 12. Средство диагностики графики Visual Studio теперь поддерживает отладку проблем отрисовки в приложениях DirectX 12.

Новое средство использования GPU

Средство учета использования ГП в Visual Studio 2015 можно использовать, чтобы проанализировать использование ГП в приложениях DirectX. Во время выполнения приложений в режиме реального времени доступны схемы времени кадров, частоты кадров и использования ЦП. Кроме того, собирая и анализируя подробные данные об использовании GPU, это средство предоставляет аналитические сведения о времени выполнения ЦП и GPU отдельных событий DirectX, поэтому может быть полезно определить, является ли ЦП или GPU узким местом производительности.

Включение отладки управляемого тестового проекта Visual C++

Новые возможности в этом выпуске. Чтобы включить отладку управляемого тестового проекта Visual C++, перейдите в раздел "Сервис | Параметры | Отладка | Панель "Общие" и установите флажок "Отключить оптимизацию JIT для загрузки модуля (только управляемая версия)".

C# и Visual Basic

языка XAML

В этом выпуске несколько новых функций языка C# и Visual Basic помогают сократить стандартный и загроможденный в повседневном коде, поощрять более декларативный стиль программирования и еще ближе к двум языкам. Например, существуют синтактические улучшения для объявлений типов и элементов и проверки null. Кроме того, локальные переменные могут быть объявлены внутри выражений, и ожидание можно использовать в блоках catch и, наконец, . Многие из этих функций реализованы только для одного из двух языков в предыдущих выпусках, но будут доступны для обоих языков в окончательном выпуске.

  • Nameof предоставляет безопасный рефакторинг способ получения имени, например параметра, члена или типа в виде строки.
  • С помощью условных операторов NULL можно получить встроенную проверку NULL при доступе и вызове членов и индексаторов.
  • Интерполяция строк. Интерполяция строк обеспечивает краткий способ описания шаблонов строк, вставляющих выражения в строки форматирования (C# только в предварительной версии, как VB, так и C# в RTM).
  • Методы, свойства только для получения и т. д., теперь могут иметь одно выражение как их тело, как лямбда-выражения.
  • Автоматические свойства могут иметь инициализаторы и больше не требуют установки.
  • Инициализаторы индексов: внутри инициализатора объектов теперь можно инициализировать определенный индекс нового объекта. Только для C#.
  • Фильтры исключений позволяют взглянуть на исключение и решить, следует ли перехватывать его с заданным блоком catch.
  • Использование предложений для статических классов напрямую переносит статические члены в область, поэтому можно вызывать например WriteLine() или Sqrt() без префикса с именем класса.
  • Ожидание теперь работает в перехвате и, наконец, блоки, скрывая некоторые очень сложные обходные пути.

Пользовательский интерфейс редактора кода и редактирование

Пользовательский интерфейс редактора кода и возможности редактирования для C# и Visual Basic были заменены новыми интерфейсами, созданными на платформе компилятора .NET (Roslyn). Многие из функций, которые вы любите сегодня, были улучшены или обновлены.

  • Лампочки — это новый дом для всех быстрых действий, выполняемых в редакторе Visual Studio, включая исправления распространенных проблем кода и рефакторинг кода. При наличии проблем в коде лампочка отображает предлагаемые исправления для этих проблем. Все операции рефакторинга были перемещены на лампочку. Вы можете получить доступ к лампочке в любое время, введя ctrl+ <dot>.

Лампочка показывает предложения

  • Существует две новые операции рефакторинга ядра: встроенная временная переменная и введение локальных. Ниже приведен пример новой локальной функции "Введение".

Введение локальной лампочки

И пример встроенной временной переменной:

Встроенная временная лампочка

  • Поддержка рефакторинга для Visual Basic была добавлена в первый раз, а также была перемещена на лампочку.
  • Переименование также улучшено; Теперь он выделяет все экземпляры идентификатора, который вы хотите переименовать, позволяя вводить новое имя для всех экземпляров сразу в редакторе.

Улучшения встроенного переименования

  • Вы можете получать динамический анализ кода и автоматические исправления по мере ввода, используя конкретные рекомендации по использованию кода для платформ Майкрософт и пакетов NuGet, предназначенных для вас. В предварительной версии необходимо добавить динамические анализаторы FxCop через пакет NuGet, полученный из коллекции NuGet, как и любой другой пакет. По мере извлечения любого заданного динамического правила он перемещает эквивалентное правило FxCop после сборки, поэтому вы не получаете повторяющиеся хиты. Ниже приведен пример анализа кода для пакета Azure .

Пример из пакета Анализа кода для Azure

  • Средство оценки выражений для C# и Visual Basic было перезаписано. К улучшениям относятся поддержка LINQ и лямбда-выражений в окнах Watch и Интерпретация.

F#

Функции языка и среды выполнения

F# 4.0 содержит множество новых добавлений языка и среды выполнения, которые заполняют пробелы, делают больше вещей "просто работой" и повышают производительность в ключевых областях. Многочисленные ошибки и небольшие оптимизации производительности реализованы в компиляторе и среде выполнения, а также.

  • Конструкторы в качестве функций первого класса — имена классов теперь можно использовать в качестве значений функций первого класса, представляющих конструкторы для этого класса.
  • Объединение "мутируемых" и "ref" — синтаксис "мутируемый" теперь может использоваться везде, и захваченные значения будут автоматически преобразованы в значения ссылок на основе кучи компилятором при необходимости. Добавлено новое необязательное предупреждение, если разработчик хочет получать уведомления, когда это происходит.
  • Статические параметры для предоставленных методов — отдельные методы , предоставляемые поставщиками типов, теперь могут указывать статические параметры.
  • Предоставленные типы, не допускающие значение NULL. Предоставленные типы теперь можно указать как не допускающие значения NULL через стандарт [<AllowNullLiteral(false)>].
  • Неявные кавычки аргументов метода — аргументы метода типа Expr< не> могут быть прозрачно автоматически кавычекированы, передавая как значение аргумента, так и AST выражения, создающего его.
  • Расширенная грамматика препроцессора — логические операторы ||, && и ! теперь можно использовать группирование вместе с () в директивах препроцессора #if.
  • Рациональная экспоненты в единицах измерения - единицы измерения теперь поддерживают рациональную экспоненты, которые иногда используются в физических науках, таких как электротехника
  • Упрощенное использование единиц значений мер с функциями в стиле printf . Единицы числовых значений теперь легко работают с описателями формата числовых печати, не требуя удаления единиц.
  • Поддержка высокомерных массивов .NET — массивы .NET ранга 5 или более поздней версии теперь могут использоваться кодом F#.
  • Свойства расширения в инициализаторах объектов — свойства расширения Settable теперь можно назначать в выражениях инициализатора объектов.
  • Наследование от нескольких экземпляров универсального интерфейса — классы F#-authored теперь разрешены наследовать от классов, реализующих несколько экземпляров универсального интерфейса.
  • Несколько свойств в "StructuredFormatDisplayAttribute" — %A форматирование, указанное через [<StructuredFormatDisplay>], теперь может включать несколько свойств.
  • Основное пространство имен Майкрософт необязательно. При использовании или открытии модулей и пространств имен из FSharp.Core теперь является необязательным .

Среда выполнения F#

  • Нормализация модулей Array, List и Seq — набор функций обработки коллекции теперь согласован в модулях Array, List и Seq (за исключением API-интерфейсов , не применимых к определенным типам), с выделенными, оптимизированными реализациями для каждого типа.
  • Оптимизированная структурная хэширование . Значительные оптимизации были сделаны для повышения производительности универсального хэш-сравнения для примитивных типов, что приводит к повышению производительности API, таким как "distinct" и "groupBy".
  • Оптимизированные неструктурированные операторы сравнения— модуль FSharp.Core.Operators.NonStructuralComparison теперь можно открыть, заменив стандартные операторы структурного сравнения F# более эффективными неструктуральными операторами. Это может обеспечить значительный рост производительности при обработке типов с помощью реализаций пользовательских операторов, особенно типов значений.
  • Синтаксис срезов в списках F# — списки F# теперь поддерживают синтаксис срезов для получения вложенных списков.
  • Теперь доступны расширения Async для System.Net.WebClient — расширения AsyncDownloadFile и AsyncDownloadData.
  • Улучшенные трассировки стека Асинхронного стека. Исключения, возникающие в вычислениях F# async, теперь содержат более удобные трассировки стека, что упрощает диагностику проблем.
  • API взаимодействия для option — в модуль Option были добавлены различные новые API-интерфейсы для преобразования в объекты NULL и значения System.Null.
  • Активный шаблон кавычки для значений System.Decimal — активная модель теперь встроена для сопоставления константных литеральных значений System.Decimal в кавычках.

Функции интегрированной среды разработки F#

В средствах Visual F# также есть новые возможности и возможности, а также ряд исправлений ошибок.

  • Отладка скриптов . Теперь скрипты F# можно отлаживать непосредственно в отладчике Visual Studio.
  • Метаданные сборки в шаблонах проектов . Все шаблоны проектов F# теперь содержат файл AssemblyInfo.fs, содержащий общие атрибуты метаданных уровня сборки.
  • Встроенная проверка — проекты F# теперь правильно сообщают о состоянии "актуального" состояния при сборке в Visual Studio.
  • Завершение IntelliSense в инициализаторах объектов — выражения инициализатора объектов теперь поддерживают завершение свойств набора IntelliSense с помощьюCTRL+SPACE.
  • Завершение IntelliSense для именованных параметров — вызовы метода и конструктора теперь поддерживают автоматическое завершение именованных параметров IntelliSense с помощьюCTRL+SPACE.
  • Исправления ошибок, связанные с поддержкой папок. Средства Visual F# не поддерживают папки непосредственно в проектах, но ряд ошибок системы проекта были исправлены улучшения поддержки папок, добавленных расширением Visual F# Power Tools.

Платформа .NET Framework 4.6

Последняя версия платформа .NET Framework — 4.6. Она имеет множество улучшений в технологиях разработки приложений, таких как ASP.NET, Windows Communication Foundation и Windows Presentation Foundation. Существуют также изменения в сети, библиотека базовых классов платформа .NET Framework и среда (включая новый 64-разрядный компилятор JIT, компиляцию машинного кода для приложений универсальная платформа Windows, улучшения загрузчика сборок).

Только выборка изменений включает:

  • теперь методы привязки модели ASP.NET возвращают задачи.
  • ADO.NET теперь поддерживает функцию Always Encrypted, доступную в SQL Server 2016 Community Technology Preview 2 (CTP2).
  • Windows Presentation Foundation (WPF) обеспечивает улучшенную поддержку сенсорного ввода и улучшения макета HDPI.
  • Windows Communication Foundation (WCF) теперь поддерживает протокол SSL версии TLS 1.1 и TLS 1.2, а также ПРОТОКОЛ SSL 3.0 и TLS 1.0.
  • Библиотека базовых классов платформа .NET Framework включает усовершенствования сборки мусора, асинхронного шаблона на основе задач и шифрования. Он также добавляет типы векторов с поддержкой SIMD, а также поддержку коммутаторов совместимости, которые позволяют разработчикам предоставлять универсальный механизм отказа для функций, поддерживаемых новой версией библиотек.

Дополнительные сведения и полный список новых функций, добавленных в платформа .NET Framework, см. в статье "Новые возможности" в платформа .NET Framework.

Entity Framework

Этот выпуск включает предварительную версию Entity Framework 7 и обновление Entity Framework 6, которое в основном включает исправления ошибок и вклад сообщества.

Entity Framework 7

Новая версия Entity Framework включает новые платформы и новые хранилища данных. Windows Phone, Магазин Windows, ASP.NET 5 и традиционное классическое приложение теперь может использовать Entity Framework. Эта версия платформы поддерживает реляционные базы данных, а также нереляционные хранилища данных, такие как хранилище таблиц Azure и Redis. Она включает в себя раннюю предварительную версию среды выполнения EF7, установленной в новых проектах ASP.NET 5. Дополнительные сведения о EF7 см. в статье "Что такое EF7 все о".

Entity Framework 6.x

Этот выпуск включает в себя версию Entity Framework 6.1.3 среды выполнения и инструментов. Entity Framework 6.1.3 включает исправления ошибок и вклад сообщества; Список изменений, включенных в Entity Framework 6.1.3, можно просмотреть.

Среда выполнения Entity Framework 6.1.1 включается в ряд мест в этом выпуске.

  • Среда выполнения будет установлена, если вы создадите новую модель с помощью entity Framework Tools в проекте, который еще не установлен в среде выполнения EF.
  • Среда выполнения предварительно установлена в новых проектах ASP.NET в зависимости от выбранного шаблона проекта.

Интегрированная среда разработки Visual Studio

Общие учетные записи

Новые возможности этого выпуска позволяют совместно использовать учетные записи пользователей, добавляемые в Visual Studio, с другими приложениями, например с Blend для Visual Studio или с помощью Microsoft Test Manager (и наоборот).

Общие проекты

В этом выпуске новые шаблоны доступны для создания пустых общих проектов для Visual Basic, C# и JavaScript. Теперь эти общие проекты можно ссылаться на несколько типов проектов:

  • Любые проекты VB/C# без вкуса (например, консольные приложения, библиотеки классов, приложение формы Win)
  • Магазин Windows 8.1 и Windows Phone 8.1 (VB/C#/JavaScript)
  • Windows Phone Silverlight 8.0/8.1 (VB/C#)
  • WPF и PCL

Вы можете добавить и удалить ссылки на общие проекты с помощью диспетчера ссылок на вкладке "Общие проекты". Ссылка на общий проект отображается в узле "Ссылки" в Обозреватель решений, но код и ресурсы в общем проекте рассматриваются как если бы они были файлами, связанными с основным проектом.

Редактор кода (все языки)

Поиск в файлах улучшен, позволяя добавлять последующие результаты к предыдущим результатам; накопленные результаты можно удалить.

Поддержка сенсорного ввода теперь доступна в редакторе Visual Studio для следующих жестов:

  • Прокрутка (касание и перетаскивание на поверхности редактора на обычных и расширенных полосах прокрутки)
  • Закрепление в масштабировании
  • Выберите всю строку, коснитесь поля редактора и выберите слова, дважды коснитесь их.
  • Вызов контекстного меню редактора путем нажатия клавиши и удержания

Мы знаем о одной проблеме с сенсорным касанием, в том, что жест двойного касания не всегда является надежным на более низких уровнях масштабирования. Мы хотели бы услышать отзывы о новой поддержке сенсорного ввода, и в частности любые проблемы, которые вы можете найти.

Конструктор XAML

Теперь клиенты Visual Studio смогут изменять шаблоны и стили, хранящиеся во внешних словарях ресурсов в контексте их использования. Этот интерфейс был более усовершенствован, чтобы использовать Peek, чтобы включить истинное редактирование ресурсов in-situ в конструкторе XAML.

Пользовательские макеты окон

Теперь можно сохранить пользовательские макеты окон, нажав кнопку "Сохранить макет окна" в меню "Окно" и применить пользовательский макет, нажав кнопку "Применить макет окна " в меню "Окно ". Вы также можете применить макет с помощью предварительно назначенных сочетаний клавиш. Первые девять макетов также имеют сочетания клавиш ctrl+ALT+1 до CTRL+ALT+9. Другие задачи, которые можно выполнить, включают удаление, переименование и переупорядочение макетов, нажав кнопку "Управление макетом окна" в меню "Окно".

Значки высокого разрешения

Visual Studio поддерживает значки с высоким разрешением в панелях команд, панели инструментов инструментов (стандартные), основные меню, список ошибок, строку состояния и некоторые Обозреватель решений типы проектов, когда устройство выполняется на более чем 100 % масштабирования DPI.

Улучшения пользовательского интерфейса

  • Теперь меню отображаются в стиле заголовка, а не в стиле ALL CAPS.
  • Раскрывающиеся значения конфигурации и платформы для диалогового окна страницы свойств Visual C++ были изменены, чтобы запомнить последний выбор пользователя при закрытии и повторном открытии страницы свойств.

Отзывы о Visual Studio

Мы улучшили интерфейс отправки хмурения с лучшими инструментами, чтобы сообщить о медленности, зависаниях и сбоях. Теперь вы можете вложить файлы или пометить отзыв, чтобы лучше описать проблему. Кроме того, мы обновили значки отзывов и пункты меню, чтобы улучшить обнаружение.

Расширяемость Visual Studio

  • Теперь вы можете использовать значки высокого разрешения в расширениях Visual Studio.
  • Надстройки больше не поддерживаются в этом выпуске. Мы удалили шаблоны проектов надстроек Visual Studio и диспетчер надстроек. Рекомендуется преобразовать надстройки в расширения VSPackage. Дополнительные сведения см. в разделе часто задаваемых вопросов: преобразование надстроек в расширения VSPackage.
  • Теперь можно открыть проект расширяемости, даже если у вас нет установленного пакета SDK Для Visual Studio.
  • Кроме того, вы можете установить пакет SDK Visual Studio с помощью программы установки Visual Studio; Вам больше не нужно переходить на веб-сайт. Для этого в меню "Добавить программы" щелкните правой кнопкой мыши Visual Studio 2015 и выберите пункт "Изменить". В диалоговом окне настройки Visual Studio проверьте средства расширяемости Visual Studio в разделе Common Tools.
  • Для повышения переносимости и совместного использования проектов расширений можно использовать версии NuGet эталонных сборок пакета SDK Для Visual Studio. Дополнительные сведения см. в сборках, опубликованных в Visual Studio Extensibility.

Дополнительные сведения о расширяемости Visual Studio.

Смесь

Мы изменили Blend для Visual Studio 2015, чтобы обеспечить улучшенный интерфейс разработки пользовательского интерфейса для создания красивых приложений XAML. Blend имеет простой новый внешний вид, согласованный с Visual Studio, поддержкой решения и Team Explorer, а также расширенным интерфейсом перезагрузки файлов для упрощения лучшего рабочего процесса между Blend и Visual Studio. Мы также доставили самые важные функции Blend, чтобы помочь вам быть более продуктивным:

  • Теперь вы можете эффективнее писать XAML с помощью Xaml IntelliSense, предоставляющего завершение инструкции и навигацию по источнику.
  • Вы также можете просматривать и редактировать элементы управления XAML и ресурсы в контексте, в котором они используются с определением XAML Peek.
  • Поиск и устранение проблем пользовательского интерфейса в работающем приложении теперь проще использовать средства пользовательского интерфейса для отладки XAML, которые позволяют проверять динамическое визуальное дерево и свойства любых элементов в дереве.
  • Благодаря добавленной поддержке NuGet вы можете управлять пакетами NuGet в Blend.
  • Мы также заменили функцию "Рабочая область анимации" более мощной функцией синхронизированных макетов, которую можно использовать для создания множества различных макетов окна и перемещения по ним на компьютерах.
  • Для пользователей, которые предпочли бы использовать клавиатуру вместо мыши, мы сделали панели конструктора Blend полностью доступными для клавиатуры.
  • Наконец, в рамках продолжающихся усилий Корпорации Майкрософт по созданию универсального программного обеспечения Blend теперь является полноэкранным средством чтения и высокой контрастности.

Дополнительные сведения о новых функциях, добавленных в Blend, см. в записи блога предварительной версии .

Отладка и диагностика

Управляемое изменение и продолжение подключения

По состоянию на rc можно изменить и продолжить при присоединении к приложениям .NET и при изменении среды

complus_forceenc имеет значение 1 в целевом процессе.

Конфигурация точки останова

Новое окно параметров точки останова позволяет указать условия и действия для точек останова. Окно включает улучшенную поддержку IntelliSense для условий и действий точки останова. Для восстановления удаленных точек останова можно использовать отмену (CTRL+Z).

Лямбда-выражения в Отладчике Windows

Теперь можно использовать лямбда-выражения в окнах "Контроль", "Интерпретация" и "Интерпретация" в C# и Visual Basic.

PerfTips

Функцию PerfTips можно использовать для просмотра времени выполнения кода непосредственно в редакторе при установке точек останова и шага с отладчиком.

Использование GPU

Вы можете использовать средство использования GPU для понимания использования GPU приложений DirectX. Графики использования кадров, частоты кадров и GPU доступны при запуске приложений в реальном времени. Кроме того, собирая и анализируя подробные данные об использовании GPU, это средство может предоставлять аналитические сведения о времени выполнения ЦП и GPU каждого отдельного события DirectX, поэтому можно определить, является ли ЦП или GPU узким местом производительности.

Улучшения отладчика C++

Когда отладчик C++ останавливается в точках останова, он может выполнять код для вычисления результатов, таких как отображение данных в окнах "Контроль и интерпретация". Если отладчик обнаруживает, что вызываемая функция заблокирована, она попытается устранить проблему.

Когда отладчик C++ запускает процесс, Windows теперь выделяет память с помощью обычной кучы, а не отладочной обычной кучи. Это приводит к более быстрому запуску отладки.

Средства отладки пользовательского интерфейса для XAML

Мы добавили два новых инструмента, динамическое визуальное дерево и обозреватель динамических свойств, которые проверяют визуальное дерево работающего приложения WPF, а также свойства любого элемента в дереве. Эти средства позволяют выбрать любой элемент в работающем приложении и отобразить окончательные, вычисляемые и отрисованные свойства. Кроме того, эти средства включают следующие средства.

  • Динамическое визуальное дерево. Теперь вы можете просмотреть полное визуальное дерево запущенного приложения во время сеанса отладки. Динамическое визуальное дерево доступно при нажатии клавиши F5 в Visual Studio или присоединении к работающему приложению. Динамическое визуальное дерево можно использовать для выбора элементов в работающем приложении для проверки в обозревателе динамических свойств. Отображается число потомков, и если доступны исходные сведения, вы можете мгновенно найти файл и расположение определения элемента.
  • Обозреватель динамических свойств. Используйте это новое средство для проверки свойств, заданных для любого элемента в работающем приложении, сгруппированного по заданной области. Эти свойства можно изменить во время сеанса отладки и сразу же увидеть их изменения в работающем приложении.

Выбор между тем, как свойства переопределяют друг друга и выяснить, что выигрышное поведение может оказаться трудным во время разработки. Теперь с помощью новых средств отладки пользовательского интерфейса для XAML можно выполнять эти проверки во время выполнения.

(Поддержка приложений Магазина Windows будет выпущена в будущем обновлении.)

Средства отладки пользовательского интерфейса для XAML, полноэкранный

Параметры исключений

Параметры исключений отладчика можно настроить с помощью окна средства "Параметры исключений". Новое окно не модальное и включает улучшенные возможности производительности, поиска и фильтрации.

Параметры исключений — разрыв при возникновении окна

Средство временной шкалы

Наше новое средство временной шкалы предоставляет ориентированное на сценарий представление ресурсов, используемых приложениями для проверки, диагностики и повышения производительности приложений WPF и Магазина Windows 8.1.

Средство временной шкалы, которое находится в центре производительности и диагностики, показывает, сколько времени приложение тратит на подготовку кадров пользовательского интерфейса и в сетях обслуживания и запросах на диск. Это средство делает это в контексте таких сценариев, как загрузка приложений и загрузка страниц.

Новое средство временной шкалы

Средства диагностики

Мы добавили новое окно средств диагностики, которое отображается при запуске отладки (нажмите клавишу F5). Окно средств диагностики содержит следующие функции:

  • События (с IntelliTrace)
    События (с IntelliTrace) предоставляют доступ ко всем событиям отладки, выводам и intelliTrace, собранным во время сеанса отладки. Данные представлены как временной шкалой, так и табличным представлением. Эти два представления синхронизированы и могут взаимодействовать друг с другом.
  • Использование памяти
    Средство использования памяти позволяет отслеживать использование памяти приложения во время отладки. Вы также можете принимать и сравнивать подробные моментальные снимки собственной и управляемой памяти для анализа причины утечки памяти и роста памяти.
  • Загрузка ЦП
    Средство использования ЦП позволяет отслеживать использование ЦП приложения во время отладки.
    (Это средство заменяет perfTip времени ЦП, доступное в предварительной версии Visual Studio 2015.)

В предыдущих выпусках окно средств диагностики поддерживает следующие типы проектов и конфигурации отладки:

  • Управляемые проекты WPF, WinForms и консоли
  • Собственные проекты Win32, Console и MFC
  • ASP.NET 4 с использованием только служб IIS express
  • Управляемые или собственные проекты Магазина Windows, работающие локально
    (Проекты Магазина Windows, использующие JavaScript или работающие на телефоне, не поддерживаются)

Окно средств диагностики в выпуске RC-кода имеет следующие улучшения:

  • Его можно переместить в любое расположение окна в Visual Studio и запоминать его расположение и размер между сеансами отладки
  • Отображается и отображается данные для одного процесса при присоединении к процессу с помощью отладки —> присоединение к процессу
  • При отладке ASP.NET проектов, работающих в IIS
  • При отладке ASP.NET 5 проектов отображается
  • Оно отображается при отладке приложения, работающего на удаленном классическом устройстве Windows
  • Моментальные снимки памяти можно просмотреть после остановки отладки
  • События отладчика (только события останова) доступны при отладке собственных проектов

Мы также добавили следующие новые функции для выпуска RC:

Просто мой код. При нажатии клавиши F5 для запуска отладчика будет отображаться только код, чтобы вы могли понять проблемы с производительностью и исключения без шума из платформы и другого кода. Так как эта новая функция фильтрации кода в IntelliTrace подавляет системный код и предоставляет только пользовательский код, это упрощает отладку "просто мой код".

Средство диагностики сети. Это новое средство диагностики сети поможет диагностировать проблемы, связанные с сетью при создании приложений магазина Windows, а также универсальных приложений, работающих на всех устройствах Windows 10, от Windows Phone до Xbox и Магазина Windows.

Средство диагностики сети записывает сведения о сетевых операциях HTTP приложения, включая заголовки HTTP-запросов и ответов, полезные данные запросов и ответов, файлы cookie и подробные сведения о времени и т. д. Средство диагностики сети также может помочь ответить на вопросы о распространенных сценариях, таких как:

  • Проблемы, связанные с проверкой подлинности (например, почему вы не можете получить доступ к ресурсу)
  • Проблемы, связанные с кэшем (например, почему вы не получаете последнюю версию ресурса)
  • Сколько байтов скачиваются при выполнении распространенных задач приложений
  • Где находятся узкие места при доступе и скачивании ресурса

Чтобы получить доступ к средству "Сеть", откройте окно средств диагностики в Visual Studio 2015. В меню отладки выберите "Пуск средств диагностики" без отладки. Кроме того, просто нажмите клавиши ALT+F2.

Мы внесли следующие улучшения в окно средств диагностики, которое отображается при отладке:

  • События из приложения теперь отображаются в одном треке событий IntelliTrace, а не между трассировками событий IntelliTrace и выходными событиями.
  • События из приложения теперь отображаются во время выполнения программы; теперь вам больше не нужно нажимать клавишу "Разорвать все", чтобы увидеть события.
  • Теперь можно активировать отладку журнала для точек трассировки, заданных в коде, что позволяет просматривать исходный код и стек вызовов.
  • Теперь на графе использования памяти отображаются события сборки мусора и моментальных снимков, чтобы увидеть, когда произошли управляемые сборки мусора, а также при создании моментальных снимков с помощью средства использования памяти.

ASP.NET

ASP.NET 4.6

привязка модели ASP.NET поддерживает возвращаемые задачи методы

ASP.NET методы привязки модели, возвращаемые ранее, не поддерживаются и вызывают исключение во время выполнения при настройке. Если приложения развертываются с помощью таких методов, эти методы выполняются правильно. Это изменение применяется только к приложениям, предназначенным только для .NET 4.6 или более поздней версии.

Включение платформы компилятора .NET (Roslyn) в ASP.NET приложениях

Новые возможности языка C# и VB можно использовать в любом проекте ASP.NET 4.6. Шаблоны веб-формы в VS 2015 предварительно установлены в пакете Microsoft.CodeDom.Providers.DotNetCompilerPlatform.

Добавление поддержки HTTP/2

В Windows 10 и платформа .NET Framework 4.6 мы добавили поддержку HTTP/2. Основная цель HTTP/2 — повысить производительность, задержку и сетевое использование с помощью одного подключения от браузеров к веб-сайту.

Обновленные платформы и элементы управления для поддержки Entity Framework 6

Мы обновили динамическую платформу данных, управление источниками данных сущностей и универсальные поставщики, чтобы они работали с Entity Framework 6.

Обновления проверки подлинности

Шаблоны ASP.NET версии 4.6 теперь используют ПО промежуточного слоя Open Id Connect для проверки подлинности с помощью Azure AD. Это упрощает проверку подлинности модели программирования с помощью Azure AD.

Если выбрать параметр "Отдельные учетные записи пользователей", ASP.NET шаблонов 4.6 показано, как использовать двухфакторную проверку подлинности и учетные записи социальных параметров с помощью удостоверения ASP.NET.

ASP.NET MVC 5.2.3, веб-страницы 3.2.3 и веб-API 5.2.3

Мы обновили пакеты шаблонов, чтобы использовать последние пакеты среды выполнения для MVC 5.2, веб-страниц 3.2 и веб-API 2.2. Дополнительные сведения об этих обновлениях см. в записи блога о выпуске ASP.NET MVC 5.2.3, веб-страницы 3.2.3 и веб-API 5.2.3 .

веб-API ASP.NET OData 5.3.1

Мы обновили шаблоны OData веб-API, чтобы использовать ASP.NET web OData 5.3.1. Дополнительные сведения см. в статье "Новые возможности" веб-API ASP.NET OData 5.3.

SignalR 2.1.2

Мы обновили пакеты шаблонов для использования SignalR 2.1.2. См. примечание о выпуске SignalR на сайте GitHub.

Пакет Microsoft Owin 3.0

Мы обновили пакеты шаблонов для использования пакетов NuGet Microsoft Owin 3.0. См. проект Katana.

удостоверение ASP.NET 2.2.1

ASP.NET Identity 2.2.1 содержит множество исправлений ошибок и улучшений производительности более 2.1. Дополнительные сведения см. в этой записи блога ASP.NET Identity 2.2.1 .

обновления инструментов ASP.NET

Улучшения редактора JSON

Мы улучшили редактор JSON, включая улучшения производительности, такие как асинхронная загрузка схемы JSON, кэширование дочерних схем и поддержка более эффективной функции IntelliSense. Кроме того, существуют следующие новые возможности:

  • Проверка схемы JSON. Добавьте функцию проверки схемы JSON на основе схемы, определенной в раскрывающемся списке схемы.
  • Контекстное меню отмены минификации. Вы можете щелкнуть правой кнопкой мыши редактор JSON и выбрать контекстное меню un-minify, чтобы отменить минирование всех длинных массивов в JSON-файле.
  • Контекстное меню "Перезагрузить схемы". Visual Studio кэширует схему, скачаемую из Интернета, и будет использовать кэш даже после перезапуска Visual Studio. Если вы знаете, что схема изменена, можно использовать контекстное меню Перезагрузить схемы CTRL+SHIFT+J, чтобы повторно скачать текущую используемую схему в активном документе JSON, а затем сразу же использовать ее в текущем документе.
  • IntelliSense для package.json/bower.json. Помимо подтверждения IntelliSense и проверки как для package.json, так и для bower.json файлов, Visual Studio также предоставляет live IntelliSense для пакетов Bower и npm непосредственно в редакторе JSON.
  • Повторная проверка свойств. Редактор JSON теперь предоставит проверку для любых повторяющихся свойств. Это помогает перехватывать распространенные проблемы с разработкой файлов JSON.
  • Поддержка intelliSense и проверки JSON-файлов была значительно улучшена путем полной поддержки спецификации проекта схемы JSON версии 4. Теперь гораздо проще определить необходимые свойства, а редактор позволяет легко сортировать свойства в алфавитном порядке. Форматирование минифицированного JSON-файла теперь автоматически отменяет его.
  • Мы добавили поддержку SchemaStore.org, открытый код коллекцию полезных файлов схемы JSON. Это означает, что любой JSON-файл, открытый в Visual Studio с схемой, связанной с SchemaStore.org, автоматически получает IntelliSense и проверку.
  • Поддержка авторов схем JSON дополнительно улучшена более эффективной проверкой работоспособности схемы.

Улучшения редактора HTML

Редактор HTML обновил IntelliSense для веб-стандартов и представил следующие новые возможности:

  • Улучшено форматирование шаблона клиента. Редактор HTML больше не анализирует или форматирует двойной синтаксис {{...}}. Это позволяет убедиться, что содержимое этого синтаксиса не обрабатывается HTML и поэтому недопустимо, и не пытается отформатировать содержимое, что невозможно сделать правильно с помощью средства форматирования HTML. Это отлично подходит для Синтаксиса шаблонов Angular, Handlebars, Mustache и других двухфакторных шаблонов.
  • Поддержка пользовательских элементов, полимеров и атрибутов. Редактор HTML больше не проверяет неизвестные атрибуты для пользовательских элементов, так как разные платформы имеют множество пользовательских тегов. Под неизвестными элементами больше не будут мешки.
  • Базовый компонент IntelliSense для веб-компонентов. Редактор HTML имеет IntelliSense для <ссылки rel="import" /> , который является частью стандарта веб-компонентов.
  • Подсказки элементов HTML. Подсказки предоставляются для ЭЛЕМЕНТОВ HTML в редакторе.
  • поддержка #region. Редактор HTML теперь поддерживает свертывание областей. Вы также можете использовать окружающий фрагмент, чтобы окружить текущий выбор.
  • Поддержка комментариев Todo/Hack в списке задач.
  • Значки Angular. Обе директивы Angular (например, <<ng-view>) и атрибуты (например, ng-controller) теперь отображаются в IntelliSense с логотипом Angular, чтобы упростить их идентификацию.
  • Значки начальной загрузки. IntelliSense, предоставленный в атрибутах класса HTML, теперь отображается с логотипом Bootstrap, если имя класса было определено CSS-файлом Начальной загрузки.

Улучшения редактора CSS/LESS/Sass

  • Поддержка комментариев Todo/Hack в списке задач.
  • @viewport исправление для редактора LESS. В редакторе @viewport LESS больше не отображаются предупреждения проверки.
  • Предоставьте много дополнительных фрагментов кода. Редактор CSS/LESS/Sass теперь предоставляет дополнительные фрагменты, чтобы упростить разработку.
  • Теперь расширение доступно для Visual Studio 2015 для компиляции как LESS, Scss, так и CoffeeScirpt. Его можно скачать здесь.

Редактор JSX (React.js)

Visual Studio теперь поддерживает синтаксис JSX любых файлов с расширением JSX. Получите intelliSense, форматирование и проверку в редакторе по мере ввода. Этот редактор был создан в сотрудничестве с командой Facebook, ответственной за библиотеку React.js.

Привязывание к браузеру

CSS автоматически синхронизируется. Сохранение CSS-файла или его внешнее изменение (например, с помощью компилятора LESS/SASS) приводит ко всей загрузке CSS-файла в браузере. Если файл не может выполнять автоматическую синхронизацию, ctrl+ S вызывает автоматическую перезагрузку и должен вернуть его обратно в хорошее состояние, не обновляя связанные браузеры (CTRL+ALT+ВВОД). Эта функция может быть отключена на панели инструментов.

Дополнительные сведения о ASP.NET.

ASP.NET 5

ASP.NET 5 — это простой и компонуемый стек .NET для создания современных веб-приложений для облачных и локальных серверов. Он включает следующие компоненты.

  • Новый конвейер запросов легкого веса
  • Запуск в службах IIS или локальное размещение в собственном процессе
  • Созданная на основе новой среды выполнения .NET (DNX), которая может выполняться в полной платформа .NET Framework или в .NET Core, новой облачной среде выполнения, которая поддерживает истинное параллельное управление версиями
  • Запуск кроссплатформенных систем в Windows, Mac и Linux
  • NuGet все, даже сама среда выполнения
  • Поддерживает ASP.NET MVC 6 — единую веб-платформу для веб-интерфейса и веб-API
  • Конфигурация на основе среды для простого перехода в облако
  • Внедрение зависимостей вне коробки
  • Новая система проектов Visual Studio и высокопроизводительные инструменты
  • Все открытый код на GitHub через .NET Foundation

Visual Studio 2015 включает пакеты среды выполнения ASP.NET 5 бета-версий. Эти пакеты по-прежнему находятся в предварительной версии и не рекомендуется использовать в рабочей среде. Все сведения о добавленных улучшениях и проблемах, исправленных в опубликованных заметках о выпуске на сайте GitHub.

Visual Studio 2015 поставляется с новой системой проектов и интегрированным интерфейсом инструментов для создания приложений ASP.NET 5 и работы с проектами DNX. Некоторые из новых функций инструментов включают:

  • Новая система проектов для создания кроссплатформенных проектов на основе DNX, созданных и работающих в Windows, Mac и Linux.
  • Шаблоны для создания ASP.NET 5 веб-сайтов и веб-API с помощью MVC 6, Identity 3 и Entity Framework 7.
  • Шаблоны для создания библиотек классов на основе DNX и консольных приложений
  • Создание и распространение кроссплатформенных средств командной строки с помощью NuGet.
  • Установите и управляйте различными версиями DNX с помощью диспетчера версий .NET (DNVM) из командной строки разработчика.
  • Интегрированный интерфейс для поиска, установки и восстановления пакетов NuGet.
  • Используйте КЛАВИШИ CTRL+. чтобы найти и установить пакеты NuGet для неразрешенных символов в коде C#.
  • Интегрированные средства для разработки веб-приложений на стороне клиента с помощью NPM, Grunt/Gulp и Bower, включая интеграцию управления пакетами и новый обозреватель runner задач.
  • Запустите команды уровня DNX уровня проекта непосредственно из Visual Studio с помощью раскрывающегося меню "Запустить".
  • Создайте настраиваемые профили запуска, которые запускают IIS Express, включая настройку пользовательских переменных среды.
  • Создайте пакеты NuGet из одного проекта, предназначенных для нескольких платформ, включая .NET Core.
  • Объединение IntelliSense при создании нескольких целевых платформ из одного проекта.
  • Новые функции Razor, представленные ASP.NET 5, такие как вспомогательные функции тегов, теперь освещаются как в IntelliSense, так и в выделении синтаксиса.

Новые возможности в этом выпуске

  • При открытии проекта, требующего версии DNX, недоступной Visual Studio, будет предложено установить необходимую версию DNX.
  • Теперь можно добавить ссылки на потери сборок с помощью диалогового окна "Добавить ссылку".
  • Шаблон веб-приложения ASP.NET 5 теперь поддерживает параметр "Рабочие и учебные учетные записи" для проверки подлинности.
  • Теперь узел в облаке в диалоговом окне "Новый ASP.NET проект" доступен для ASP.NET 5 проектов.
  • Используйте обозреватель серверов для удаленного редактирования файлов в приложении для ASP.NET 5 проектов, размещенных в Azure.

Дополнительные сведения см. в заметках о выпуске инструментов на сайте GitHub и блоге по веб-разработке и средствам .NET.

Инструменты Azure

Интеграция средства выбора учетных записей

Средство выбора учетных записей используется в диалоговых окнах создания и выбора веб-приложения, чтобы включить доступ к нескольким учетным записям. Вы можете войти один раз в несколько учетных записей и получить быстрый и простой доступ к отдельным учетным записям при публикации ресурсов.

Приложения API

Шаблон предварительного просмотра приложений API, поддержка публикации и видимость обозревателя серверов были перенесены в Visual Studio 2015. Теперь вы можете создавать и развертывать приложения API Azure с помощью последней версии Visual Studio. Кроме того, мы улучшили функциональность выходных данных Swagger, чтобы разработчики приложений API имели лучшую поддержку динамического создания Swagger из веб-API ASP.NET.

Инструменты веб-заданий

Теперь вы можете управлять веб-заданиями на узле веб-задания обозревателя серверов на веб-сайте Azure следующим образом:

  • Узлы веб-заданий под узлами веб-сайта в обозревателе серверов.
  • Запуск и остановка непрерывных веб-заданий из обозревателя серверов.
  • Выполнение заданий по запросу или запланированных заданий из обозревателя серверов.
  • Просмотр панели мониторинга веб-заданий из обозревателя серверов.
  • Контекстное меню панели мониторинга представления; используйте его для перехода на панель мониторинга веб-задания веб-задания Azure.

Пакет SDK для веб-заданий

Шаблоны проектов веб-заданий Azure предварительно установлены в пакете SDK для веб-заданий.

NuGet

NuGet 2.8.3

Мы добавили поддержку проекта DevTalkProject 2.8.3. Подробные сведения см. в заметках о выпуске NuGet 2.8.3.

диспетчер пакетов NuGet;

Мы обновили пользовательский интерфейс NuGet Package Manger, чтобы упростить управление пакетами во всем решении в Visual Studio 2015. В одном представлении между пакетами, установленными в проектах, можно отфильтровать список доступных пакетов из коллекции NuGet, установленных пакетов и доступных пакетов.

Коллекция NuGet

Мы улучшили производительность коллекции NuGet с новым веб-службой и интегрированным клиентом. Дополнительные сведения об обновлениях NuGet см. на странице http://docs.nuget.org.

JavaScript

Поддержка редактора JavaScript

Мы обновили редактор JavaScript, чтобы сделать его еще более полезным.

  • Поддержка инструментов AngularJS. Теперь, когда вы пишете приложения с помощью AngularJS, IntelliSense предоставляет предложения для контроллеров Angular, служб, фабрик, директив и анимаций.
  • Поддерживаются новые функции языка JavaScript (из версии JavaScript ES6), включая классы, функции со стрелками и строки шаблона.
  • Поддержка общего проекта панели навигации. Теперь можно использовать панель навигации в общем проекте для проектов универсального приложения Windows.
  • Новая панель навигации. Новая панель навигации упрощает переход между основными элементами в исходном коде JavaScript.
  • Комментарии JSDoc. При использовании IntelliSSense теперь отображаются комментарии документации, написанные в формате JSDoc. (Дополнительные сведения о комментариях JSDoc см. в разделе https://jsdoc.app/.)
  • Объектный литерал IntelliSense. Редактор JavaScript предоставляет предложения IntelliSense при передаче литерала объекта в функции, документированные с помощью JSDoc.
  • Развернуть или свернуть. Вы можете развернуть и свернуть дополнительные разделы кода JavaScript, включая многострочные строковый комментарий, многострочные массивы и все многострочные блоки.
  • Поддержка списка задач. Функцию списка задач можно использовать для просмотра комментариев задач, таких как //TODO, в коде JavaScript.

TypeScript

Visual Studio 2015 включает выпуск средств TypeScript версии 1.5. В этом выпуске добавлена расширенная поддержка ECMAScript 6, включая модули, деструкция для.. значение, распространяемое, символы, вычисляемые свойства, let/const для ES3/ES5 и помеченные шаблоны строк для ES3/ES5. В дополнение к поддержке ES6 TypeScript 1.5 также добавляет поддержку экспериментального предложения декоратора ES7, UMD и System.js выходных данных модуля, а также новый упрощенный, переносимый файл проекта с именем "tsconfig.json".

IntelliTest

В Visual Studio 2015 мы добавили IntelliTest, который изучает код .NET для создания тестовых данных и набора модульных тестов. Для каждого оператора в коде создаются входные данные теста, которые будут выполнять этот оператор. Анализ случая выполняется для каждой условной ветви в коде. Например,

Анализируются все операции, которые могут вызывать исключение, например, если операторы и утверждения. Этот анализ используется для создания данных теста для параметризованного модульного теста для каждого из методов, создающих модульные тесты с максимальным покрытием кода. Затем для усовершенствования этих модульных тестов используется известный домен.

Мы также добавили следующие функции в IntelliTest:

  • Параметризованные модульные тесты. IntelliTest обеспечивает поддержку API, который можно использовать для руководства по генерации тестовых данных, указания свойств правильности кода в тестируемом коде и непосредственного изучения кода, на который выполняется тестирование. Этот API доступен в пространстве имен Microsoft.Pex.Framework и может использоваться в методах тестирования (параметризованных модульных тестах, методах фабрики), созданных IntelliTest. Следовательно, команда контекстного меню IntelliTest теперь доступна из созданных методов тестирования.
  • Создание заглушки. Создание модульных тестов теперь доступно в контекстном меню в виде команды, которая предоставляет возможность создавать и настраивать тестовый проект, класс тестирования и заглушку теста.

Дополнительные сведения о IntelliTest (прежнее название — Smart Unit Test) см. в статье "Создание модульных тестов для кода с помощью IntelliTest".

Application Insights

Наряду с различными улучшениями производительности и исправлениями ошибок, Application Insights теперь включает следующие обновления:

  • Средства Application Insights в Visual Studio теперь являются частью подключенных служб Visual Studio. (Чтобы добавить Application Insights, откройте диалоговое окно "Подключенные службы" и выберите Application Insights из списка служб.)
  • Это обновление полностью совместимо с проектами, добавленными в Visual Studio 2013 с обновлением 3 или в обновление 4 для Visual Studio 2013.
  • ASP.NET 5 разработчиков, разработчиков универсальных приложений Windows 10 и универсальных приложений Windows 8.1 разработчики могут добавлять Application Insights в свои проекты прямо из Visual Studio.
  • Разработчикам универсальных приложений Windows 10 не нужно входить в Azure, чтобы добавить пакет SDK Application Insights; Вместо этого они могут добавить его с помощью средств Application Insights в Visual Studio.
  • Так как Application Insights использует средство выбора глобальных учетных записей в Visual Studio, вы можете использовать ту же учетную запись в Visual Studio.
  • Теперь вы можете просмотреть сведения о начале работы для Application Insights прямо в папке "Справочник по службе Проекта"; Просто щелкните папку "Начало работы".

Просмотрите сведения о начале работы для Application Insights из папки справочника по службе Project.

Управление выпуском

С помощью этой функции вы можете улучшить процесс управления выпуском приложения, развернуть приложение в определенной среде для каждого отдельного этапа и управлять этапами в процессе с утверждениями для каждого шага. Вы можете настроить конвейер выпуска от регистрации до развертывания, не устанавливая и поддерживая локальный сервер управления выпусками с помощью службы управления выпусками для Visual Studio Online.

Обновленная версия управления выпусками доступна для Visual Studio 2015. Это очень похоже на существующий Release Management для Visual Studio 2013, но обеспечивает улучшенную производительность в следующих областях:

  • Страница запуска клиента управления выпусками, которая содержит общие сведения о процессе выпуска и уведомлениях.
  • Отрисовка и интерактивность на других страницах клиента управления выпусками с помощью дополнительного кэширования.
  • Синхронизация групп безопасности Active Directory и TFS.
  • Создание новых выпусков.

Теперь вы можете определить компоненты и определения выпуска для определений сборки новой системы сборки, включенной в Team Foundation Server 2015. При определении компонента можно также указать артефакт для компонента, используя имя компонента, которое совпадает с именем (или содержит) имя опубликованного артефакта из определения сборки.

Управление версиями Git

Проще работать с ветвями и видеть, как изменения в журнале разошлись.

Ветви

Вы можете упорядочить ветви иерархически, указав префикс:

Локальные ветви и удаленные ветви (включая не созданные локально) отображаются отдельно в представлении дерева.

Ветви Git

И по состоянию на RC мы переработали страницу ветвей:

  • Теперь вы можете объединиться из удаленных ветвей, а также локальных ветвей.
  • Ветвь, с которой вы объединяются, теперь исправлена ветвь, которая в настоящее время извлечена.
  • Теперь можно перебазировать из текущей ветви на любую локальную или удаленную ветвь.
  • Вы можете извлечь удаленную ветвь, дважды щелкнув ее или щелкнув ее правой кнопкой мыши, а затем щелкнув ее.

Управление удаленными клиентами

Теперь вы можете настроить удаленные Git в Team Explorer. В разделе "Параметры репозитория" есть новый раздел "Удаленные", в котором отображаются настроенные удаленные элементы, в которых можно добавлять, изменять или удалять удаленные элементы. Например, если нужно изменить URL-адрес удаленного источника, можно нажать кнопку "Изменить" и изменить получение и (или) URL-адрес отправки.

Подробный журнал

Теперь можно увидеть, как фиксации разошлись в журнале.

Подробное представление журнала

В графе фиксации слиянием являются серыми и несоединяемые фиксации являются более ярким цветом. Вы можете переключаться между простым представлением и подробным представлением. Если граф усечен, его можно изменить.

Мы сделали несколько обновлений графа журнала в выпуске RC:

  • Мы добавили панель инструментов, которая позволяет управлять уровнем детализации, который отображается на графике.
  • Теперь мы выделите строки журнала, чтобы указать, какие фиксации доступны из выбранной фиксации.
  • Теперь мы показываем обе строки журнала, если локальная и удаленная ветвь отличаются. Это особенно полезно после перебазирования локальной ветви.

Перебаза в Team Explorer

Теперь мы поддерживаем перебазу в Team Explorer. Чтобы инициировать повторную базу, щелкните всплывающее меню перебазы на странице "Ветви" или щелкните правой кнопкой мыши ветвь и выберите "Перебазировать на..."

Репозитории VSO

Мы улучшили интерфейс "начало работы" при создании репозитория VSO, и при создании репозитория VSO есть гораздо больше изменений, поступающих для упрощения создания нового репозитория. Для RC мы внесли небольшое изменение, чтобы упростить добавление нового кода в существующий репозиторий: если вы подключаетесь к любому репозиторию с помощью Team Explorer, а затем выберите "Файл > нового проекта", диалоговое окно начнется в корне подключенного репозитория.

Публикация в Visual Studio Online

Функция публикации в Visual Studio Online значительно упрощает процесс получения локального репозитория в Visual Studio Online. То, что использовалось для выполнения 12 шагов, теперь занимает 2. На странице синхронизации Team Explorer новый раздел "Публикация в Visual Studio Online" позволяет выбрать любую из учетных записей пользователей в диспетчере учетных записей Visual Studio. Учетные записи Visual Studio online автоматически доступны в списке; Не нужно запоминать URL-адреса. Когда вы будете готовы предоставить общий доступ к коду, просто выберите новый или существующий командный проект для размещения репозитория, нажмите кнопку "Опубликовать" и все готово.

Диалоговое окно

Единый вход

Вы, как и многие другие разработчики сегодня, используете несколько облачных служб при разработке приложений. Например, вы, вероятно, добавили облачную серверную часть в приложения для хранения данных, хранения исходного кода в облаке или публикации приложения в хранилище.

В прошлом для каждой из этих служб требуется отдельный процесс входа, а каждая служба управляет состоянием пользователя, вошедшего в систему отдельно.

В этом выпуске мы сокращаем запросы проверки подлинности, необходимые для доступа ко многим интегрированным облачным службам в Visual Studio. Теперь при проверке подлинности в первой облачной службе в Visual Studio мы автоматически войдем в систему или уменьшаем запросы проверки подлинности для других интегрированных облачных служб.

CodeLens

Узнайте больше о коде, оставаясь сосредоточенным на работе в редакторе. Найдите ссылки на код, изменения в коде, связанные элементы TFS и модульные тесты— все без учета кода.

В этом выпуске мы заменили индикаторы CodeLens "Авторы" новыми индикаторами журнала "Временная шкала действий команды" и "Авторы и изменения".

  • Индикатор временной шкалы действий группы показывает последнего автора и когда было сделано последнее изменение. При выборе этого индикатора открывается представление действий группы, где можно искать шаблоны в изменениях кода. Это поможет оценить влияние изменений с течением времени.
  • Индикатор "Авторы" и "Изменения " показывает количество авторов, которые изменили файл, и количество изменений. При выборе этого индикатора открывается список всех изменений, сведения об изменениях и ссылки, чтобы получить дополнительные сведения и просмотреть предыдущие версии.

Все сведения из индикаторов доступны при размещении кода в система управления версиями Team Foundation (как в Team Foundation Server, так и в Visual Studio Online) и в репозиториях Git. При работе в Team Foundation Server или Visual Studio Online вы также можете получить сведения о рабочих элементах.

Эти индикаторы вместе с индикаторами, доступными в предыдущих версиях, отображаются на уровне кода (метода, поля или класса) для файлов C# и Visual Basic. Ниже приведен пример индикатора временной шкалы действий группы для файла C#:

Индикатор временной шкалы действий группы для файла C#

Ниже приведен пример индикатора "Авторы" и "Изменения" для файла C#:

Индикатор авторов и изменений для файла C#

Однако индикаторы теперь отображаются на уровне файлов для всех других типов файлов (например, C++, SQL, JavaScript и других типов файлов). Ниже приведен пример индикатора временной шкалы действий группы для файла, который не является файлом кода C# или Visual Basic:

Индикатор временной шкалы действий группы для файла, который не является файлом кода C# или Visual Basic

Архитектура, проектирование и моделирование

Карты кода и графы зависимостей

Если вы хотите понять определенные зависимости в коде, визуализировать их путем создания карт кода. Затем эти связи можно перемещать с помощью карты, которая отображается рядом с кодом. Карты кода также могут помочь отслеживать место в коде во время работы или отладки кода, поэтому вы будете читать меньше кода, пока вы узнаете больше о проектировании кода.

В последнем выпуске RTM мы сделали контекстные меню для элементов кода и ссылки гораздо проще использовать, группируя команды в разделы, связанные с выбором, редактированием, управлением группами и изменением макета содержимого группы. Обратите внимание, что тестовые проекты отображаются в другом стиле от других проектов и что мы обновили значки элементов на карте до более подходящих версий.

Новые группировки в картах кода

Мы также изменили способ отображения содержимого элементов кода, поэтому теперь можно выбрать несколько групп и применить стиль макета, который вы хотите использовать для всех этих элементов. Теперь вы всегда можете получить полезную схему зависимостей при развертывании сборки, пространства имен или типа на карте кода.

Выбор нескольких групп и применение одного макета в схеме кода

В предыдущих предварительных версиях и выпусках версии Visual Studio 2015 мы внесли изменения, позволяющие:

  • Получите улучшенные схемы сверху вниз. Теперь для средних и крупных решений Visual Studio можно использовать упрощенное меню «Архитектура», позволяющее получать более полезные карты кодов для решения. Сборки решения группируются по папкам решения, поэтому их можно просмотреть в контексте и использовать усилия, которые вы ввели в структурирование решения. Вы сразу увидите ссылки на проекты и сборки, а затем появятся типы ссылок. Кроме того, сборки, являющиеся внешними для решения, группируются более компактным способом.
  • Быстрое получение реактивных карт кодов. Операции перетаскивания создают немедленный результат, и связи между узлами создаются быстрее, не затрагивая последующие операции, инициированные пользователем, такие как расширение узла или запрос дополнительных узлов. В частности, параметр "Пропустить перестроение решения" позволяет повысить производительность при создании и редактировании схем. При создании карт кода без создания решения теперь обрабатываются все угловые варианты, такие как нестроеные сборки.
  • Фильтрация узлов элементов кода и групп. Можно быстро привести карту к лаконичному виду за счет отображения или скрытия элементов кода на основе их категории и группировки элементов кода по папкам решения, сборкам, пространствам имен, папкам проекта и типам.
  • Фильтрация связей для упрощения чтения схем. Сюда входят ссылки между группами, что делает работу с окном фильтра менее навязчивым, чем в предыдущих выпусках.
  • Учет фильтров при детализации связей зависимостей. Схема, развернутая для получения представления о связях зависимостей, имеет четкий вид и содержит полезные сведения. Схема менее загромождается, и она учитывает выбранные параметры фильтрации ссылок.
  • Создание схем из представления классов и обозревателя объектов. Теперь можно перетаскивать файлы и сборки в новую или существующую карту из окон представления классов и обозревателя объектов.

В целом, полный список улучшений, которые мы сделали для карт кода, включает в себя:

  • Новое оформление и возможность фильтрации в тестовых проектах. Теперь вы можете быстро определить тестовые проекты на карте, так как они стили по-разному. Кроме того, их можно отфильтровать, чтобы сосредоточиться на рабочем коде приложения.
  • Элементы кода добавляются с их контекстом. Так как диаграммы теперь отображаются с их контекстом (вплоть до папки сборки и решения, которую можно отфильтровать при необходимости), вы получаете более полезные схемы при перетаскивании элементов кода из Обозреватель решений, представления классов и браузера объектов; или при выборе элементов в Обозреватель решений и выборе "Показать на карте кода".
  • Упрощенные связи внешних зависимостей. Связи зависимостей больше не представляют наследование от System.Object, System.ValueType, System.Enum и System.Delegate, что облегчает просмотр внешних зависимостей на карте кода.

В этом выпуске представлены следующие изменения проектирования и моделирования:

  • Схемы слоев. Обновите эти схемы с помощью представления классов и браузера объектов. Чтобы обеспечить соответствие требованиям к разработке программного обеспечения, следует использовать схемы слоев для описания нужных зависимостей для программного обеспечения. Следите за соответствием кода с этой структурой, найдя код, который не соответствует этим ограничениям, и проверяя будущий код с помощью этого базового плана.
  • UML-схемы. Вы больше не можете создать UML-схемы классов и схемы последовательностей из кода. Однако эти схемы по-прежнему можно создать с помощью новых элементов UML.
  • Обозреватель архитектуры. Вы больше не можете использовать обозреватель архитектуры для создания схем. Однако вы по-прежнему можете использовать Обозреватель решений.

Языковая служба XAML

Мы перестроили языковую службу XAML на основе платформы компилятора .NET (Roslyn), чтобы обеспечить быстрое, надежное и современное редактирование XAML, включающее IntelliSense.

Это делает интерфейс разработки XAML равным другим языкам первого класса в Visual Studio. Мы также предоставляем мощные наборы функций для рефакторинга на разных языках при гораздо более быстрой скорости.

Смешанный

Агенты для Visual Studio 2015 больше не требуют контроллера тестирования

В агентах для Visual Studio 2015 не требуется отдельный контроллер тестирования, так как агенты могут обрабатывать оркестрацию, взаимодействуя с TFS 2015 или Visual Studio Online.

Во всех новых сценариях Visual Studio 2015 и TFS 2015 рекомендуется использовать агенты для Visual Studio 2015.

Однако если для работы с TFS 2013 требуется агент тестирования или контроллер тестирования, рекомендуется использовать агенты для Visual Studio 2013 с обновлением 5 и настроить контроллер тестирования.

Контроллер тестирования совместим с TFS 2015, а также TFS 2013. Однако поддержка нагрузочного тестирования в Visual Studio 2015 не является частью агентов, поэтому мы рекомендуем установить агенты для Visual Studio 2013 с обновлением 5 и настроить контроллер.

Подключенные службы

Новое диалоговое окно "Добавление подключенной службы" в Visual Studio 2015 позволяет легко подключать приложение к приложение Azure Insights, служба хранилища Azure,Azure мобильные службы, Office 365 и Salesforce. Чтобы добавить подключенную службу, щелкните правой кнопкой мыши узел "Ссылки" и выберите " Добавить подключенную службу...".

Добавление подключенной службы

Диалоговое окно "Добавление подключенной службы" содержит все установленные поставщики подключенных служб и предоставляет способ получения дополнительных сведений о поставщике, используемой технологии и поддерживаемых в текущем проекте. Другие поставщики доступны для обнаружения в коллекции расширений и обновлений с помощью ссылки "Поиск дополнительных служб". Диалоговое окно "Добавление подключенной службы" также расширяемо. Если вы являетесь разработчиком служб, вы можете использовать наш пакет SDK для подключенных служб для создания поставщика, который может улучшить обнаружение и использование служб.

Единый вход предприятия

Обычной задачей бизнес-приложения является настройка приложения для корпоративного единого входа с помощью Azure Active Directory. Теперь вы можете сделать это легко в любой момент во время создания приложения, щелкнув правой кнопкой мыши приложение и выбрав "Настроить аутентификация Azure AD...". Откроется мастер, аналогичный интерфейсу добавления подключенной службы, который поможет вам выполнить настройку приложения для работы с Active Directory. Указание домен Active Directory в мастере зарегистрирует приложение в Этом Active Directory и настроит приложение для запроса на вход.

Указание домен Active Directory в мастере

IIS 10 Express для Visual Studio 2015 RC

Выпуск RC включал новую версию IIS 10 Express; ее новая функциональность включает поддержку HTTP 2.0, а также синхронизацию битов с Windows 10.

Другие изменения: исправления ошибок и известные проблемы

Полное описание технических улучшений, исправлений и известных проблем в этом выпуске см. в статье базы знаний.

Пакет SDK Azure 2.7 для .NET

Пакет SDK для Azure 2.7 — это первый поддерживаемый пакет SDK Azure для окончательного выпуска Visual Studio 2015. Ниже приведены некоторые из новых функций и обновлений, которые помогут улучшить возможности разработки Azure:

  • Улучшения входа в Visual Studio 2015: пакет SDK 2.7 для Visual Studio 2015 теперь включает поддержку учетных записей, обращаюющихся к Azure с помощью ролей контроль доступа, поставщик облачных решений, DreamSpark и других типов учетных записей и подписок.
  • Cloud Explorer для Visual Studio 2015: пакет AZURE SDK 2.7 включает Cloud Explorer для Visual Studio 2015, который предоставляет высокопроизводительный, масштабируемый инструмент для поиска и просмотра ресурсов Azure, проверки их свойств и выполнения ключевых действий разработчика и диагностики из Visual Studio.
  • Удаленная отладка для Виртуальные машины в Visual Studio 2015: удаленные процессы отладки, выполняемые на Виртуальные машины созданных стеком Azure Resource Manager.
  • Средства Azure Resource Manager. Мы обновили средства Azure Resource Manager, чтобы упростить работу с новыми задачами сборки Visual Studio Online. Кроме того, мы добавили улучшения для работы с контроль доступа на основе ролей (RBAC) и новыми типами подписок.
  • приложение Azure сервисные инструменты: Служба приложений Инструменты теперь также доступны в Visual Studio 2015. Это обновление обеспечивает поддержку удаленного профилирования для веб-приложения, улучшения поколения Swagger для приложений API и поддержки входа в несколько учетных записей. средства Служба приложений теперь используют API управления ресурсами Azure для всех функций и обеспечивают поддержку Поставщиков облачных служб и DreamSpark. Мы также добавили поддержку предварительного выпуска приложений API Azure для разработчиков Visual Studio 2015 в этом обновлении.
  • Средства HDInsight. В этом выпуске мы добавили представления графов выполнения для заданий Hive, работающих в Tez, расширили поддержку Hive DML IntelliSense, добавили NuGet для SCP.Net, обновили шаблоны Storm и добавили новые шаблоны для Pig.
  • Фабрика данных Azure средства. Теперь в пакете SDK azure входят средства Фабрика данных Azure. Наша цель заключается в упрощении Фабрика данных Azure процесса разработки и удалении проблем с подключением и развертыванием. Наши специализированные возможности и широкие возможности в средствах Фабрика данных Azure повышают производительность и эффективность как для новых, так и для передовых пользователей. В этом выпуске клиенты могут интерактивно создавать и развертывать конвейеры данных с помощью интерфейса Visual Studio. Дополнительные сведения об этих средствах см. в записи блога Фабрика данных Azure.

Windows 10 SDK

В этом средстве обновляется Visual Studio 2015, чтобы предоставить все необходимое для сборки, отладки и отправки приложений для любого устройства Windows с универсальная платформа Windows. Основные моменты:

  • Создайте универсальное приложение Для Windows на выбранном языке — C#, VB, C++ или JS— и разверните его на устройстве с Windows 10.
  • Новые средства отладки и диагностики, включая средства отладки пользовательского интерфейса для приложений XAML и сетевого профилировщика.
  • Создайте пакеты приложений для отправки в единое хранилище.
  • Эмулятор Windows 10 Mobile теперь использует преимущества графического оборудования компьютера (GPU), чтобы ускорить отрисовку экрана. Она обеспечивает более быструю и более быструю отладку с помощью Microsoft RemoteFx.
  • Теперь вы можете использовать функцию моделирования NFC в эмуляторе Windows 10 Mobile Для создания и тестирования универсальных приложений с поддержкой NFC/близкого взаимодействия.
  • Расширенная поддержка конструктора XAML для создания пользовательских интерфейсов, адаптированных для устройства.
  • Компиляция собственных приложений .NET в облаке.

Дополнительные сведения о средствах разработчика Windows 10 см. в статье "Время обновления мира" и приложений.

Инструменты Python для Visual Studio 2.2

Полностью бесплатная поддержка Python в Visual Studio.

  • CPython, PyPy, IronPython и многое другое
  • Подробное описание IntelliSense
  • Интерактивная отладка
  • Интеграция с функциями Visual Studio
  • Бесплатный и открытый исходный код

Дополнительные сведения см. в Инструменты Python для Visual Studio.

Инструменты Visual Studio для Unity 2.0

Преобразуйте Visual Studio в мощную среду разработки Unity.

  • Создание многоплатформенных игр
  • Отладка из Visual Studio
  • Создание скриптов Unity в Visual Studio
  • Повышение производительности с помощью Visual Studio

Дополнительные сведения о Инструменты Visual Studio для Unity см. в статье "Разработка игр с помощью Visual Studio".

средства Node.js для Visual Studio 1.1 (RC)

Обновлено за октябрь 2021 г.

Безопасное обновление Node.js Инструменты Visual Studio для Apache Cordova

Преобразуйте Visual Studio в мощную среду разработки Node.js.

  • Бесплатный и с открытым исходным кодом
  • Интеллектуальное завершение кода
  • Расширенная отладка и профилирование
  • Интеграция с другими функциями Visual Studio и сторонними инструментами
  • Node.js, io.js, JavaScript, TypeScript, HTML, CSS и JSON

Дополнительные сведения о средствах Node.js для Visual Studio.

Средства разработчика Office для Visual Studio 2015

Разработка с помощью API Office 365

  • Средства API Office 365 используют новые подключенные службы в Visual Studio 2015, чтобы предоставить разработчикам возможности интеграции API Office 365 в проект.
  • Теперь вы можете разрешить средствам API Office 365 автоматически настроить единый вход в веб-приложения mVC ASP.NET MVC, просто выбрав "Настройка единого входа с помощью Azure AD" в мастере подключенных служб.
  • При интеграции API Office 365 в проект средства API Office 365 теперь скачивает и устанавливает последнюю версию пакетов NuGet клиентской библиотеки API Office 365 из NuGet.org.

Разработка надстроек SharePoint

  • При создании надстроек SharePoint средства задают целевую версию SharePoint, чтобы она была версией веб-сайта SharePoint, указанного в мастере создания проекта. Мастер отображает выбранную версию SharePoint и позволяет переопределить эту версию по умолчанию. Целевую версию можно изменить после создания проекта с помощью вкладки SharePoint в конструкторе проектов.
  • Теперь средства устанавливают пакет NuGet, содержащий клиентскую объектную модель SharePoint Online (SPO-CSOM), когда целевая версия — SharePoint Online. Средства добавляют ссылки на сборки CSOM SharePoint Online в проект. Средства больше не используют пакет SDK для клиентских компонентов SharePoint Online, выпущенный в Центре загрузки Майкрософт. Это упрощает обновление сборок CSOM в будущем с помощью диспетчер пакетов NuGet в Visual Studio.
  • Теперь служебная шина Microsoft Azure можно использовать строка подключения SAS или ACS для отладки и устранения неполадок удаленного приемника событий в надстройках SharePoint.

Разработка надстроек Office

  • В этом выпуске средства всегда создают новые приложения для Office с манифестом версии 1.1 вместо версии 1.0, чтобы ваши приложения могли поддерживать новые возможности в веб-приложениях Office и клиентах Office 2013. Для существующих приложений для Office, использующих манифест версии 1.0, средства обновляют манифест до версии 1.1 при использовании любой новой возможности, требующей манифеста версии 1.1.

Дополнительные сведения о средствах разработчика Office для Visual Studio.

Расширение GitHub для Visual Studio 2015

Самый простой способ подключиться к репозиториям GitHub в Visual Studio.

  • Простота установки
  • Подключение к GitHub в Visual Studio
  • Создание репозиториев
  • Клонирование репозиториев с одним щелчком мыши
  • Публикация локальной работы на GitHub

Дополнительные сведения о расширении GitHub для Visual Studio.

Облачное нагрузочное тестирование

Облачное нагрузочное тестирование из центров обработки данных Azure по всему миру

Настройка инфраструктуры, необходимой для запуска нагрузочного тестирования, была проще. Теперь вы можете выполнять облачное нагрузочное тестирование из любого из поддерживаемых центров обработки данных Azure по всему миру.

Облачный нагрузочный тест теперь поддерживает расширенные диагностика агента

В этом выпуске мы добавили возможность выполнения агента тестирования диагностика для облачного нагрузочного теста.

Отладка в облаке затруднена, так как компьютеры недоступны, поэтому сбор журналов или других сведений от агентов тестирования не всегда возможен. Тем не менее с помощью расширенных диагностика агента можно собирать журналы из агентов тестирования и присоединять их к результатам облачного нагрузочного теста.