Как стать автором
Обновить
0.68

Visual Studio *

Основной инструмент разработчика на платформе .NET

Сначала показывать
Порог рейтинга
Уровень сложности

Python в Visual Studio Code. Апрельский выпуск

Время на прочтение3 мин
Количество просмотров19K
Мы рады сообщить, что в апреле 2019 вышло обновление расширения Python для Visual Studio Code. Вы можете загрузить расширение Python из Marketplace или установить его прямо из галереи расширений в Visual Studio Code. Вы можете узнать больше о поддержке Python в Visual Studio Code в документации.

В этом выпуске мы внесли ряд улучшений, перечисленных в нашем журнале изменений, закрыв в сумме 84 проблемы, среди которых:

  • Variable Explorer и Data Viewer
  • Усовершенствования конфигурации отладки
  • Дополнительные улучшения в Python Language Server

Заглядывайте под кат, чтобы узнать больше!

image
Читать дальше →

Создание шаблонов с тегами в Visual Studio для эффективного поиска и группировки пользователей

Время на прочтение3 мин
Количество просмотров8.7K
Шаблоны проектов Visual Studio позволяют разработчикам более эффективно создавать несколько схожих проектов, определяя общий набор начальных файлов. Шаблоны проектов могут быть полностью кастомизированы в соответствии с потребностями команды разработчиков или группы и могут быть опубликованы в Visual Studio Marketplace для загрузки и использования другими людьми! После публикации разработчики могут установить шаблон и получить к нему доступ через диалоговое окно New Project в Visual Studio.

Недавно разработанное диалоговое окно New Project для Visual Studio 2019 было создано, чтобы помочь разработчикам быстрее добираться до своего кода. Используя опыт поиска и фильтрации, мы стремимся обеспечить лучшее обнаружение для конкретных шаблонов, чтобы вы могли быстрее начать разработку своего приложения.

image
Читать дальше →

Настраиваем удобную сборку проектов в Visual Studio

Время на прочтение43 мин
Количество просмотров88K
Эта статья является руководством по настройке сборки C++ проектов Visual Studio. Частично она сводилась из материалов разрозненных статей на эту тему, частично является результатом реверс-инжениринга стандартных конфигурационных файлов Студии. Я написал ее в основном потому что полезность документации от самой Microsoft на эту тему стремится к нулю и мне хотелось иметь под рукой удобный референс к которому в дальнейшем можно будет обращаться и отсылать других разработчиков. Visual Studio имеет удобные и широкие возможности для настройки по-настоящему удобной работы со сложными проектами и мне досадно видеть что из-за отвратительной документации эти возможности очень редко сейчас используются.

В качестве примера попробуем сделать так чтобы в Студию можно было добавлять flatbuffer schema, а Студия автоматически вызывала flatc в тех случаях когда это нужно (и не вызывала — когда изменений не было) и позволяла задавать настройки напрямую через File Properties



Укрощаем MSBuild

Обновлена поддержка Razor в Visual Studio Code. Теперь с Blazor

Время на прочтение2 мин
Количество просмотров4.3K
Совсем недавно мы анонсировали улучшенную поддержку инструментов Razor в Visual Studio Code с последним расширением C#. Этот выпуск включает в себя улучшенную диагностику Razor и поддержку для тег-хелперов и приложений Blazor.

image
Читать дальше →

Истории

Конфигурируйте Visual Studio в вашей организации с помощью .vsconfig

Время на прочтение2 мин
Количество просмотров9.7K
В Visual Studio 2017 Update 15.9 мы добавили возможность экспорта и импорта рабочей нагрузки и выбора компонентов в файл конфигурации установки Visual Studio. Разработчики могут импортировать эти файлы в новые или существующие установки. Проверка этих файлов в ваших исходных репозиториях позволяет легко ими делиться. Однако разработчикам все еще нужно импортировать их, чтобы получить необходимые функции.

В Visual Studio 2019 была добавлена автоматическая установка недостающих компонентов. Подробности под катом!
Читать дальше →

FFmpeg начало работы с Visual Studio

Время на прочтение5 мин
Количество просмотров17K
Привет! Начну с того, что я занимаюсь разработкой программы определения автомобильных номеров на дешевом слабомощном процессоре типа Intel ATOM Z8350. Мы получили достаточно хорошие результаты в определении российских номеров на статической картинке (до 97%) с неплохим быстродействием без применения нейронных сетей. Дело осталось за малым — работа с IP-камерой рис 1.

image
рис.1 Компьютер Intel ATOM Z83II и IP-камера ATIS

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

Задача: Full HD IP-камера в стандарте h.264 передает RTSP поток. Размер распакованного кадра 1920x1080 пикселей, частота 25 кадров в секунду. Нужно получать декодированные кадры в оперативную память и каждый 25 кадр сохранять на диск.

