Работа с visual studio


Начало работы с C++ в Visual Studio

Выполнив это пошаговое руководство, вы ознакомитесь со многими инструментами и диалоговыми окнами, которые можно использовать для разработки приложений с помощью Visual Studio. Вы создадите простое приложение в стиле "Hello, World", чтобы глубже изучить работу в интегрированной среде разработки (IDE).

В этом разделе содержатся следующие подразделы.

Вход в Visual Studio

Создание простого приложения

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

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

Сборка окончательной версии приложения

Вход в Visual Studio

При первом запуске Visual Studio предоставляется возможность выполнить вход с использованием учетной записи Майкрософт, например Live или Outlook. Вход позволяет обеспечить синхронизацию пользовательских параметров на всех устройствах. Дополнительные сведения см. в разделе Signing in to Visual Studio.

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

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

Создание простого приложения

При создании приложения в Visual Studio необходимо сначала создать проект и решение. В этом примере создается консольное приложение Windows.

Создание консольного приложения
  1. В строке меню выберите Файл, Создать, Проект.

  2. В категории Visual C++ выберите шаблон Консольное приложение Win32 и назовите проект GreetingsConsoleApp.

    В зависимости от установленных компонентов в диалоговых окнах могут быть доступны разные варианты. Если шаблоны проектов Visual C++ отсутствуют, необходимо вернуться в установщик и установить рабочую нагрузку C++.

  3. Когда появится мастер приложений Win32, нажмите кнопку Готово .

    Проект GreetingsConsoleApp и решение с основными файлами для консольного приложения Win32 создадутся и автоматически загрузятся в Обозреватель решений. Файл GreettingsConsoleApp.cpp откроется в редакторе кода. В Обозревателе решенийотображаются следующие элементы.

    Рисунок 4. Элементы проекта

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

Далее необходимо добавить код для отображения слова "Hello" в окне консоли.

Отображение "Hello" в окне консоли
  1. В файле GreetingsConsoleApp.cpp введите пустую строку перед строкой return 0; , а затем введите в нее следующий код:

    cout << "Hello\n";

    Красная волнистая линия появится под cout. При наведении на нее отобразится сообщение об ошибке.

    Сообщение об ошибке также отобразится в окне Список ошибок . Можно отобразить это окно, выбрав в строке меню Вид, Список ошибок.

    cout включается в файл заголовка <iostream>.

  2. Для включения заголовка iostream введите следующий код после #include "stdafx.h":

    #include <iostream> using namespace std;

    Возможно, вы заметили, что после вставки этого кода появилось окно, предлагающее рекомендации для символов, которые были введены. Это поле является частью технологии C++ IntelliSense, обеспечивающей подсказки по коду, в том числе отображение членов класса или интерфейса и сведения о параметрах. Кроме того, можно использовать фрагменты кода в виде предопределенных блоков кода. Дополнительные сведения см. в разделах Using IntelliSense и Code Snippets.

    Красная волнистая линия под cout исчезнет после исправления ошибки.

  3. Сохраните изменения в файле.

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

С помощью отладки GreetingsConsoleApp можно посмотреть, отображается ли слово Hello в окне консоли.

Отладка приложения
  • Запустите отладчик.

    Отладчик запустится и выполнит код. Окно консоли (отдельное окно, подобное командной строке) отображается в течение нескольких секунд, но при остановке отладчика быстро закрывается. Чтобы просмотреть текст, необходимо установить точку останова выполнения программы.

Добавление точки останова
  1. Добавьте точку останова из меню в строке return 0;. Для установки точки останова можно также просто щелкнуть область слева.

    Рядом со строкой кода в крайнем левом поле окна редактора появится красный кружок.

  2. Нажмите клавишу F5, чтобы начать отладку.

    Запускается отладчик, и появляется окно консоли, в котором выводится слово Hello.

  3. Для останова процесса отладки нажмите SHIFT + F5.

    Дополнительные сведения см. в статье Консольные проекты.

Сборка окончательной версии приложения

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

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

  2. Измените конфигурацию сборки для GreetingsConsoleApp с Отладка на Выпуск.

  3. Постройте решение.

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

См. также

Использование интегрированной среды разработки Visual Studio для разработки приложений для настольных систем на языке C++Пошаговое руководство. Создание простого приложения с помощью Visual C# или Visual BasicСоветы по повышению продуктивности при работе в Visual StudioПримеры Visual StudioНачало разработки в Visual Studio

docs.microsoft.com

Начало работы с отладкой в Visual Studio

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

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

Код не работает. Как Visual Studio может помочь?

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

Настройка сборки

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

По умолчанию используется конфигурация Отладка.

Можно также указать конкретную целевую платформу сборки, например x86 (32-разрядные процессоры Intel), x64 (64-разрядные процессоры Intel) и ARM (процессоры ARM, поддерживается только для определенных типов приложений). Значение по умолчанию — x86 для проектов управляемого и машинного кода. Чтобы изменить его, щелкните раскрывающийся список платформ сборки и выберите другую платформу или выберите Диспетчер конфигураций....

Указать целевую конфигурацию сборки можно с помощью Configuration Manager. Чтобы запустить этот компонент, щелкните раскрывающийся список Конфигурация или ЦП и выберите Создать... для создания новой сборки или платформы.

