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

Visual Studio *

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

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

SecretStorage VSCode extension API

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

В VSCode существует несколько способов хранить настройки пользователя. До прихода версии 1.53.0 конфиденциальную информацию приходилось сохранять в Memento объектах в workspaceState и globalState или например keytar. А хранение паролей с токенами в стандартном конфигурационном файле или с помощью переменных окружения, являлось не самой лучшей идеей, так как эти данные могли быть прочитаны и кэшированы другими расширениями.

В статье мы для начала посмотрим на способы чтения данных из settings.json и environment variables. А затем создадим класс с минимальным функционалом, отвечающий за хранение и отдачу ключей со значениями из VSCode SecretStorage.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

JSON. Вы человек или машина?

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

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

Через пару дней мебель доставили. Я распаковал первую коробку, из нее вывалилась инструкция и у меня опустились руки: в ней наверняка пятьдесят разных языков, все мелким шрифтом, как книга заклинаний из Гарри Поттера. Но приглянувшись, в ней были только рисунки: два смешных чувачочка показывали как обращаться с деталями, как их вертеть, собирать и так далее. Уф, счастье! Я подумал о JSON и XML. IKEA молодцы они использовали универсальный язык жестов и картинов, понятный всем на свете.

Читать далее
Всего голосов 18: ↑7 и ↓11-4
Комментарии47

Привычка работать «из коробки» или как мы засунули CUDA в .vcxproj

Время на прочтение2 мин
Количество просмотров2.6K
image
CUDA

А зачем?


Пожалуй, сразу отвечу, для чего было придумано такое решение. Когда мы держали проект в виде OpenSource, то пытались сохранить политику «скачал код, собрал одной кнопкой», но с момента использования технологии CUDA ситуация стала сложнее… Большая часть комьюнити кричала, что ничего не собирается и устанавливать сторонние SDK они не хотят.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии9

Почему в Visual Studio стек вызовов асинхронного кода иногда перевёрнут?

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

Вместе с моим коллегой Евгением мы потратили много времени. Приложение обрабатывает тысячи запросов в асинхронном конвейере, полном async/await. Во время нашего исследования мы получили странные вызовы, они выглядели как бы “перевернутыми”. Специально к старту нового потока курса по разработке на C#, рассказываем, почему вызовы могут оказаться перевёрнутыми даже в Visual Studio.

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

Истории

Тайловый менеджер для Windows своими руками на C# Windows Form

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

Всем привет!

Решил поделиться своей программой Тайлового оконного менеджера, с дополнительными возможностями для среды Windows.

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

Если интересно что из этого вышло, добро пожаловать под кат.

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

Visual Studio 2022

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

У меня захватывающие новости - этим летом выйдет первая общедоступная предварительная версия Visual Studio 2022.

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

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

Читать далее
Всего голосов 37: ↑34 и ↓3+47
Комментарии54

Update Tuesday: Microsoft выпустила апрельские обновления безопасности

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

Microsoft выпустила плановые обновления безопасности, закрывающие 114 уязвимостей, включая 6 уязвимостей в Microsoft Edge и 4 уязвимости в Exchange Server. 19 уязвимостей были классифицированы как «Критические» и 88 – как «Важные». Среди закрытых уязвимостей 4 были обнародованы публично, а эксплуатация еще одной уязвимости была зафиксирована в реальных атаках (0-day).

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

Сводная информация по количеству и типу уязвимостей в соответствующих продуктах приведена на графике.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии2

Представляем Open Source C# стандартизацию

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

Компиляторы C# имеют открытый исходный код с 2014 года, теперь в репозитории dotnet/roslyn. Dotnet/csharplang отделился, чтобы предоставить отдельное публичное пространство для инноваций и развития языка C#. Теперь dotnet/csharpstandard дополняет эту группу, предоставляя публичное пространство для текущей работы по документированию стандарта для последних языковых версий C#.

Читать далее
Всего голосов 8: ↑7 и ↓1+12
Комментарии4

Обновление Angular Language Service для Visual Studio

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

В августе прошлого года команда инструментов JavaScript/TypeScript выпустила Angular Language Service для пользователей Visual Studio. Этим мы хотели обратиться ко многим пользователям ASP.NET/ASP.NET Core, которые создают свои клиентские проекты с помощью Angular. Хотя это расширение вызвало много хвалебных отзывов, не для всех пользователей оно было таким удобным. Мы хотим, чтобы вы знали, что мы вас услышали и внесли некоторые изменения. Немного подробностей под катом.

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии4

Мартовские обновления безопасности от Microsoft

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