В данном примере мы будем декодировать кадры программно. Цель — научиться использовать FFmpeg и в дальнейшем сравнить результаты, получаемые с помощью аппаратного декодирования. Вы увидите, FFmpeg – это просто!
Читать дальше →

Новые фичи для авторов расширений в Visual Studio 2019 v.16.1

Время на прочтение3 мин
Количество просмотров3.3K
В начале прошлой недели мы выпустили Visual Studio 2019 v.16.1 Preview 1 (см. примечания к выпуску). Это первое превью первого обновления Visual Studio 2019. Если вы еще не настроили получение Preview-версий, то сделайте это сейчас. Preview-версия без проблем устанавливается рядом с Release-версией, так что они не мешают друг другу. Я настоятельно рекомендую всем авторам расширений установить Preview-версию.

У вас сейчас установлена 16.1 Preview? Замечательно. Вот некоторые фичи, которые могут вам понравиться. Подробности под катом!

Читать дальше →

Time Travel Debugging в Visual Studio Enterprise 2019

Время на прочтение4 мин
Количество просмотров3.4K
Превью-версия Time Travel Debugging (TTD) в Visual Studio Enterprise 2019 позволяет записывать выполнение веб-приложения, запущенного на виртуальной машине Azure, а затем точно восстанавливать и воспроизводить алгоритм. TTD интегрируется с нашим предложением Snapshot Debugger и позволяет вам перематывать и воспроизводить каждую строку кода сколько угодно раз, помогая идентифицировать и предсказывать проблемы, которые могут возникнуть только в боевых средах.


Читать дальше →

Обновление инструментов Web и Azure в Visual Studio 2019

Время на прочтение2 мин
Количество просмотров2.1K
Скорее всего вы уже видели, что состоялся релиз Visual Studio 2019. Как и следовало ожидать, мы добавили улучшения для веб-разработки и разработки с Azure. В качестве отправной точки Visual Studio 2019 предоставляет новые фичи для начала работы с вашим кодом, и также мы обновили опыт создания проектов ASP.NET и ASP.NET Core, чтобы они соответствовали следующим требованиям:

image
Читать дальше →

14 новинок в Visual Studio 2019

Время на прочтение2 мин
Количество просмотров50K
Всем привет! На связи команда по улучшению продуктивности в .NET (aka. Roslyn). Мы много внимания уделяем улучшению вашего опыта .NET-кодинга. Ведь иногда небольшие дополнения и исправления действительно могут улучшить рабочий процесс. Возможно вы уже видели некоторые улучшения в превью-версиях VS2019. Но мы все равно хотим рассказать о некоторых из них, которые должны помочь вам работать продуктивнее.

Осторожно, много гифок.

Читать дальше →

Мониторинг сообщений в RabbitMQ

Время на прочтение3 мин
Количество просмотров43K
Рассмотрим классическую схему построения конвейера сообщений в RabbitMQ состоящую из элементов Producer, Exchange, Queue и Consumer.



Задача состоит в том, что бы организовать мониторинг происходящего в очереди и не затронуть основное программное обеспечение (ПО), добавить гибкую возможность построения отчетов и при этом избежать дополнительных затрат. Итоговая конструкция должна позволять быстро строить отчеты для анализа потока данных на конвейере без использования основных мощностей серверов (что позволит избежать дополнительной нагрузки) и основного ПО. Подход должен быть легко переносимым на более сложную архитектуру.

Live Share в Visual Studio 2019

Время на прочтение2 мин
Количество просмотров13K
Мы рады объявить об общедоступности Visual Studio Live Share и о том, что эта функция включена в Visual Studio 2019! В течение года с момента выпуска публичного превью Live Share мы работали над улучшением способов совместной работы в команде. Этот релиз — кульминация этой работы.

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

Читать дальше →

Крутые фичи Visual Studio 2019

Время на прочтение4 мин
Количество просмотров40K
Несколько дней назад мы объявили об общей доступности Visual Studio 2019. Лично я использую Visual Studio 2019 с момента первой внутренней сборки — задолго до выпуска Preview 1 в декабре 2018 года. За это время обнаружилось много маленьких особенностей, которые заставили меня улыбнуться и сделали мою работу более продуктивной.

Я хочу поделиться некоторыми из них с вами, поскольку они не все очевидны, а некоторые требуют изменения некоторых настроек. Подробности под катом!

Читать дальше →

Ближайшие события

Сравнение похожих строк

Время на прочтение11 мин
Количество просмотров14K
Задача сравнения похожих строк встречается на практике довольно часто: лично я недавно столкнулся с ней при попытке импорта почтовых адресов из одной программы в другую.