Если вы только начинаете работу, просто используйте варианты Отладка и x86 в качестве конфигурации сборки и платформы, соответственно. После завершения создания кода и отладки измените конфигурацию на Выпуск и выберите определенную целевую платформу. (В предыдущих версиях Visual Studio для проектов кода .NET предоставлялась платформа по умолчанию AnyCPU.)

Примечание. При построении проекта значения конфигурации и платформы также используются для определения создаваемого пути к каталогу проекта для хранения исполняемого файла. Как правило, это <путь_к_проекту>\<имя_проекта>\<конфигурация>\<платформа>. Например, проект с конфигурацией Debug и платформой x86 будет размещаться по пути Projects\MyProjectNameHere\MyProjectNameHere\bin\Debug\x86. Это может быть полезно при наличии собственных средств или сценариев, управляющих исполняемыми файлами сборки.

Сборка кода

Настроив среду сборки, можно приступить к фактической сборке проекта. Самый просто способ — нажать клавишу F7, однако вы также можете начать сборку, выбрав в главном меню Сборка -> Собрать решение.

Процесс сборки можно наблюдать в окне состояния Вывод в нижней части пользовательского интерфейса Visual Studio. Здесь отображаются ошибки, предупреждения и операции сборки. При наличии ошибок (или предупреждений выше заданного уровня) сборка завершится ошибкой. Можно щелкнуть ошибку и предупреждение, чтобы перейти к строке, где они возникли. Для перестроения проекта можно нажать клавишу F7 (чтобы перекомпилировать только файлы с ошибками) или CTRL+ALT+F7 (для чистого полного перестроения).

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

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

Просмотр списка ошибок

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

Щелкните строку ошибки в окне Список ошибок и перейдите в строку кода, в которой возникла ошибка. (Номера строк также можно включить, щелкнув панель быстрого запуска в верхнем правом углу: введите "номера строк" в поле и нажмите клавишу ВВОД.) Это самый быстрый способ перехода в окно Параметры, где можно включить номера строк. Узнайте, как использовать панель быстрого запуска и избежать лишних действий в пользовательском интерфейсе.

Нажмите сочетание клавиш CTRL+G для быстрого перехода к номеру строки, в которой возникла ошибка.

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

Пройдите список ошибок и устраните все ошибки в коде.

Просмотр подробных сведений об ошибках

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

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

Кроме того, можно щелкнуть значение кода ошибки с гиперссылкой в столбце Код списка ошибок. Это приведет к запуску поиска Bing только по коду ошибки.

Выполнение статического анализа кода

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

Нажмите сочетание клавиш ALT+F11 (или выберите Анализ -> Выполнить анализ кода в решении в верхнем меню) для запуска статического анализа кода. При наличии большого объема кода это может занять некоторое время.

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

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

Использование значка лампочки для исправления или рефакторинга кода

Лампочки — это новая возможность Visual Studio, позволяющая выполнить рефакторинг кода в окне решения. Это простой способ быстрого и эффективного устранения распространенных предупреждений. Для доступа к ним щелкните правой кнопкой мыши волнистую линию предупреждения или нажмите сочетание клавиш CTRL+. (указатель мыши должен быть наведен на волнистую линию), а затем выберите пункт меню Быстрые действия.

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

Лампочки можно использовать в любом случае, когда средство анализа кода определяет возможность исправления, рефакторинга или улучшения кода. Щелкните любую строку кода, вызовите контекстное меню и выберите Быстрые параметры (или, если вы предпочитаете эффективность, нажмите сочетание клавиш CTRL+.). Если для этой области есть доступные параметры рефакторинга или улучшения, они будут выведены на экран; в противном случае на панели в левом нижнем углу окна IDE будет выведено сообщение No quick options available here.

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

Дополнительные сведения о лампочках см. в статье Perform quick actions with light bulbs (Выполнение быстрых действий с лампочками).

Отладка выполняемого кода

Успешно завершив построение кода и его очистку, запустите код, нажав клавишу F5 или выбрав Отладка > Начать отладку. Приложение будет запущено в среде отладки, и вы сможете пронаблюдать его поведение. Среда IDE Visual Studio изменяется во время выполнения приложения: окно Вывод заменяется двумя новыми окнами (в конфигурации окна по умолчанию), окном с вкладками Видимые/Локальные/Модули/Контрольные значения и окном с вкладками Стеки вызовов/Точки останова/Параметры исключений/Вывод. Эти окна имеют несколько вкладок, которые позволяют просмотреть и проверить переменные, потоки, стеки вызовов приложения и другие характеристики поведения во время выполнения приложения.

Выполните разные действия с приложением и понаблюдайте за изменениями. Если приложение ведет себя ненормально, приостановите его с помощью сочетания клавиш CTRL+ALT+ BREAK (или нажмите кнопку Приостановить).

Нажмите клавишу F5 для продолжения выполнения приложения (или нажмите кнопку Продолжить).

Остановить приложение можно, нажав клавиши SHIFT+F5 или кнопку Остановить. Кроме того, можно просто закрыть главное окно приложения (или диалоговое окно командной строки).

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

Задание простых точек останова

Точки останова — это один из самых простых и важных компонентов надежной отладки. Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода. После установки или удаления точек останова перестраивать проект НЕ НУЖНО.

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

В момент прерывания кода отмеченная строка кода еще не выполнена. На этом этапе вы можете выполнить инструкции для строки кода, отмеченной точкой останова, и проверить измененные значения. Это называется "пошаговым выполнением" кода. Если отмеченный код является вызовом метода, вы можете выполнить его, нажав клавишу F11. Кроме того, можно "перешагнуть" через строку кода, нажав клавишу F10. Дополнительные сведения о пошаговой отладке кода см. в статье Навигация по коду с помощью отладчика.