В марте компания Microsoft выпустила плановые обновления безопасности, закрывающие 82 уязвимости в своих продуктах, 10 из которых были классифицированы как критические. Среди закрытых уязвимостей 2 являются 0-day и обнародованы публично, а эксплуатация одной из этих уязвимостей была зафиксирована в реальных атаках.

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

Примечание: помимо плановых обновлений в марте был внеплановый выпуск обновлений безопасности для локальных версий Microsoft Exchange Server 2010, 2013, 2016, 2019. Подробности об этом выпуске можно получить в нашем блоге.

Сводная информация по количеству и типу уязвимостей в соответствующих продуктах приведена на графике ниже.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии3

Гарантированная локализация/русификация консоли Windows

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

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

Далее о локализции приложений в консоли
Всего голосов 15: ↑10 и ↓5+12
Комментарии82

Python в Visual Studio Code – февральский релиз 2021

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

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

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

Больше подробностей под катом!

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии11

Работаем с notebook в VS Code с помощью расширения «dotnet interactive»

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

Сегодня я хочу рассказать вам о таком замечательном инструменте как "dotnet interactive". Я покажу на своём примере как и для чего я начал его использовать, и вкратце опишу с чего начать.

Читать далее
Рейтинг0
Комментарии2

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

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Шаблон микросервиса: зачем нужен и как его внедрить в разработку

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

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

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

1. Можно выбрать неудачный микросервис для копирования - с недостающими элементами, некорректными настройками и т.д.

2. Если у разработчиков нет эталона, повышается риск дополнительных ошибок. Значит, кому-то придётся потратить лишнее время, чтобы их исправить.

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

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

Что даёт шаблон микросервиса

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

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

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

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

Разработка Diablo IV в Blizzard и отладка дампов памяти из Linux в Visual Studio

Время на прочтение6 мин
Количество просмотров12K
В блоге Microsoft недавно была опубликована статья, которую написал Билл Рэндольф, старший инженер-программист Blizzard, занимающийся разработкой Diablo IV. В этой статье раскрыты некоторые особенности работы над Diablo IV и, в частности, рассказано об использовании Visual Studio для отладки кода, рассчитанного на Linux. Сегодня мы предлагаем вашему вниманию перевод этого материала.

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

О поиске утечек памяти в С++/Qt приложениях

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

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

Эта статья посвящена разным инструментам, которые можно с той или иной степенью успешности применять для отлова утечек памяти в С++/Qt приложениях (desktop). Инструменты будут рассмотрены в связке с IDE Visual Studio 2019. В статье будут рассмотрены не все возможные инструменты, а лишь наиболее популярные и эффективные.

Наша команда давно и пристально изучает подобные инструменты и использует их в своей работе. Объем кода, на котором есть возможность проверить подобные инструменты, составляет около 1.5 миллиона строк. Опираясь на большой практический опыт, мы расскажем о плюсах и минусах разных инструментов, расскажем, что они способны найти, а что не по зубам, расскажем о неочевидных нюансах и, главное, составим сводную сравнительную таблицу по реальному примеру. Мы постараемся максимально быстро и просто ввести в курс дела (показать быстрый старт), потому даже если ты, читатель, никогда не занимался поиском утечек памяти, эта статья поможет за пару часов разобраться и найти свою первую утечку. Поехали!

Читать далее
Всего голосов 9: ↑8 и ↓1+13
Комментарии17

Работа с большими решениями .NET 5 в Visual Studio 2019 16.8

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

С выпуском .NET 5 миграция решений из .NET Framework увеличилась. В частности, мы начали наблюдать перемещение очень крупных решений. Чтобы обеспечить максимальное удобство, мы работали над оптимизацией Visual Studio для обработки решений, содержащих большое количество проектов .NET 5 и .NET Core. Многие из этих оптимизаций были включены в версию 16.8, и в этом посте рассматриваются внесенные нами улучшения.

Читать далее
Всего голосов 8: ↑6 и ↓2+8
Комментарии3

Использование libpq в VisualStudio (Windows)

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

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

Я столкнулся с рядом проблем при попытке подключить libpq в VS 2017: начиная с несоответствия документации по данной API с инструкциями по подключению, заканчивая умолчанием некоторых ключевых моментов.

В общем по порядку.

Читать далее
Всего голосов 5: ↑1 и ↓4-1
Комментарии1

Улучшения нового редактора Razor в Visual Studio

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

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

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии3

Оживляем деревья выражений кодогенерацией

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

Expression Trees — это, пожалуй, самое удобное средство манипуляции кодом в run-time.

Расширять код метапрограммами в compile-time позволяют Roslyn Source Generators, с ними это стало проще, чем когда-либо.

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

Читать далее
Всего голосов 32: ↑32 и ↓0+32
Комментарии17

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