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

Visual Studio *

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

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

Представляем шрифт Cascadia Code

Время на прочтение3 мин
Количество просмотров20K
Cascadia Code наконец-то здесь! Вы можете установить его непосредственно со страницы выпусков в нашем репозитории на GitHub или автоматически получить его в следующем обновлении Windows Terminal.



Постойте, что за «Cascadia Code»?


Cascadia Code был представлен в мае этого года на мероприятии Microsoft Build. Это новейший моноширинный шрифт, поставляемый Microsoft, который обеспечивает свежий опыт работы с командной строкой и редакторами кода. Cascadia Code был разработан рука об руку с новым приложением Windows Terminal. Этот шрифт рекомендуется использовать с терминальными приложениями и текстовыми редакторами, такими как Visual Studio и Visual Studio Code.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии24

Встречайте новый терминал Visual Studio

Время на прочтение2 мин
Количество просмотров13K
Развивая тему недавно анонсированного Developer PowerShell, мы рады представить вам первую preview-версию нового терминала Visual Studio. Данная функция является частью Visual Studio версии 16.3 Preview 3.

image

Терминал Visual Studio не создан с нуля, а разделяет большую часть своего ядра с Windows Terminal. Для вас это означает более надежную работу терминала и более быстрое введение новых функций.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии1

Печальная судьба спецификаторов формата функции printf для символов Юникода в Visual C++

Время на прочтение4 мин
Количество просмотров12K
Поддержка Юникода в Windows появилась раньше, чем в большинстве остальных операционных систем. Из-за этого многие проблемы, связанные с представлением символов, в Windows решались не так, как в других системах, разработчики которых отложили внедрение нового стандарта до лучших времён [1]. Самый показательный пример: в Windows для представления символов Юникода используется кодировка UCS-2. Она была рекомендована Консорциумом Юникода, поскольку версия 1.0 поддерживала только 65 536 символов [2]. Пять лет спустя Консорциум передумал, но к тому времени менять что-то в Windows было уже поздно, так как на рынок уже были выпущены системы Win32s, Windows NT 3.1, Windows NT 3.5, Windows NT 3.51 и Windows 95 — все они использовали кодировку UCS-2 [3].

Но сегодня мы поговорим о строках форматирования функции printf.
Читать дальше →
Всего голосов 69: ↑64 и ↓5+59
Комментарии22

Лучшее — враг хорошего

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

Picture 12

Эта статья о том, как однажды мы решили немного улучшить внутренний инструмент SelfTester, применяемый для проверки качества работы анализатора PVS-Studio. Улучшение было несложным и выглядело полезным, но создало нам много проблем, и впоследствии выяснилось, что лучше бы мы его не делали.
Читать дальше →
Всего голосов 58: ↑51 и ↓7+44
Комментарии10

Истории

WinForms: ошибки, Холмс

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

Picture 5

Мы любим искать ошибки в проектах Microsoft. Почему? Всё просто: их проекты, как правило, легко проверить (работу можно вести сразу в среде Visual Studio, для которой у PVS-Studio есть удобный плагин) и они содержат мало ошибок. Поэтому обычный алгоритм работы такой: найти и скачать открытый проект от MS; проверить его; выбрать интересные ошибки; убедиться, что их немного; написать статью, не забыв похвалить разработчиков. Великолепно! Win-win-win: времени ушло немного, руководство радо появлению новых материалов в блоге, да и карма в полном порядке. Но в этот раз что-то пошло не так. Давайте посмотрим, что интересного удалось найти в исходном коде Windows Forms и стоит ли хвалить Microsoft в этот раз.
Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии15

FFmpeg практика аппаратного декодирования DXVA2

Время на прочтение6 мин
Количество просмотров18K
Привет! Эта статья продолжение моей статьи FFmpeg начало работы Visual Studio. Здесь мы приступим к аппаратному декодированию RTSP-потока FULL HD. Заранее скажу, что с данной задачей легко справится даже Intel ATOM Z8350.

Задача: аппаратное декодирование и запись до 4-х кадров в оперативную память для последующей параллельной обработки (четырьмя ядрами процессора) с IP-камеры RTSP h.264. Обработанные кадры отображаю с помощью функций WinAPI. Как итог мы получим быстродействующую систему для компьютерной обработки RTSP-потока в параллельном режиме. Далее можно подключать алгоритмы Компьютерного зрения для обработки кадров Real Time.

image

Вступление


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

DirectX Video Acceleration (DXVA) — это API для использования аппаратного ускорения для ускорения обработки видео силами графических процессоров (GPU). DXVA 2.0 позволяет перенаправлять на GPU большее количество операций, включая захват видео и операции обработки видео.
Всего голосов 24: ↑24 и ↓0+24
Комментарии32

Отладка алгоритмов на графах — теперь с картинками