Чаще всего точки останова используются для решения следующих задач.

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

  2. При вводе нового кода установите точку останова в начале кода и пройдите по коду, чтобы убедиться, что он работает правильно.

  3. При реализации сложного поведения задайте точки останова для алгоритмического кода, чтобы можно было проверить значения переменных и данные при прерывании программы.

  4. При написании кода C или C++ используйте точки останова для остановки кода, чтобы можно было проверить значения адреса (ищите значение NULL) и просмотреть значения счетчиков при отладке ошибок, связанных с памятью.

    Дополнительные сведения о точках останова см. в статье Использование точек останова.

Задание условных точек останова

При наличии точки останова в цикле или рекурсии или большого числа точек останова, которые вы часто будете просматривать пошагово, используйте условную точку останова, которая позволяет приостанавливать код ТОЛЬКО при выполнении определенных условий. В противном случае вы устанете нажимать клавишу F11.

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

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

Дополнительные сведения об объявлении выражений, используемых для оценки условных точек останова, см. в видеозаписи канала Channel9 Настройка точек останова в Visual Studio.

Проверка кода во время выполнения

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

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

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

Выполнение модульных тестов

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

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

Дополнительные сведения о модульных тестах в Visual Studio, а также о том, как они могут помочь в создании более качественного кода, см. в статье Основные сведения о модульных тестах.

См. также

Обзор функций отладчикаПараметры отладчика и подготовкаОтладка 64-разрядных приложенийОсновы отладки

docs.microsoft.com

Общие сведения о приложениях для работы с данными в Visual Studio

Эта документация перемещена в архив и не поддерживается.

Visual Studio 2013

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

Подключение к данным в Visual Studio

Описывает способы создания подключений к базам данных, веб-службам и объектам из приложения.

Подготовка приложения к получению данных

Разъясняет, что такое типизированные наборы данных, и как создавать и редактировать отдельные объекты, составляющие типизированные наборы данных.

Выборка данных в приложение

Описывает способы переноса данных в приложение путем выполнения инструкций SQL или сохраненных процедур источника данных.

Привязка элементов управления к данным в Visual Studio

Описывает способы отображения данных в формах Windows Forms.

Редактирование данных в приложении

Описывает способы обработки данных перед их отправкой к источнику данных или в другой процесс или приложение.

Проверка данных

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

Сохранение данных

Рассматривает вопросы, важные при работе с отключенным хранилищами записей, находящимися в памяти.

Реляционный конструктор объектов

Предоставляет ссылки на разделы о том, как создать классы LINQ to SQL, используя конструктор Реляционный конструктор объектов.

Иерархическое обновление

Предоставляет ссылки на разделы о сохранении связанных таблиц в типизированном наборе данных с помощью компонента TableAdapterManager.

Работа с наборами данных в N-уровневых приложениях

Предоставляет ссылки на разделы о том, как использовать функции Visual Studio для создания многоуровневых приложений.

ADO.NET

Описание классов ADO.NET, которые предоставляют программистам .NET службы доступа к данным.

Данные в решениях Office

Предоставляет ссылки на разделы, в которых объясняется, как данные работают в решениях Microsoft Office. Сюда входят сведения о схемно-ориентированном программировании, о кэшировании данных и о доступе к данным на стороне сервера.

msdn.microsoft.com

Начало работы с отладкой в Visual Studio 2015

 

Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.

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

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

Итак, вы разобрались, как работать с редактором, и написали код. Теперь нужно выполнить отладку этого кода. Отладка в Visual Studio 2015, как и в большинстве интегрированных сред разработки (IDE), осуществляется в два этапа: построение кода для обнаружения и устранения ошибок проекта и компилятора и выполнение этого кода в среде для обнаружения и устранения ошибок времени выполнения и динамических ошибок.

Настройка сборки

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

По умолчанию используется конфигурация Отладка.

Можно также указать конкретную целевую платформу сборки, например x86 (32-разрядные процессоры Intel), x64 (64-разрядные процессоры Intel) и ARM (процессоры ARM, поддерживается только для определенных типов приложений). Значение по умолчанию — x86 для проектов управляемого и машинного кода. Чтобы изменить его, щелкните раскрывающийся список платформ сборки и выберите другую платформу или выберите Configuration Manager.

Указать целевую конфигурацию сборки можно с помощью Configuration Manager. Чтобы запустить этот компонент, щелкните раскрывающийся список Конфигурация или ЦП и выберите Создать... для создания новой сборки или платформы.

Если вы только начинаете работу, просто используйте варианты Отладка и x86 в качестве конфигурации сборки и платформы соответственно. После завершения создания кода и отладки измените конфигурацию на Выпуск и выберите определенную целевую платформу. (В предыдущих версиях Visual Studio для проектов кода .NET предоставлялась платформа по умолчанию AnyCPU).

Примечание. При построении проекта значения конфигурации и платформы также используются для определения создаваемого пути к каталогу проекта для хранения исполняемого файла. Как правило, это <path-to-project>\<project-name>\<configuration>\<platform>. Например, проект с конфигурацией Отладка и платформой x86 будет размещаться по пути Projects\MyProjectNameHere\MyProjectNameHere\bin\Debug\x86. Это может быть полезно при наличии собственных средств или сценариев, управляющих исполняемыми файлами сборки.

