Рубрика «Visual Studio» - 29

Интерактивный C# - 1

Обновление с номером 1 принесло в Visual Studio не только немного измененный значок, но и еще разные приятные нововведения. Кстати, вот так выглядит новый значок:

Интерактивный C# - 2

Одним из дополнений является «Интерактивный C#». Фактически это окошко REPL.
Читать полностью »

Проверяем Microsoft Code Contracts - 1

Мы успешно создали и продолжаем развивать анализатор PVS-Studio для языка C/C++. Со временем стало понятно, что многие из реализованных диагностик никак не связаны с конкретным языком программирования, и тогда мы решили попробовать применить свой опыт к другому языку программирования, к C#. В данной статье будет рассказано о проверке проекта Code Contracts от Microsoft с помощью нового C# анализатора.

О проекте MS Code Contracts

Code Contracts предоставляют метод, с помощью которого выражаются предположения о коде программы в .NET приложениях. Контракты принимают форму предусловий, постусловий и инвариантов объекта, и выступают в роли проверенной документации ваших внешних и внутренних API. Контракты используются для того, чтобы улучшить процесс тестирования с помощью проверки во время выполнения программы, позволяя проводить статическую верификацию контрактов и генерацию документации.
Читать полностью »

Зачем? Немного предыстории

Всем привет! Работаю я в группе программистов – мы занимаемся программированием микроконтроллеров и блоков управления на их основе для наземного транспорта. Так уж у нас задалось, что версий одного и того же ПО с разным функционалом/багами довольно много, которое мы зашивали в разное время, то одна из задач: определить версию ПО или его библиотек в зашитом перед нами блоке.

Ранее, при сборке проекта использовались написанные нами шаблоны, из которых получался заголовочный файл с переменными, через которые можно было узнать версии ПО. При переходе на git столкнулись с такой проблемой, что похожих шаблонов не предусмотрено. Следовательно нужно делать самим!
Читать полностью »

Дорогие друзья!

С удовольствием сообщаю вам, что билеты на крупнейшую конференцию Microsoft DevCon 2015 были распроданы за месяц до начала проведения! Мы наблюдали огромный интерес к конференции и продолжаем работать над тем, чтобы сделать DevCon 2015 самым заметным и интересным событием года.

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

DevCon 2015: анонс третьей волны докладчиков конференции - 1

Прежде всего, мы рады в очередной раз приветствовать на конференции Сергея Олонцева – одного из немногих обладателей самого высокого сертификата Microsoft Certified Master по SQL Server. Сергей представит на конференции замечательный доклад о внутреннем устройстве SQL Server 2014, а так же представит отдельный эксклюзивный для участников конференции мастер-класс “Оптимизация производительности в SQL Server до 2014 версии и в ней на примерах”!

Другим замечательным гостем конференции, уже не в первый раз, станет Ларри Либерман — продуктовый менеджер платформы Windows, Microsoft, США! Ларри, как и в прошлый раз приедет на DevCon 2015 для того, чтобы поделиться с участниками конференции самыми последними новинками платформы Windows для разработчиков, которые будут представлены на конференции Build 2015! Ларри Либерман сделает на DevCon два доклада, темы его выступлений мы раскроем сразу после проведения Build, следите за новостями на сайте конференции.
Читать полностью »

Существует множество способом локализовать WPF-приложение, но сложно найти метод, позволяющий менять надписи элементов в автоматическом режиме без необходимости закрытия и повторного открытия формы или полного перезапуска приложения. В этой публикации я расскажу о способе локализации WPF приложения, который позволяет менять культуру приложения без перезапуска приложения и форм. Данное решение требует использования ResourceDictionary (XAML) для перевода интерфейса(UI); для локализации сообщений из кода можно использовать файлы ресурсов (RESX), которые удобно использовать в коде и для редактирования которых есть плагин с удобным редактором (ResX Resource Manager).
Читать полностью »

В течение десяти с небольшим лет своего существования ReSharper был ориентирован на .NET-разработчиков, что не удивительно для плагина к Visual Studio. 2 года назад, в чем-то благодаря удачной первоапрельской шутке, мы вплотную занялись поддержкой С++ в ReSharper, и вот совсем недавно был выпущен первый официальный релиз ReSharper C++ — нового продукта специально для разработчиков на C/С++ в Visual Studio. (Тем, кто заждался релиза CLion для кросс-платформенной разработки на C/C++, понадобится еще немного терпения.)

Чем же может быть полезен ReSharper C++? Разберем основные возможности продукта.
Читать полностью »

Всем привет! Только что произошел очередной релиз наших инструментов для .NET-разработчиков вместе с первой версией ReSharper для разработчиков C++. Вместе взятые, все эти инструменты называются ReSharper Ultimate, и инсталлятор, содержащий их свежие версии, можно скачать здесь!

Доступно свежее обновление ReSharper Ultimate - 1

Полный список входящих в новый релиз ReSharper Ultimate обновлений таков: ReSharper 9.1, ReSharper C++ 1.0, dotMemory 4.3, dotTrace 6.1, dotCover 3.1 и dotPeek 1.4. Разберем наиболее заметные изменения в этих продуктах.
Читать полностью »

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

В сегодняшнем дайджесте правит бал Open Source.
Читать полностью »

Недавно была выпущена первая бета версия тестового фреймворка NUnit v3. Кроме всего прочего, эта версия реализует параллельное выполнение тестов (практически «из коробки»). Я решил проверить как это работает на одном реальном проекте и обнаружил, что новая версия nunit-а не поддерживает часть используемых вещей предыдущих версий. В частности предлагается вместо аттрибута ExpectedException использовать Assert.Thorws или Assert.That.
Независимо от релиза этой беты, в одном из проектов начал использовать модель Assert.That вместо всех остальных методов и атрибутов nunit-а.

Под катом небольшой опыт перевода аттрибута ExpectedException в модель Assert.That.
Читать полностью »

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

  • Все элементы программы масштабируются правильно
  • Только некоторые элементы масштабируются правильно
  • Программа говорит Windows, что не умеет масштабироваться, и тогда операционная система сама масштабирует всю программу как умеет (в результате чего мы и видим замыленный интерфейс во многих старых программах)

Самый неприятный вариант для пользователя — это конечно же второй. Он может не только сделать программу неудобной для использования, но и вообще сделать пользование невозможным.
Ниже я покажу на примере QTIPlot как это можно исправить. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js