Время на прочтение11 мин
Количество просмотров11K
Представим типичную ситуацию на первом курсе: вы прочитали про алгоритм Диница, реализовали, а он не заработал, и вы не знаете, почему. Стандартное решение — это начать отлаживать по шагам, каждый раз рисуя текущее состояние графа на листочке, но это жутко неудобно. Я попробовала исправить положение в рамках семестрового проекта по Software Engineering, а в посте расскажу, как у меня в итоге получился плагин для Visual Studio. Скачать можно тут, исходный код и документацию можно посмотреть тут. Вот скриншот графа, который получился для алгоритма Диница.

Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии6

Задача о создании последовательных числовых кодов для нумерации сообщений в исходном коде в Visual Studio (ex. C#)

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

Всем привет


Позвольте поделиться с вами небольшим лайфхаком, который я успешно применяю около пары лет — создание последовательных числовых кодов для текстовых сообщений в исходном коде в процессе непосредственного редактирования исходного кода в Visual Studio:

image
Читать дальше →
Всего голосов 21: ↑7 и ↓14-7
Комментарии63

Вышел Embarcadero RAD Studio 10.3.2 или то что мертво… умерло

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

Привет, Хабр!


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


ВНИМАНИЕ! Информация, описанная ниже, написана исключительно в исследовательских целях и не предназначена для использования в корыстных целях!


Начну, пожалуй с предыстории.


А именно, c конца 2013 года. Тогда перед мной, как помню, возникла проблема поиска удобной IDE для быстрой и главное простой реализации прикладных задач. Надо сказать, что на тот момент я перегорел к JAVA и, хоть NetBeans мне нравилась, хотелось скорости работы и простоты разработки (Не забываем, что Java SE 6 была ну ооочень медленной). Короче, захотелось С/C++. Многие мои знакомые тогда использовали VS 2012 и, конечно, рекомендовали её мне с пеной у рта, мол лучшая IDE и бла-бла-бла. Ага, весила она на тот момент (развернутой) 15-20Gb и съедала почти всю оперативку (4Gb под Windows + VS), и ещё при всем при этом глючила безбожно. Но я готов был закрыть на это глаза, основной-то код я всегда пишу в Notepad++. Но "грязь" в IDE я пережить так и не смог (когда ради консольного приложения программа пишет 100500+ строк кода — это меня бесит и по сей день, я же не форму прошу сделать....) В итоге, удалил я VS 2012 и забыл о ней до 2017 года.

Всего голосов 59: ↑35 и ↓24+11
Комментарии113

Вышла Preview-версия XAML Hot Reload для Xamarin.Forms

Время на прочтение4 мин
Количество просмотров3.1K
На прошлой неделе на Xamarin Developer Summit мы анонсировали «Горячую перезагрузку (Hot Reload) XAML для Xamarin.Forms», которая позволяет вносить изменения в пользовательский интерфейс XAML и просматривать их в режиме реального времени, не требуя другой сборки и развертывания.

Горячая перезагрузка XAML для Xamarin.Forms ускоряет разработку и упрощает сборку, экспериментирование и итерации в пользовательском интерфейсе. А это значит, что вам больше не нужно перестраивать свое приложение каждый раз, когда вы настраиваете свой пользовательский интерфейс — все изменения мгновенно показываются в запущенном приложении.

Когда ваше приложение скомпилировано с использованием XAML Hot Reload, оно работает со всеми библиотеками и сторонними элементами управления. Эта фича будет доступна для iOS и Android в Visual Studio 2019 и Visual Studio 2019 для Mac. Все работает на всех допустимых целях развертывания, включая симуляторы, эмуляторы и физические устройства.

Горячая перезагрузка XAML будет доступна позже в 2019 году, но вы можете зарегистрироваться для участия в preview:

Sign Up for the Preview Now

Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии1

9 правил крутого расширения для Visual Studio

Время на прочтение3 мин
Количество просмотров5K
Крутые расширения Visual Studio имеют несколько ключевых признаков, которые отличают их от остальных. Они выглядят и на самом деле хорошо продуманы, функциональны и надежны. Кроме того, они делают то, что должны, до уровня совершенства и нативно вписываются во внутренние функции Visual Studio.

Чтобы упростить написание хороших расширений, мы работаем с сообществом над разработкой простого чек-листа. Существует даже GitHub issue template, который вы можете использовать. В этой статье рассмотрим 9 правил крутого расширения. Подробности под катом.

Читать дальше →
Всего голосов 13: ↑9 и ↓4+5
Комментарии4

Roslyn Analyzers. Как писать код быстро и безошибочно

Время на прочтение3 мин
Количество просмотров10K
Roslyn, платформа компилятора .NET, помогает обнаруживать ошибки еще до запуска кода. Одним из примеров является анализатор проверки орфографии Roslyn, который встроен в Visual Studio. Скажем, вы создаете статический метод и случайно написали слово static как statc. Вы сможете увидеть эту орфографическую ошибку еще до запуска своего кода, потому что Roslyn выдаст предупреждение в вашем коде при вводе текста еще до завершения набора строки. Другими словами, вам не нужно производить сборку кода, чтобы узнать, что вы допустили ошибку.

image

Анализаторы Roslyn также могут отображать автоматическое исправление кода с помощью иконки лампочки Visual Studio, которая позволяет немедленно исправить код.

image
Читать дальше →
Всего голосов 16: ↑12 и ↓4+8
Комментарии6

Еще 9 хитростей для работы с Visual Studio

Время на прочтение2 мин
Количество просмотров8.4K
Совсем недавно мы рассказывали о 18 хитростях для работы с Visual Studio. Сегодня мы отобрали еще 9 советов, которые помогут увеличить продуктивность вашей работы с инструментом.

1. Хотите вернуться к последней отредактированной строке кода? Попробуйте сочетание клавиш Ctrl+Shift+Bkspce, чтобы перейти к последнему месту редактирования.

2. Легко перемещайте указатель инструкций (желтая стрелка) во время отладки при помощи Set Next Statement.

image
Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии7

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

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн

Реализуем AutoMapper при помощи Roslyn и кодогенерации

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

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


И так, кому интересно посмотреть на то как можно сделать библиотеку наподобие AutoMapper прошу под кат.

Всего голосов 12: ↑12 и ↓0+12
Комментарии9

Linux-разработка в Windows с WSL и Visual Studio Code Remote

Время на прочтение2 мин
Количество просмотров32K
Работа с VS Code Remote и Windows Subsystem for Linux (WSL) дает возможность использовать полнофункциональную среду разработки Linux на ноутбуке или десктопе с предустановленной Windows. В этом материале рассмотрим то, как использовать эти инструменты для разработки приложений на Python в Linux.

image
Всего голосов 19: ↑16 и ↓3+13
Комментарии12

Python в Visual Studio Code — июньский релиз

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

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

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии8

PVS-Studio для Visual Studio

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


Многие наши статьи посвящаются чему угодно, но только не самому инструменту PVS-Studio. А ведь мы очень много делаем, чтобы разработчикам было удобно пользоваться нашим инструментом. Но как раз это часто оказывается за кадром. Решил исправить эту ситуацию и рассказать о плагине PVS-Studio для Visual Studio. Если вы используете Visual Studio, то эта статья для вас.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии0

18 хитростей для работы с Visual Studio

Время на прочтение3 мин
Количество просмотров42K
Независимо от того, являетесь ли вы новичком или же используете Visual Studio уже в течение многих лет, есть множество советов и хитростей, которые помогут вам стать более продуктивным. Некоторое время мы делились советами в Twitter, используя хештег #vstip, а сегодня собрали подборку лучших из них на сегодняшний день.

Отладчик


Использование F10 вместо F5 для сборки, запуска и присоединения отладчика автоматически прерывается при первом выполнении вашего собственного кода. В точках останова нет необходимости.

image

Поддерживается начиная с Visual Studio 2005

Reattach to process (Shift+Alt+P) чрезвычайно полезная функция, которая помогает снова и снова присоединяться к одному и тому же процессу.

image

Поддерживается начиная с Visual Studio 2017 v15.8

Синяя точка на поле указывает на переключение потоков при выполнении отладки.

image

Поддерживается начиная с Visual Studio 2013

Продолжение под катом!
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии8

Опасность использования multi-character-констант

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

Picture 1

Во время анализа кода, PVS-Studio выполняет анализ потока данных и оперирует значениями переменных. Значения берутся из констант или выводятся из условных выражений. Мы называем их виртуальными значениями. Недавно мы улучшали их для работы с multi-character-константами и это стало поводом для создания нового диагностического правила.

Введение


Multi-character-литерал является implementation-defined, поэтому различные компиляторы могут кодировать эти литералы по-разному. К примеру, GCC и Clang задают значение, основываясь на порядке символов в литерале, тогда как MSVC перемещает их в зависимости от типа символа (обычный или escape).
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии13

Эволюция самого популярного инструмента любого разработчика (в Visual Studio)

Время на прочтение2 мин
Количество просмотров11K
В любой среде разработки есть инструмент с названием «Output». Нет нужды описывать что он делает, поскольку абсолютно все разработчики его используют в своей работе ежедневно. Он прост и консервативен.

По сути не менялся десятилетиями и до этих пор выглядит как то так:


Текст, текст и еще раз текст. Много текста...

Даже в этом крошечном примере не сразу видно где строка с ошибкой. Для того чтобы это понять, нужно приложить усилия и потратить время. Просто потому что нужно читать текст и искать в нем слова “error”, “exception” или “warning”. Программисту искать, а заказчику платить за потраченное на это время.
Читать дальше →
Всего голосов 42: ↑34 и ↓8+26
Комментарии84

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