Сборка кода

Настроив среду сборки, можно приступить к фактической сборке проекта. Самый просто способ — нажать клавишу F7, однако вы также можете начать сборку, выбрав в главном меню Построение -> Построить решение.

Процесс сборки можно наблюдать в окне состояния Вывод в нижней части пользовательского интерфейса Visual Studio. Здесь отображаются ошибки, предупреждения и операции сборки. При наличии ошибок (или предупреждений выше заданного уровня) сборка завершится ошибкой. Можно щелкнуть ошибку и предупреждение, чтобы перейти к строке, где они возникли. Для перестроения проекта можно нажать клавишу F7 (чтобы перекомпилировать только файлы с ошибками) или Ctrl + Alt + F7 (для чистого полного перестроения).

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

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

Просмотр списка ошибок

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

Щелкните строку ошибки в окне Список ошибок и перейдите в строку кода, в которой возникла ошибка. (Номера строк также можно включить, щелкнув панель быстрого запуска в верхнем правом углу: введите «номера строк» в поле и нажмите клавишу ВВОД.) Это самый быстрый способ перейти в окно Параметры, где можно включить номера строк. Узнайте, как использовать панель быстрого запуска и избежать лишних действий в пользовательском интерфейсе.

Применение CTRL+G для быстрого перехода к номеру строки, в которой возникла ошибка.

Ошибку можно узнать по подчеркиванию красной волнистой линией. Чтобы получить дополнительные сведения, наведите на нее указатель мыши. Внесите исправления, и подчеркивание исчезнет, хотя в результате исправления может возникнуть новая ошибка (это называется «регрессия»).

Пройдите список ошибок и устраните все ошибки в коде.

Просмотр подробных сведений об ошибках

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

Внутри Visual Studio 2015 откроется вкладка, на которой будут отображаться результаты поиска Bing для кода ошибки и текста. Представленные результаты — из различных источников в Интернете, и, возможно, не все они будут полезными.

Кроме того, можно щелкнуть значение кода ошибки с гиперссылкой в столбце Код списка ошибок. Это приведет к запуску поиска Bing только по коду ошибки.

Выполнение статического анализа кода

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

Нажать Alt+F11 (или выберите Анализ -> Выполнить анализ кода в решении в верхнем меню) для запуска статического анализа кода. При наличии большого объема кода это может занять некоторое время.

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

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

Использование значка лампочки для исправления или рефакторинга кода

Лампочки — это новая функция Visual Studio 2015, позволяющая выполнить рефакторинг кода в окне решения. Это простой способ быстрого и эффективного устранения распространенных предупреждений. Для доступа к ним щелкните правой кнопкой мыши волнистую линию предупреждения или нажмите сочетание клавиш CTRL+. (указатель мыши должен быть наведен на волнистую линию), а затем выберите пункт меню Быстрые действия.

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

Лампочки можно использовать в любом случае, когда средство анализа кода определяет возможность исправления, рефакторинга или улучшения кода. Щелкните любую строку кода, вызовите контекстное меню и выберите Быстрые параметры (или, если вы предпочитаете эффективность, нажмите сочетание клавиш CTRL+.). Если для этой области есть доступные параметры рефакторинга или улучшения, они будут выведены на экран; в противном случае на панели в левом нижнем углу окна IDE будет выведено сообщение Быстрые параметры недоступны.

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

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

Отладка выполняемого кода

Успешно завершив построение кода и его очистку, запустите код, нажав клавишу F5 или выбрав Отладка -> Начать отладку. Приложение будет запущено в среде отладки, и вы сможете пронаблюдать его поведение. Среда IDE Visual Studio 2015 изменяется во время выполнения приложения: окно Вывод заменяется двумя новыми окнами (в конфигурации окна по умолчанию), окном с вкладками Видимые/Локальные/Модули/Контрольные значения и окном с вкладками Стеки вызовов/Точки останова/Параметры исключений/Вывод. Эти окна имеют несколько вкладок, которые позволяют просмотреть и проверить переменные, потоки, стеки вызовов приложения и другие характеристики поведения во время выполнения приложения.

Выполните разные действия с приложением и понаблюдайте за изменениями. Если приложение ведет себя ненормально, приостановите его с помощью сочетания клавиш Ctrl+Alt+Break (или нажмите кнопку Пауза).

Нажать F5 для продолжения выполнения приложения (или нажмите кнопку Продолжить).

Остановить приложение можно, нажав сочетание клавиш SHIFT+F5 или кнопку Остановить. Кроме того, можно просто закрыть главное окно приложения (или диалоговое окно командной строки).

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

Задание простых точек останова

Точки останова — это один из самых простых и важных компонентов надежной отладки. Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода. После установки или удаления точек останова перестраивать проект НЕ НУЖНО.

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

В момент прерывания кода отмеченная строка кода еще не выполнена. На этом этапе вы можете выполнить инструкции для строки кода, отмеченной точкой останова, и проверить измененные значения. Это называется «пошаговым выполнением» кода. Если отмеченный код является вызовом метода, вы можете выполнить его, нажав клавишу F11. Кроме того, можно «перешагнуть» через строку кода, нажав клавишу F10. Дополнительные сведения о действиях шагов точек останова см. в разделе Навигация по коду с помощью отладчика.