Например, один адрес может выглядеть как «Тверская обл., Кашин г, Советская ул, 1, 5», а другой – как «Тверская область; город Кашин; улица Советская; дом 1; квартира 5». Похожи ли эти строки и насколько? Несомненно, похожи. И «невооруженным глазом» видна их структура: область – населенный пункт – улица – дом – квартира. Логично, что для адресов важно такое разбиение строк на группы; то есть сравнивать мы должны не «две каши» из сходных слов (где одна «каша» состоит из слов первой строки, а вторая – из слов второй), а именно осуществлять «погруппное» сравнение слов из первой строки со словами из второй. Просматривается и критерий разбиения на группы: в первой строке разделителем групп является «, », а во второй – «; ».
Читать дальше →

Проверяем исходный код Roslyn

Время на прочтение22 мин
Количество просмотров7.8K
PVS-Studio vs Roslyn

Время от времени мы возвращаемся к проектам, которые уже проверяли ранее с помощью PVS-Studio и писали про это статьи. Делать это интересно по двум причинам. Во-первых, чтобы понять, насколько лучше стал наш анализатор. Во-вторых, чтобы отследить, обратили ли авторы проекта внимание на нашу статью, а также на отчет об ошибках, который мы им обычно предоставляем. Конечно, ошибки могут быть исправлены и без нашего участия. Но всегда приятно, когда именно наши усилия помогают сделать какой-то проект лучше. Не стал исключением и Roslyn. Предыдущая статья о проверке этого проекта датируется 23 декабря 2015 года. Это довольно давно, учитывая путь, который за это время проделал в своём развитии наш анализатор. Дополнительный интерес лично для нас Roslyn представляет ещё и тем, что на нём базируется ядро C# анализатора PVS-Studio. Таким образом, мы очень заинтересованы в качестве кода этого проекта. Устроим ему повторную проверку и выясним, что же нового и интересного (но будем надеяться, что ничего существенного) там сможет найти PVS-Studio.
Читать дальше →

.NET Core Workers как службы Windows

Время на прочтение3 мин
Количество просмотров25K

В .NET Core 3.0 мы представляем новый тип шаблона приложения под названием Worker Service. Этот шаблон предназначен для того, чтобы дать вам отправную точку для написания долго-работающих сервисов в .NET Core. В этом пошаговом руководстве мы создадим worker и запустим его в качестве службы Windows.



Читать дальше →

Как фрагмент CSS разметки сломал C++ компилятор

Время на прочтение3 мин
Количество просмотров14K

Picture 1

В методологии статического анализа применяются разные технологии. Одна из них — препроцессирование файлов непосредственно перед их анализом. Препроцессированные файлы создаёт компилятор, запускаемый в специальном режиме работы. К сожалению, этот режим не очень хорошо тестируется, как показывает наш многолетний опыт разработки статического анализатора кода. В этой заметке приведу пример свеженайденного бага в С++ компиляторе от Microsoft.
Читать дальше →

Представляем Microsoft Game Stack

Время на прочтение5 мин
Количество просмотров5.2K

Microsoft Game Stack


Мы объявляем о новой инициативе «Microsoft Game Stack», в рамках которой мы объединим инструменты и сервисы Microsoft, которые позволят всем разработчикам игр, независимо от того, являются ли они независимыми разработчиками или студией AAA, добиться большего.


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

Читать дальше →

Ускорение файлового ввода-вывода C/C++, не особо напрягаясь

Время на прочтение4 мин
Количество просмотров25K
image

Предисловие


Есть на свете такая простая и очень полезная утилита — BDelta, и так вышло, что она очень давно укоренилась в нашем производственном процессе (правда её версию установить не удалось, но она точно была не последней доступной). Используем её по прямому назначению — построение бинарных патчей. Если взглянуть, что там в репозитории, — становится слегка грустно: по сути он давным-давно заброшен и многое там сильно устарело (когда-то туда внёс несколько правок мой бывший коллега, но давно это было). В общем, решил я это дело воскресить: форкнулся, выкинул то, что не планирую использовать, перегнал проект на cmake, заинлайнил «горячие» микрофункции, убрал со стека большие массивы (и массивы переменной длины, от которых у меня откровенно «бомбит»), прогнал в очередной раз профилировщик — и узнал, что около 40% времени тратится на fwrite
Читать дальше →

Подсчитаем баги в калькуляторе Windows

Время на прочтение11 мин
Количество просмотров91K

На днях компания Microsoft открыла исходный код калькулятора. Это приложение входило во все версии операционной системы Windows. Исходный код разных проектов Microsoft достаточно часто открывался за последние годы, но новость о калькуляторе в первый же день просочилась даже в нетехнологические средства массовой информации. Что ж, это популярная, но очень маленькая программа на языке C++. Тем не менее, статический анализ кода с помощью PVS-Studio выявил подозрительные места в проекте.
Читать дальше →

Вклад авторов