Чаще всего точки останова используются для решения следующих задач.

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

  2. При вводе нового кода установите точку останова в начале кода и пройдите по коду, чтобы убедиться, что он работает правильно.

  3. При реализации сложного поведения задайте точки останова для алгоритмического кода, чтобы можно было проверить значения переменных и данные при прерывании программы.

  4. При написании кода C или C++ используйте точки останова для остановки кода, чтобы можно было проверить значения адреса (ищите значение NULL) и просмотреть значения счетчиков при отладке ошибок, связанных с памятью.

Дополнительные сведения см. в разделе Использование точек останова.

Задание условных точек останова

При наличии точки останова в цикле или рекурсии или большого числа точек останова, которые вы часто будете просматривать пошагово, используйте условную точку останова, которая позволяет приостанавливать код ТОЛЬКО при выполнении определенных условий. В противном случае вы устанете нажимать клавишу F11.

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

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

Дополнительные сведения об объявлении выражений, используемых для оценки условных точек останова, см. в видеозаписи канала Channel9 Breakpoint Configuration Experience in Visual Studio 2015 (Настройка точек останова в Visual Studio 2015).

Проверка кода во время выполнения

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

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

Кроме того, Visual Studio 2015 выводит на экран окно средств диагностики, где можно наблюдать за загрузкой ЦП и использованием памяти приложением в динамике по времени. Их рекомендуется использовать в случае непредвиденно больших показателей загрузки ЦП или выделения памяти. Это окно можно использовать в сочетании с окном Контрольные значения и точками останова, чтобы определить причину непредвиденно интенсивного использования или неосвобожденных ресурсов.

Выполнение модульных тестов

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

Чтобы приступить к работе с модульными тестами, ознакомьтесь с разделом Создание модульных тестов для кода с помощью IntelliTest.

Дополнительные сведения о модульных тестах в Visual Studio 2015, а также о том, как они могут помочь в создании более качественного кода, см. в разделе Основные сведения о модульных тестах.

Отладка в Visual StudioПараметры отладки и подготовкаОтладка 64-разрядных приложенийОсновы отладки

msdn.microsoft.com

Get Started Developing with Visual Studio

Эта документация перемещена в архив и не поддерживается.

Visual Studio 2015

 

Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.

Вас приветствует Visual Studio! После того как вы скачаете продукт, сведения на этих страницах помогут вам начать работу по созданию кода.

  • Создание веб-приложений: средства для создания и развертывания современных веб-приложений.

    Сделать Учебник | Просматривать документы | Видео

  • Сделать кросс платформенные мобильные приложения на языке HTML/Javascript (Apache Cordova) : Apache Cordova — это среда кросс платформенной открытым исходным кодом, которая основана на HTML, CSS и Javascript. Код Javascript выполняется в оболочку, предназначенный для конкретной платформы и обеспечивает доступ к все возможности оборудования устройства. Разработка приложений для Apple Store, магазина Android и Магазина Windows.

    Загрузить образец | Сделать Учебник | Просматривать документы | Видео

  • Создание кроссплатформенных мобильных приложений на C# или Visual Basic (Xamarin) : начало работы с Visual Studio и средствами для Xamarin в целях создания мобильных приложений, работающих на Android, iOS и универсальной платформе Windows из базы общего кода.

    Загрузить пример:Tasky портативных (собственного пользовательского Интерфейса) или Xamarin Forms Todo образец (Xamarin.Forms общего пользовательского Интерфейса) | Сделать Учебник | Просматривать документы | Видео

  • Создание кроссплатформенных приложений и библиотек на C++ Перейдите сюда, чтобы начать создавать приложения и библиотеки C++, которые работают на Android, iOS и универсальной платформе Windows.

    Загрузить образец | Сделать Учебник | Просматривать документы | Видео

  • Создание игр с помощью DirectX : создание игр на универсальной платформе Windows с использованием DirectX.

    Загрузить образец | Сделать Учебник | Просматривать документы | Видео

  • Создание игр с помощью Unity : создание кроссплатформенных игр на платформе Unity.

    Загрузить образец | Сделать Учебник | Просматривать документы | Видео

  • Создание приложений на универсальной платформе Windows : создание приложений, которые работают на универсальной платформе Windows (XBox, ПК, планшетах, Windows Phone, Surface Hub и в "Интернете вещей").

    Загрузить образец | Сделать Учебник | Просматривать документы | Видео

  • Создание классических приложений : перейдите сюда, чтобы начать создавать классические приложения, работающие на ПК Windows.

    Загрузить образец | Сделать Учебник | Просматривать документы

  • Создание приложений Office : создание приложений Office, которые расширяют и настраивают Word, Excel, Outlook и PowerPoint с использованием служб Office 365.

    Загрузить образец | Сделать Учебник | Просматривать документы | Видео

  • Тур по Visual Studio Team Services и Team Foundation Server Дополнительные сведения о Visual Studio Team Services и Team Foundation Server.

msdn.microsoft.com

Советы по повышению продуктивности при работе в Visual Studio

 

Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.

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

В этом разделе содержатся следующие подразделы.

Доступ к инструментам Visual Studio

Создание кода

Перемещение по коду

Более быстрый поиск нужных элементов

Отладка кода

Управление файлами, панелями инструментов и окнами

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

  1. На начальном экране введите Инструменты Visual Studio и нажмите клавишу ВВОД.

  2. В проводнике откройте контекстное меню требуемого элемента.

    • Уведомления сборки

    • Диспетчер отлаживаемых пакетов

    • Командная строка разработчика для VS2013

    • Microsoft Feedback Client 2013

    • Командная строка VS2013 ARM Cross Tools

    • Командная строка VS2013 x64 Cross Tools

    • Командная строка VS2013 x64 Native Tools

    • Командная строка VS2013 x86 Native Tools

  3. Выберите Закрепить на начальном экране или Закрепить в панели задач.

Следующие функции позволяют быстрее разрабатывать код.

  • Использование примеров приложений. Разработку приложений можно ускорить, загрузив и установив примеры приложений из галереи кода MSDN. Кроме того, вы можете изучить ту или иную технологию или концепцию программирования, загрузив и изучив пакет примеров для этой области.

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

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

    Чтобы включить режим предложений, нажмите сочетание клавиш CTRL+ALT+ПРОБЕЛ или в строке меню выберите Правка, IntelliSense, Переключить режим завершения.

  • Использование фрагментов кода. Вы можете использовать встроенные фрагменты кода или создавать собственные фрагменты.

    Чтобы вставить фрагмент, в строке меню выберите Правка, IntelliSense, Вставить фрагмент или откройте контекстное меню в файле и выберите Вставить фрагмент. Подробнее см. в разделе Фрагменты кода.

  • Использование встроенных функций исправления ошибок в коде. Смарт-теги отображаются в виде синих или красных прямоугольников под строкой кода. Можно изменить параметры отображения смарт-тега, выбрав один из прямоугольников или поместив курсор в строку кода и нажав сочетание клавиш CTRL+. (точка).

    Синие прямоугольники предлагают варианты исправления ошибок в коде.

    Рисунок 1. Смарт-теги ошибок

    Красные прямоугольники предлагают варианты рефакторинга кода.

    Рисунок 2. Смарт-теги рефакторинга

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

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

Существует множество способов быстрого поиска нужных мест в коде и перехода к этим местам.

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

    Чтобы установить закладку, в строке меню выберите Правка, Закладки, Закладка. Все закладки в решении можно просматривать в окне Закладки. Дополнительные сведения см. в разделе Установка закладок в коде.

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

    Для доступа к этой функции в строке меню выберите Правка, Перейти к.

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

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

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

  • Отображение только тех ошибок, которые необходимо устранить. При нажатии кнопки Фильтр на панели инструментов Список ошибок можно уменьшить количество ошибок, отображаемых в окне Список ошибок. Можно отображать только ошибки в файлах, открытых в редакторе, только ошибки в текущем файле или только ошибки в текущем проекте. Кроме того, можно выполнять поиск в окне "Список ошибок", чтобы находить конкретные ошибки.

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

    Рисунок 3. Список результатов быстрого запуска для запроса создать проект

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

Отладка может занимать немало времени, но следующие советы помогут ускорить процесс.

  • Тестирование одних и тех же страниц, приложений и сайтов в различных браузерах. В процессе отладки кода можно легко переключаться между установленными веб-браузерами, включая Page Inspector (Visual Studio), без необходимости открытия диалогового окна Просмотр с помощью. С помощью списка Цель отладки, расположенного на панели инструментов Стандартная рядом с кнопкой Начать отладку, чтобы быстро узнать, какой именно браузер используется для отладки и просмотра страниц.

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

    Для использования этой функции нажмите сочетание клавиш CTRL+F10 или откройте контекстное меню строки кода, на которой требуется прервать выполнение, и выберите команду Выполнить до текущей позиции.

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

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

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

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

  • Очистка окна интерпретации. Содержимое Окно интерпретации можно очистить во время разработки, введя >cls или >Edit.ClearAll.

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

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

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

    Чтобы закрепить файл, выберите вкладку файла, а затем нажмите кнопку Закрепить/открепить.

  • Переместите документы и окна на другие мониторы. Если при разработке приложения используется несколько мониторов, можно более эффективно работать над отдельными частями приложения, перемещая открытые в редакторе файлы на другой монитор. Можно также перемещать окна инструментов, например окна отладчика, на другой монитор и закреплять окна документов вместе с окнами инструментов с помощью вкладок для создания блоков. Дополнительные сведения см. в разделе Практическое руководство. Размещение и закрепление окон.

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

  • Настройка шрифтов, отображаемых в Visual Studio. Вы можете изменять начертания, размеры и цвета шрифтов, используемых для текста в интегрированной среде разработки. Например, можно задать цвета определенных элементов кода в редакторе и начертание шрифта в отдельных окнах инструментов или во всей интегрированной среде разработки. Дополнительные сведения см. в разделе Практическое руководство. Изменение шрифтов и цветов и Практическое руководство. Изменение шрифтов и цветов в редакторе.

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

msdn.microsoft.com

Работа нескольких команд в Microsoft Team Foundation Server 2012 и Visual Studio Scrum 2.0

Введение в Team Foundation Server 2012 и Scrum 2.0

Последняя версия шаблона процесса Scrum и решение Team Foundation Server 2012 предоставили пользователям множество новых функций и возможность работать эффективнее. Большая часть задач по взаимодействию и администрированию в рамках командных проектов выполняется в веб-интерфейсе. Командный обозреватель (Team Explorer) практически не используется.

В представлении Product Backlog (Журнал невыполненных работ) команды могут детализировать журнал невыполненных работ, быстро добавляя описания функциональности и изменяя их приоритет простым перетаскиванием вверх или вниз по списку. Функция прогнозирования наглядно демонстрирует успехи команды в спринтах и показывает завершение невыполненных работ, которое происходит в заданном для команды темпе. На должном уровне поддерживается планирование спринтов. Команда просто перетаскивает описания функциональности в новый спринт и добавляет задачи. После этого выводится автоматическое подтверждение, что команда берется за выполнение поставленных задач в соответствии со своими возможностями.

Представление Board (Доска задач) –– это интерактивная виртуальная панель со строками состояний; члены команды могут четко видеть, кто над чем работает и как продвигается выполнение спринта. На доске задач можно выводить задачи каждого участника команды, чтобы упростить проведение совещаний Scrum и управление личной производительностью. Использование доски не вызывает никаких трудностей. Это представление служит для изменения состояний задач, часов и назначений и автоматически сохраняется в фоновом режиме.

Как осуществляется поддержка нескольких команд

Все эти новые функциональные возможности легко реализуются в случае, если в рамках одного проекта работает одна команда. Однако часто бывает так, что невыполненную работу по продукту в рамках одного командного проекта выполняют несколько групп. В качестве примера приведем ситуацию, когда нескольких команд совместно работают над созданием продукта или системы электронной коммерции. Конечно, можно настроить командный проект на основе шаблона Scrum V2.0 для поддержки нескольких групп, однако алгоритм действия представлений Board и Product Backlog требует задания нескольких предположений и нуждается в некоторой доработке.

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

  • Путь области больше недоступен для применения тем или категорий журнала невыполненных работ. И это основное препятствие для тех, кто пытается разобраться в содержимом больших журналов невыполненных работ.
  • Фильтрация по пути области является бистабильной и использует один из вариантов.
    • Команда видит весь журнал невыполненной работы по продукту, однако представление Product Backlog для спринта не используется, поскольку невозможно отфильтровать элементы журнала другой команды.
    • Команда не видит весь журнал невыполненной работы по продукту (отображается только часть, ограниченная определенной областью), но для решения задач подходит журнал невыполненных работ по спринту. Кажется, этот вариант и является предпочтительным!
  • Отсутствие полного обзора журнала невыполненных работ по продукту снижает эффективность принятия архитектурных решений и возможности совместной работы с другими командами над общим журналом невыполненных работ.
  • Функция прогнозирования в представлении Product Backlog остается неэффективной до тех пор, пока не будет применена ко всему журналу, а не только к подмножествам команды, отфильтрованным по пути области.
  • Команды не могут вводить требования в свои спринты, пока элементы журнала невыполненных работ не будут перемещены в путь области команды кем-то другим.
  • Упомянутые выше проблемы приводят к тому, что элементы командам назначаются заранее, а это означает неоптимальное планирование и использование описаний функциональности.
  • Одну из команд следует назначить командой по умолчанию, она наследует установку пути области от конфигурации командного проекта и не отображается в списках навигации как команда с названием.
  • Новые элементы журнала невыполненной работы наследуют свой путь области от параметра пути команды по умолчанию, поэтому команды, не являющиеся заданными по умолчанию, не видят эти элементы.
  • Даты начала и окончания спринта являются общими для всех команд. Это распространенная практика, однако для команд, работающих в разных странах, зачастую не совпадают праздничные дни и требуется корректировка дат спринта.
  • Настраиваемое поле можно использовать как командное, однако для него, помимо высвобождения пути области, существуют те же проблемы, которые рассматривались выше.
  • Реализация настраиваемого поля сопряжена с серьезными трудностями: имеются проблемы в процедурах проверки, элементы из журнала невыполненных работ могут исчезнуть, если будут неправильно написаны названия команд в рабочих элементах.

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

Конфигурация нескольких групп – шаблон пути области

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

Установка

В этом примере будут задействованы две команды: Team A и Team B, совместно работающие над одними и теми же незавершенными задачами по продукту в рамках общего командного проекта Scrum03.

Я создал три команды: две команды Scrum и третью команду Über Team; эта «команда команд» является командой по умолчанию (обратите внимание, что название команды выделено жирным шрифтом на снимке экрана ниже).

Über Team –– ведущая группа по решению многих упомянутых ранее проблем. Она обеспечивает другим командам прозрачность всего журнала невыполненных работ, чтобы они могли осуществлять действия по детализации невыполненных задач по продукту и совместное планирование. Участники обеих команд также входят в команду Über Team, поэтому могут использовать представление журнала невыполненных работ команды Über Team. В качестве контейнеров безопасности для трех команд использовались группы Windows, поэтому в представлении выше отображается только один участник для каждой команды.

Конфигурация пути области для команды Über Team должна быть задана как корневая, с входящими в нее подобластями. Это необходимо для отображения всего журнала невыполненных работ независимо от того, назначены ли элeмeнты конкретной команде.

Две команды Scrum получают отфильтрованные представления с помощью своего параметра пути области, поэтому в представлениях Product Backlog и Board отображаются только элементы журнала и задачи, переданные каждой команде. Параметр пути области для каждой команды должен быть настроен с определенным значением пути команды.

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

Принципы работы

На следующем снимке экрана показано представление Product Backlog c точки зрения команды Über Team; в нем отображается вся невыполненная работа по продукту. Обратите внимание: функция прогнозирования включена, что позволяет следить за ходом работы объединенных команд от спринта к спринту.

 

Команды могут совместно выбирать описания функциональности для использования в будущем спринте, а также способ их разделения между командами, своевременно вводить эти описания в собрание, посвященное планированию спринта каждой команды. Им потребуется задать каждое описание функциональности, используемой в следующем спринте, в конкретном пути области, чтобы оно появилось в представлениях Product Backlog и Board. Пока эта задача не будет выполнена, представления будут пустыми! Обратите внимание на перемещение PB06 в новый путь итерации спринта и путь области команды.

Чтобы ввести элемент журнала невыполненных работ в спринт 1, просто перетащите его туда. Этот элемент необходимо отредактировать для выбора команды, которая примет элемент журнала невыполненных работ в планирование спринта.

Закончив работу в представлении объединенной команды Über Team и выбрав элементы журнала невыполненных работ для планирования, команды могут переключиться в свои представления. Здесь находятся их собственные элементы журнала, к которым они могут добавлять задачи. Переключение между различными представлениями показано на фрагменте снимка экрана справа. Интересующие нас команды я выделил красными рамками. Посмотрите: у команды Über Team на самом деле нет названия, поскольку она является командой по умолчанию и проходит под именем командного проекта Scrum03. В этом примере происходит переключение из представления команды Über Team в представление команды Team A.

В представлении Product Backlog мы указали новый спринт, и здесь должны появиться выбранные элементы журнала. Если элементы не отображаются, возможно, указан неверный путь области или выбран неправильный спринт. На снимке экрана ниже обратите внимание на кнопку «+» слева от каждого элемента журнала невыполненных работ; она используется для добавления задач в процессе планирования спринта.

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

 

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

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

 

Конфигурация нескольких команд - шаблон пути итерации

Попробуйте применить этот шаблон, если ваша команда использует путь области в качестве средства применения тем и классификации журнала невыполненных работ по продукту или если команде требуются различные даты спринтов. Этот подход использует дополнительный уровень в пути итерации и позволяет получить целостное представление журнала невыполненных работ по продукту. Команды получают возможность просматривать только собственные элементы на уровне спринта. В этом примере снова присутствует команда Über Team, однако ее роль скромна: она лишь поддерживает комбинированное представление для прогнозирования общего журнала невыполненной работы.

Тем не менее этот подход связан с определенной проблемой — стандартный график шаблона, показывающий оставшийся объем работы, не может обрабатывать дополнительный уровень в пути итерации. Простой способ отображения оставшегося объема работы –– использование функции создания отчетов Excel. Пример приведен в конце статьи. Компания RippleRock работает над альтернативным графиком, который будет реализован с помощью данного подхода. Этот график станет применяться ежедневно, а не от спринта к спринту. Мы надеемся, что вскоре этот отчет будет доступен для установок TFS по запросу…

Установка

Как и в предыдущем примере, у нас есть две команды: Team А и Dilberts, совместно работающие с одним журналом невыполненных работ по продукту в рамках одного командного проекта (ScrumDemo 01). Кроме двух команд Scrum, имеется онлайн-команда (аналогичная команде Über Team в первом примере) –– «команда команд».

Основные отличия этого подхода заключаются в конфигурации пути области и пути итерации, как показано ниже.

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

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

Обратите внимание, что выбираемый путь области можно настроить таким образом, что подобласти войдут в состав родительской области и команда получит доступ ко всем дочерним элементам. Эта возможность недоступна для пути итерации.

Путь итерации имеет дополнительный уровень для спринтов команды в каждом стандартном узле спринта.

Команды могут выбирать индивидуальные даты начала и окончания спринта и получать отфильтрованные данные, чтобы заполнять представление Product Backlog и Board.

По умолчанию новые элементы журнала невыполненных работ по продукту создаются в узле, заданном по умолчанию в качестве итерации журнала невыполненных работ для команды (или команды Über Team в наших моделях).

Чтобы ограничить элементы журнала невыполненных работ для выпуска, просто переместите их в узел пути итерации выпуска, в этом примере — Online MVP.

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

Здесь мы видим, что представление «команды команд» настроено для просмотра только родительских спринтов, а не отдельных спринтов команды. Это важно, поскольку позволяет эффективно комбинировать прогнозы команд в общем журнале невыполненных работ из представления журнала «команды команд».

Принципы работы

На следующем снимке экрана показано представление Product Backlog с точки зрения объединенной «команды команд»; в нем отображается вся невыполненная работа по продукту. Функция прогнозирования показывает предполагаемое продвижение объединенных команд от спринта к спринту на основе родительских узлов спринта, а не отдельных спринтов команды. 

 

В конкретном представлении журнала Product Backlog команды мы видим не только спринты для этой команды, но и все содержимое журнала. На следующем снимке экрана команда перетаскивает элемент журнала Product Backlog в спринт для планирования.

Другая команда также видит весь журнал невыполненных работ, включая элементы, запланированные командой Team A. Это понятно из пути итерации: он указывает принадлежность элементов командам.  При планировании и выполнении задач из журнала незавершенных работ команды могут в значительной степени придерживаться собственного представления и им действительно не нужно постоянно переключаться на представление «команды команд», как мы это делали с помощью шаблона пути области.

Как видно из представления планирования команды Team A, все новые возможности и компоненты журнала невыполненных работ и доски задач функционируют так, как было запланировано корпорацией Майкрософт.

 

Единственная проблема заключается в том, что отчет об оставшемся объеме работ не справляется со спринтами команд. Мы постоянно будем работать над доступностью отчета об оставшемся объеме работ. Однако с помощью функции построения отчетов Excel в TFS ​​можно просто и быстро создать отчет, аналогичный представленному ниже.

msdn.microsoft.com


Смотрите также