Выберите допустимый элемент запуска Visual Studio
Обновлено: 21.11.2024
Чтобы задать параметры отладчика Visual Studio, выберите Инструменты > Параметры и в разделе Отладка установите или снимите флажки рядом с параметрами Общие. Вы можете восстановить все настройки по умолчанию, выбрав Инструменты > Настройки импорта и экспорта > Сбросить все настройки. Чтобы сбросить часть настроек, сохраните их с помощью мастера импорта и экспорта настроек, прежде чем вносить изменения, которые вы хотите протестировать, а затем импортируйте сохраненные настройки.
Вы можете установить следующие общие параметры:
Спрашивать перед удалением всех точек останова: требуется подтверждение перед выполнением команды "Удалить все точки останова".
Разрывать все процессы при сбое одного процесса. Одновременно прерывает все процессы, к которым подключен отладчик, при сбое.
Перерыв, когда исключения пересекают границы AppDomain или управляемые/собственные границы. При отладке в управляемом или смешанном режиме общеязыковая среда выполнения может перехватывать исключения, которые выходят за границы домена приложения или управляемые/собственные границы, если выполняются следующие условия:
Когда собственный код вызывает управляемый код с помощью COM-взаимодействия, а управляемый код создает исключение. См. Введение в COM-взаимодействие.
Когда управляемый код, работающий в домене приложения 1, вызывает управляемый код в домене приложения 2, а код в домене приложения 2 создает исключение. См. Программирование с доменами приложений.
Когда код вызывает функцию с помощью отражения, и эта функция выдает исключение. См. Отражение.
В условиях 2 и 3 исключение иногда перехватывается управляемым кодом в mscorlib, а не общеязыковой средой выполнения. Этот параметр не влияет на прерывание работы с исключениями, перехваченными mscorlib .
Включить отладку на уровне адресов. Включает расширенные функции отладки на уровне адресов (окно дизассемблирования, окно регистров и точки останова по адресу).
- Показать дизассемблирование, если исходный код недоступен: автоматически показывает окно дизассемблирования при отладке кода, для которого исходный код недоступен.
Включить фильтры точек останова: позволяет установить фильтры для точек останова, чтобы они влияли только на определенные процессы, потоки или компьютеры.
Использовать новый помощник по исключениям: включает помощник по исключениям, который заменяет помощника по исключениям. (Помощник по исключениям поддерживается, начиная с Visual Studio 2017)
Для управляемого кода этот параметр ранее назывался Включить помощник по исключениям .
Включить только мой код. Отладчик отображает и выполняет только пользовательский код ("Мой код"), игнорируя системный код и другой код, оптимизированный или не содержащий символов отладки.
- Предупреждать, если при запуске отсутствует пользовательский код (только для управляемых устройств). Когда отладка начинается с включенным параметром "Только мой код", этот параметр выдает предупреждение при отсутствии пользовательского кода ("Мой код").
Перешагнуть через свойства и операторы (только управляемый): предотвращает переход отладчика к свойствам и операторам в управляемом коде.
Включить оценку свойств и другие неявные вызовы функций. Включает автоматическую оценку свойств и неявных вызовов функций в окнах переменных и диалоговом окне QuickWatch.
Включить поддержку исходного сервера. Указывает отладчику Visual Studio получать исходные файлы с исходных серверов, которые реализуют протокол SrcSrv ( srcsrv.dll ). Team Foundation Server и средства отладки для Windows — это два исходных сервера, которые реализуют протокол. Дополнительные сведения о настройке SrcSrv см. в документации по SrcSrv. Кроме того, см. Указание символа (.pdb) и исходных файлов.
Поскольку чтение файлов .pdb может привести к выполнению произвольного кода в файлах, убедитесь, что вы доверяете серверу.
Печатать диагностические сообщения исходного сервера в окно вывода: если включена поддержка исходного сервера, этот параметр включает отображение диагностики.
Разрешить исходный сервер для сборок с частичным доверием (только в управляемом режиме). Если включена поддержка исходного сервера, этот параметр переопределяет поведение по умолчанию, заключающееся в том, что источники для сборок с частичным доверием не извлекаются.
Всегда запускать команды ненадежного исходного сервера без запроса: если включена поддержка исходного сервера, этот параметр переопределяет поведение запроса по умолчанию при выполнении ненадежной команды.
Включить поддержку исходной ссылки: указывает отладчику Visual Studio загружать исходные файлы для файлов .pdb, которые содержат информацию исходной ссылки. Дополнительные сведения о ссылке на источник см. в спецификации ссылки на источник.
- Возврат к проверке подлинности Git Credential Manager для всех запросов на исходную ссылку. Если включена поддержка исходной ссылки и запрос на исходную ссылку не проходит аутентификацию, Visual Studio затем вызывает Git Credential Manager.
Выделить всю строку исходного кода для точек останова и текущего оператора (только C++). Когда отладчик выделяет точку останова или текущий оператор, он выделяет всю строку.
Требовать, чтобы исходные файлы точно совпадали с исходной версией. Указывает отладчику проверить, соответствует ли исходный файл версии исходного кода, используемой для создания отлаживаемого исполняемого файла. Если версия не совпадает, вам будет предложено найти соответствующий источник. Если соответствующий источник не найден, исходный код не будет отображаться во время отладки.
Перенаправить весь текст окна вывода в окно интерпретации: все сообщения отладчика, которые обычно появляются в окне вывода, вместо этого отправляются в окно интерпретации.
Показывать необработанную структуру объектов в окнах переменных: отключает все настройки представления структуры объектов. Дополнительные сведения о настройке представлений см. в разделе Создание настраиваемых представлений управляемых объектов.
Подавлять JIT-оптимизацию при загрузке модуля (только управляемый): отключает JIT-оптимизацию управляемого кода, когда модуль загружается и JIT-компилируется при подключенном отладчике. Отключение оптимизации может упростить отладку некоторых проблем, хотя и за счет снижения производительности. Если вы используете Just My Code, подавление JIT-оптимизации может привести к тому, что непользовательский код будет отображаться как пользовательский («Мой код»). Дополнительные сведения см. в разделе JIT-оптимизация и отладка.
Включить использование многоцелевого отладчика JavaScript для отладки JavaScript в соответствующих целях (требуется перезапуск отладки). Включает одновременное подключение к браузеру и серверной части, что позволяет отлаживать код, работающий на клиенте и сервере, прямо из редактора.
Загрузить экспорт dll (только собственный): загружает таблицы экспорта dll. Информация о символах из таблиц экспорта dll может быть полезна, если вы работаете с сообщениями Windows, процедурами Windows (WindowProcs), COM-объектами или маршалингом или любой dll, для которой у вас нет символов. Чтение информации об экспорте dll связано с некоторыми накладными расходами. Поэтому по умолчанию эта возможность отключена.
Чтобы узнать, какие символы доступны в таблице экспорта dll, используйте dumpbin /exports . Символы доступны для любой 32-битной системной dll. Читая вывод dumpbin /exports, вы можете увидеть точное имя функции, включая не буквенно-цифровые символы. Это полезно для установки точки останова в функции. Имена функций из таблиц экспорта dll могут быть усечены в другом месте отладчика. Вызовы перечислены в порядке вызова, при этом текущая функция (наиболее глубоко вложенная) находится вверху. Дополнительные сведения см. в разделе dumpbin/exports.
Показать диаграмму параллельных стеков снизу вверх: управляет направлением, в котором стеки отображаются в окне "Параллельные стеки".
Игнорировать исключения доступа к памяти графического процессора, если записанные данные не изменили значение: Игнорируются условия гонки, обнаруженные во время отладки, если данные не изменились. Дополнительные сведения см. в разделе Отладка кода графического процессора.
Использовать управляемый режим совместимости: механизм отладки по умолчанию заменяется устаревшей версией, чтобы включить следующие сценарии:
Вы хотите включить функцию "Изменить и продолжить" для проектов C++ во время отладки в смешанном режиме.
Выбор режима управляемой совместимости отключает некоторые функции, реализованные только в механизме отладки по умолчанию. Устаревший механизм отладки был заменен в Visual Studio 2012.
Предупреждать при использовании настраиваемых визуализаторов отладчика для потенциально небезопасных процессов (только управляемые): Visual Studio предупреждает вас, когда вы используете настраиваемый визуализатор отладчика, выполняющий код в отлаживаемом процессе, поскольку он может выполнять небезопасный код.
Включить распределитель кучи отладки Windows (только собственный): включает отладочную кучу Windows для улучшения диагностики кучи. Включение этого параметра повлияет на производительность отладки.
Включить средства отладки пользовательского интерфейса для XAML. Когда вы начнете отладку (F5) поддерживаемого типа проекта, отобразятся живое визуальное дерево и окна Live Property Explore. Дополнительные сведения см. в разделе Проверка свойств XAML во время отладки.
Предварительный просмотр выбранных элементов в живом визуальном дереве: элемент XAML, контекст которого выбран, также выбирается в окне динамического визуального дерева.
Показать инструменты среды выполнения в приложении: отображает команды динамического визуального дерева на панели инструментов в главном окне отлаживаемого приложения XAML. Этот параметр был представлен в Visual Studio 2015 с обновлением 2.
Включить горячую перезагрузку XAML: позволяет использовать функцию горячей перезагрузки XAML с кодом XAML во время работы приложения. (Эта функция ранее называлась "Редактировать и продолжить XAML")
Включить только мой XAML. Начиная с Visual Studio 2019 версии 16.4, живое визуальное дерево по умолчанию показывает только XAML, который классифицируется как пользовательский код. Если вы отключите этот параметр, весь сгенерированный код XAML будет отображаться в инструменте.
Отключение режима выбора при выборе элемента Начиная с Visual Studio 2019 версии 16.4, кнопка выбора элемента на панели инструментов в приложении (Включить выбор) отключается при выборе элемента. Если вы отключите этот параметр, выбор элементов останется активным до тех пор, пока вы снова не нажмете кнопку на панели инструментов в приложении.
Применить горячую перезагрузку XAML при сохранении документа Начиная с Visual Studio 2019 версии 16.6, при сохранении документа применяется горячая перезагрузка XAML.
Включить средства диагностики во время отладки. Во время отладки отображается окно средств диагностики.
Показать истекшее время PerfTip во время отладки: в окне кода отображается истекшее время вызова данного метода при отладке.
Включить редактирование и продолжение: включает функцию редактирования и продолжения во время отладки.
Включить встроенное редактирование и продолжение. Вы можете использовать функцию редактирования и продолжения при отладке собственного кода C++. Дополнительные сведения см. в разделе Редактировать и продолжить (C++).
Применить изменения при продолжении (только для Native): Visual Studio автоматически компилирует и применяет любые незавершенные изменения кода, внесенные вами при продолжении процесса из состояния останова. Если этот флажок не установлен, вы можете применить изменения с помощью пункта «Применить изменения кода» в меню «Отладка».
Предупреждать об устаревшем коде (только для нативных приложений): получать предупреждения об устаревшем коде.
Показывать кнопку Run to Click в редакторе во время отладки: если выбран этот параметр, кнопка Run to Click будет отображаться во время отладки.
Автоматически закрывать консоль при остановке отладки: указывает Visual Studio закрыть консоль в конце сеанса отладки.
Включить быстрое вычисление выражений (только управляемое): позволяет отладчику попытаться ускорить вычисление, имитируя выполнение простых свойств и методов.
Загрузить символы отладки во внешний процесс (только собственный) Включает эту оптимизацию памяти во время отладки.
Перевести Visual Studio на передний план при прерывании отладчика Переключает Visual Studio на передний план, когда вы приостанавливаете работу отладчика.
Параметры, доступные в более ранних версиях Visual Studio
Если вы используете более старую версию Visual Studio, могут присутствовать некоторые дополнительные параметры.
Включить инструменты разработчика Edge для приложений JavaScript UWP (экспериментальная версия): включает инструменты разработчика для приложений JavaScript UWP в Microsoft Edge.
Включить помощник по исключению. Для управляемого кода включает помощник по исключению. Начиная с Visual Studio 2017, помощник по исключениям заменил помощника по исключениям.
Откатывать стек вызовов при необработанных исключениях: заставляет окно стека вызовов откатывать стек вызовов до точки, предшествующей возникновению необработанного исключения.
Использовать экспериментальный способ запуска отладки JavaScript Chrome при запуске Visual Studio от имени администратора. Visual Studio предлагает попробовать новый способ запуска Chrome во время отладки JavaScript.
Предупреждать, если нет символов при запуске (только встроенный): отображает диалоговое окно с предупреждением при отладке программы, для которой у отладчика нет информации о символах.
Предупреждать, если отладка скриптов отключена при запуске: отображает диалоговое окно с предупреждением, когда отладчик запускается с отключенной отладкой скриптов.
Использовать собственный режим совместимости. Если выбран этот параметр, отладчик использует собственный отладчик Visual Studio 2010 вместо нового собственного отладчика.
Вы можете открывать код практически из любого типа проекта на основе каталога в Visual Studio без необходимости в решении или файле проекта. Это означает, что вы можете, например, клонировать репозиторий на GitHub, открыть его непосредственно в Visual Studio и начать разработку без необходимости создавать решение или проект. При необходимости вы можете указать собственные задачи сборки и параметры запуска с помощью простых файлов JSON.
После того как вы откроете файлы кода в Visual Studio, обозреватель решений отобразит все файлы в папке. Вы можете нажать на любой файл, чтобы начать его редактирование. В фоновом режиме Visual Studio начинает индексировать файлы, чтобы включить функции IntelliSense, навигации и рефакторинга. Когда вы редактируете, создаете, перемещаете или удаляете файлы, Visual Studio автоматически отслеживает изменения и постоянно обновляет свой индекс IntelliSense. Код отображается с раскрашиванием синтаксиса и во многих случаях включает базовое завершение операторов IntelliSense.
Открыть любой код
Вы можете открыть код в Visual Studio следующими способами:
В строке меню Visual Studio выберите «Файл» > «Открыть» > «Папка», а затем перейдите к расположению кода.
В контекстном меню (щелкните правой кнопкой мыши) папки, содержащей код, выберите команду "Открыть в Visual Studio".
Выберите ссылку «Открыть папку» на стартовой странице Visual Studio.
Не весь код можно открыть с помощью ссылки "Открыть папку" на стартовой странице Visual Studio. Например, если ваш файл кода был сохранен как часть решения, другими словами, в файле .sln, вы должны использовать один из других перечисленных здесь вариантов, чтобы открыть свой код.
Выберите ссылку «Открыть папку» в начальном окне.
Не весь код можно открыть с помощью ссылки "Открыть папку" в начальном окне Visual Studio. Например, если ваш файл кода был сохранен как часть решения, другими словами, в файле .sln, вы должны использовать один из других перечисленных здесь вариантов, чтобы открыть свой код.
Если вы пользуетесь клавиатурой, нажмите Ctrl+Shift+Alt+O в Visual Studio.
Откройте код из клонированного репозитория GitHub.
Чтобы открыть код из клонированного репозитория GitHub
В следующем примере показано, как клонировать репозиторий GitHub, а затем открыть его код в Visual Studio. Чтобы выполнить эту процедуру, в вашей системе должна быть установлена учетная запись GitHub и Git для Windows. Дополнительные сведения см. в разделе Регистрация новой учетной записи GitHub и Git для Windows.
Перейдите к репозиторию, который вы хотите клонировать, на GitHub.
Нажмите кнопку «Клонировать» или «Загрузить», а затем нажмите кнопку «Копировать в буфер обмена» в раскрывающемся меню, чтобы скопировать защищенный URL-адрес репозитория GitHub.
В Visual Studio выберите вкладку Team Explorer, чтобы открыть Team Explorer. Если вы не видите вкладку, откройте ее, выбрав Вид > Team Explorer.
В Team Explorer в разделе «Локальные репозитории Git» выберите команду «Клонировать», а затем вставьте URL-адрес страницы GitHub в текстовое поле.
Нажмите кнопку «Клонировать», чтобы клонировать файлы проекта в локальный репозиторий Git. В зависимости от размера репозитория этот процесс может занять несколько минут.
После того как репозиторий будет клонирован в вашу систему, в Team Explorer выберите команду «Открыть» в контекстном меню (щелкните правой кнопкой мыши) вновь клонированного репозитория.
Выберите команду «Показать представление папки», чтобы просмотреть файлы в обозревателе решений.
Теперь вы можете просматривать папки и файлы в клонированном репозитории, а также просматривать и искать код в редакторе кода Visual Studio, дополненном раскрашиванием синтаксиса и другими функциями.
Запуск и отладка кода
Вы можете отлаживать свой код в Visual Studio без проекта или решения! Для отладки некоторых языков может потребоваться указать допустимый файл запуска в кодовой базе, например скрипт, исполняемый файл или проект. В раскрывающемся списке рядом с кнопкой «Пуск» на панели инструментов перечислены все элементы автозагрузки, обнаруженные Visual Studio, а также элементы, специально назначенные вами. Visual Studio сначала запускает этот код при отладке кода.
Настройка кода для запуска в Visual Studio зависит от типа кода и инструментов сборки.
Кодовые базы, использующие MSBuild
Кодовые базы на основе MSBuild могут иметь несколько конфигураций сборки, которые отображаются в раскрывающемся списке кнопки "Пуск". Выберите файл, который вы хотите использовать в качестве элемента запуска, а затем нажмите кнопку «Пуск», чтобы начать отладку.
Кодовые базы, в которых используются специальные инструменты сборки
Если в вашей кодовой базе используются настраиваемые инструменты сборки, вы должны указать Visual Studio, как собирать код с помощью задач сборки, определенных в файле .json. Дополнительные сведения см. в разделе Настройка задач сборки и отладки.
Базы кода, содержащие код Python или JavaScript
Если ваша кодовая база содержит код Python или JavaScript, вам не нужно настраивать файлы .json, но вам нужно установить соответствующую рабочую нагрузку. Вы также должны настроить сценарий запуска:
Установите рабочую нагрузку разработки Node.js или Python, выбрав «Инструменты» > «Получить инструменты и функции» или закрыв Visual Studio и запустив установщик Visual Studio.
В обозревателе решений щелкните правой кнопкой мыши или в контекстном меню файла JavaScript или Python выберите команду «Установить как элемент автозагрузки».
Нажмите кнопку "Пуск", чтобы начать отладку.
Кодовые базы, содержащие код C++
Сведения об открытии кода C++ без решений или проектов в Visual Studio см. в разделе Открытие проектов папки для C++.
Базы кода, содержащие проект Visual Studio
Если ваша папка с кодом содержит проект Visual Studio, вы можете назначить этот проект в качестве элемента запуска.
Текст кнопки "Пуск" изменится, чтобы отразить, что проект является элементом автозагрузки.
Этот форум перенесен в раздел вопросов и ответов Майкрософт. Посетите Microsoft Q&A, чтобы публиковать новые вопросы.
Отвечает:
Вопрос
Я пытался следовать этому руководству по началу работы с C++ в Visual Studio, CMake и WSL. Я застрял при попытке начать отладку, потому что по какой-то причине эта возможность для меня отключена. Я также не знаю, в какой части окна находится «панель запуска».
Любая помощь будет оценена по достоинству. Заранее спасибо.
Ответы
Да, изменение имени моего текущего проекта в раскрывающемся списке запуска помогло. В конце концов, это была проблема. Спасибо.
Все ответы
Спасибо за публикацию здесь.
>>Я застрял при попытке начать отладку, потому что эта возможность по какой-то причине отключена для меня. Я также не знаю, в какой части окна находится «панель запуска».
Какая у вас версия VS2019? Я предлагаю вам лучше использовать последнюю версию (VS2019 Preview Version 16.2.0 Preview 1.0), кажется, что есть еще некоторые вопросы с VS2019 Version 16.1 Preview 3, как я тестировал, последняя работает нормально:
Когда я пытаюсь воспроизвести вашу проблему. Я встречаю несколько вопросов:
1. Я не могу установить g++ с помощью команды:
всегда получаю ошибку 404 Not find, установка невозможна,
и проект CMake VS2019 выглядят так:
при сборке проекта вы получите следующую ошибку:
[CMake] -- Идентификация компилятора C неизвестна
[CMake] -- Идентификация компилятора CXX неизвестна
Решение заключается в использовании следующей команды:
решение, выберите название проекта, а не текущий документ (в первый раз):
Если у вас остались вопросы, не могли бы вы предоставить нам более подробную информацию.
В этом руководстве вы настроите Visual Studio Code для использования компилятора и отладчика Microsoft Visual C++ в Windows.
После настройки VS Code вы скомпилируете и отладите простую программу Hello World в VS Code. В этом учебнике не рассказывается подробно о наборе инструментов Microsoft C++ или языке C++. По этим темам в Интернете доступно множество хороших ресурсов.
Если у вас возникнут какие-либо проблемы, не стесняйтесь сообщить о проблеме для этого руководства в репозитории документации VS Code.
Предпосылки
Чтобы успешно завершить это руководство, необходимо сделать следующее:
Установите расширение C/C++ для VS Code. Вы можете установить расширение C/C++, выполнив поиск «c++» в представлении «Расширения» ( ⇧⌘X (Windows, Linux Ctrl+Shift+X )).
Установите набор инструментов компилятора Microsoft Visual C++ (MSVC).
Если у вас установлена последняя версия Visual Studio, откройте установщик Visual Studio из меню "Пуск" Windows и убедитесь, что рабочая нагрузка C++ проверена. Если он не установлен, установите флажок и нажмите кнопку «Изменить» в программе установки.
Вы также можете установить рабочую нагрузку "Разработка рабочего стола на C++" без полной установки интегрированной среды разработки Visual Studio. На странице загрузок Visual Studio прокрутите вниз, пока не увидите Инструменты для Visual Studio 2022 в разделе Все загрузки, и выберите загрузку для инструментов сборки для Visual Studio 2022.
При этом будет запущен установщик Visual Studio, который откроет диалоговое окно с доступными рабочими нагрузками Visual Studio Build Tools. Проверьте рабочую нагрузку "Разработка рабочего стола с помощью C++" и выберите "Установить".
Примечание. Вы можете использовать набор инструментов C++ из Visual Studio Build Tools вместе с Visual Studio Code для компиляции, сборки и проверки любой кодовой базы C++, если у вас также есть действующая лицензия Visual Studio (Community, Pro , или Enterprise), которые вы активно используете для разработки этой кодовой базы C++.
Проверьте установку Microsoft Visual C++
Чтобы использовать MSVC из командной строки или VS Code, необходимо выполнить запуск из командной строки разработчика для Visual Studio. В обычной оболочке, такой как PowerShell, Bash или командная строка Windows, не установлены необходимые переменные среды пути.
Чтобы открыть командную строку разработчика для VS, начните вводить слово «разработчик» в меню «Пуск» Windows, и оно должно появиться в списке предложений. Точное имя зависит от того, какая версия Visual Studio или Visual Studio Build Tools у вас установлена. Выберите элемент, чтобы открыть подсказку.
Вы можете проверить правильность установки компилятора C++, cl.exe , введя 'cl', и вы должны увидеть сообщение об авторских правах с версией и основным описанием использования.
Если командная строка разработчика использует расположение BuildTools в качестве начального каталога (вам не следует помещать туда проекты), перейдите в папку пользователя ( C:\users\\ ), прежде чем начинать создавать новые проекты.< /p>
Примечание. Если по какой-то причине вы не можете запустить VS Code из командной строки разработчика, вы можете найти обходной путь для создания проектов C++ с помощью VS Code в разделе Запуск VS Code вне командной строки разработчика.
Создать Hello World
В командной строке разработчика создайте пустую папку с именем "projects", где вы можете хранить все свои проекты VS Code, затем создайте подпапку с именем "helloworld", перейдите в нее и откройте VS Code ( code ) в этой папке. ( . ), введя следующие команды:
Код . Команда открывает VS Code в текущей рабочей папке, которая становится вашей «рабочей областью». По мере прохождения руководства вы увидите три файла, созданных в папке .vscode в рабочей области:
- tasks.json (инструкции по сборке)
- launch.json (настройки отладчика)
- c_cpp_properties.json (путь к компилятору и настройки IntelliSense)
Добавить файл исходного кода
В строке заголовка проводника нажмите кнопку "Новый файл" и назовите файл helloworld.cpp .
Добавить исходный код Hello World
Теперь вставьте этот исходный код:
Теперь нажмите ⌘S (Windows, Linux Ctrl+S ), чтобы сохранить файл. Обратите внимание, как только что добавленный файл отображается в представлении Проводника ( ⇧⌘E (Windows, Linux Ctrl+Shift+E) ) на боковой панели VS Code:
Вы также можете включить функцию "Автосохранение" для автоматического сохранения изменений в файле, установив флажок "Автосохранение" в главном меню "Файл".
Панель действий в крайнем левом углу позволяет открывать различные представления, например «Поиск», «Управление версиями» и «Выполнить». Вы познакомитесь с представлением «Выполнить» позже в этом руководстве. Дополнительные сведения о других представлениях см. в документации по пользовательскому интерфейсу VS Code.
Примечание. Когда вы сохраняете или открываете файл C++, вы можете увидеть уведомление от расширения C/C++ о доступности версии Insiders, которая позволяет протестировать новые функции и исправления. Вы можете проигнорировать это уведомление, выбрав X (Удалить уведомление).
Исследуйте IntelliSense
В новом файле helloworld.cpp наведите указатель мыши на вектор или строку, чтобы увидеть информацию о типе. После объявления переменной msg начните вводить msg. как при вызове функции-члена. Вы должны немедленно увидеть список завершения, который показывает все функции-члены, и окно, которое показывает информацию о типе для объекта msg:
Вы можете нажать клавишу Tab, чтобы вставить выбранный элемент; затем, когда вы добавите открывающую скобку, вы увидите информацию обо всех аргументах, которые требуются функции.
Сборка helloworld.cpp
Далее вы создадите файл tasks.json, чтобы указать VS Code, как собирать (компилировать) программу. Эта задача вызовет компилятор Microsoft C++ для создания исполняемого файла на основе исходного кода.
В главном меню выберите «Терминал» > «Настроить задачу сборки по умолчанию». В раскрывающемся списке будет отображаться раскрывающийся список задач со списком различных предопределенных задач сборки для компиляторов C++. Выберите cl.exe build active file, который создаст файл, отображаемый (активный) в данный момент в редакторе.
Это создаст файл tasks.json в папке .vscode и откроет его в редакторе.
Ваш новый файл tasks.json должен выглядеть примерно так, как показано ниже:
Настройка команды определяет программу для запуска; в данном случае это «cl.exe». Массив args указывает аргументы командной строки, которые будут переданы в cl.exe. Эти аргументы должны быть указаны в порядке, ожидаемом компилятором. Эта задача сообщает компилятору C++ взять активный файл ($), скомпилировать его и создать исполняемый файл (/Fe: переключатель) в текущем каталоге ($) с тем же именем, что и у активного файла, но с расширением .exe. ( $.exe ), что в нашем примере приводит к helloworld.exe.
Примечание. Подробнее о переменных tasks.json можно узнать в справочнике по переменным.
Значение ярлыка — это то, что вы увидите в списке задач; вы можете назвать это как хотите.
Значение ProblemMatcher выбирает анализатор выходных данных, который будет использоваться для поиска ошибок и предупреждений в выходных данных компилятора. Для cl.exe вы получите наилучшие результаты, если будете использовать средство сопоставления задач $msCompile.
Значение isDefault: true в групповом объекте указывает, что эта задача будет запущена при нажатии ⇧⌘B (Windows, Linux Ctrl+Shift+B ). Это свойство предназначено только для удобства; если вы установите для него значение false, вы все равно сможете запустить его из меню терминала с помощью Tasks: Run Build Task.
Запуск сборки
Вернитесь к файлу helloworld.cpp . Ваша задача создает активный файл, и вы хотите построить helloworld.cpp .
Чтобы запустить задачу сборки, определенную в tasks.json , нажмите ⇧⌘B (Windows, Linux Ctrl+Shift+B ) или в главном меню терминала выберите Задачи: Запустить задачу сборки.
При запуске задачи под редактором исходного кода должна появиться панель встроенного терминала. После завершения задачи терминал показывает выходные данные компилятора, указывающие на то, была ли сборка успешной или неудачной. Для успешной сборки C++ вывод выглядит примерно так:
Если сборка завершается сбоем из-за того, что не найден cl.exe или отсутствует путь включения, убедитесь, что вы запустили VS Code из командной строки разработчика для Visual Studio.
Создайте новый терминал с помощью кнопки +, и у вас будет новый терминал (работающий с PowerShell) с папкой helloworld в качестве рабочего каталога. Запустите ls, и теперь вы должны увидеть исполняемый файл helloworld.exe вместе с различными промежуточными выходными файлами C++ и файлами отладки ( helloworld.obj , helloworld.pdb ).
Вы можете запустить helloworld в терминале, набрав .\helloworld.exe .
Примечание. Возможно, сначала вам придется несколько раз нажать Enter, чтобы увидеть приглашение PowerShell в терминале. Эта проблема должна быть исправлена в будущем выпуске Windows.
Изменение tasks.json
Вы можете изменить файл tasks.json для создания нескольких файлов C++, используя такой аргумент, как "$\\*.cpp" вместо $ . Это создаст все файлы .cpp в вашей текущей папке. Вы также можете изменить имя выходного файла, заменив "$\\$.exe" жестко заданным именем файла (например, "$\\myProgram.exe" ).
Отладка файла helloworld.cpp
Далее вы создадите файл launch.json, чтобы настроить VS Code для запуска отладчика Microsoft C++ при нажатии клавиши F5 для отладки программы. В главном меню выберите «Выполнить» > «Добавить конфигурацию». а затем выберите C++ (Windows).
После этого вы увидите раскрывающийся список для различных предопределенных конфигураций отладки. Выберите cl.exe для сборки и отладки активного файла.
VS Code создает файл launch.json, открывает его в редакторе, строит и запускает "helloworld".
Настройка программы определяет программу, которую вы хотите отлаживать. Здесь указывается активная папка с файлами $ и активное имя файла с расширением .exe $.exe , которое, если активным файлом является helloworld.cpp , будет helloworld.exe .
По умолчанию расширение C++ не добавляет никаких точек останова в исходный код, а для параметра stopAtEntry установлено значение false . Измените значение stopAtEntry на true, чтобы отладчик останавливался на основном методе при запуске отладки.
Начать сеанс отладки
- Вернитесь к файлу helloworld.cpp, чтобы он стал активным.
- Нажмите F5 или в главном меню выберите «Выполнить» > «Начать отладку». Прежде чем вы приступите к просмотру исходного кода, обратите внимание на несколько изменений в пользовательском интерфейсе:
Интегрированный терминал отображается в нижней части редактора исходного кода. На вкладке «Вывод отладки» вы видите вывод, указывающий на то, что отладчик запущен и работает.
Редактор выделяет первый оператор в основном методе. Это точка останова, которую расширение C++ автоматически устанавливает для вас:
В представлении «Выполнение» слева отображается отладочная информация. Вы увидите пример позже в этом руководстве.
В верхней части редактора кода появляется панель управления отладкой. Вы можете перемещать его по экрану, хватая точки с левой стороны.
Пошаговое выполнение кода
Теперь вы готовы приступить к выполнению кода.
Нажимайте значок Step over на панели управления отладкой, пока не будет выделен оператор for (const string& word : msg).
Команда Step Over пропускает все внутренние вызовы функций в векторных и строковых классах, которые вызываются при создании и инициализации переменной msg. Обратите внимание на изменение в окне переменных слева. В этом случае ошибки ожидаются, потому что, хотя имена переменных для цикла теперь видны отладчику, оператор еще не выполнен, поэтому в этот момент читать нечего. Однако содержимое msg видно, потому что этот оператор завершен.
Нажмите Step over еще раз, чтобы перейти к следующему оператору в этой программе (пропустив весь внутренний код, который выполняется для инициализации цикла). Теперь в окне «Переменные» отображается информация о переменных цикла.
Снова нажмите Step, чтобы выполнить оператор cout. Примечание. Начиная с версии расширения за март 2019 г. выходные данные не отображаются до завершения цикла.
Если хотите, вы можете продолжать нажимать Step over до тех пор, пока все слова в векторе не будут напечатаны на консоли. Но если вам интересно, попробуйте нажать кнопку Step Into, чтобы просмотреть исходный код в стандартной библиотеке C++!
Чтобы вернуться к собственному коду, один из способов – продолжать нажимать кнопку "Перейти". Другой способ — установить точку останова в вашем коде, переключившись на вкладку helloworld.cpp в редакторе кода, поместив точку вставки где-нибудь в операторе cout внутри цикла и нажав F9. Красная точка появляется в поле слева, указывая на то, что в этой строке установлена точка останова.
Затем нажмите F5, чтобы начать выполнение с текущей строки в заголовке стандартной библиотеки. Выполнение прервется на cout . Если хотите, вы можете снова нажать F9, чтобы отключить точку останова.
Настроить часы
Иногда вам может понадобиться отслеживать значение переменной во время выполнения вашей программы. Вы можете сделать это, установив наблюдение за переменной.
Поместите точку вставки внутри цикла. В окне Watch выберите знак «плюс» и в текстовом поле введите слово, которое является именем переменной цикла. Теперь просмотрите окно Watch, когда будете проходить цикл.
Добавьте еще одно наблюдение, добавив этот оператор перед циклом: int i = 0; . Затем внутри цикла добавьте следующий оператор: ++i; . Теперь добавьте часы для i, как вы делали это на предыдущем шаге.
Чтобы быстро просмотреть значение любой переменной, пока выполнение приостановлено в точке останова, вы можете навести на нее указатель мыши.
Конфигурации C/C++
Если вам нужен больший контроль над расширением C/C++, вы можете создать файл c_cpp_properties.json, который позволит вам изменять такие параметры, как путь к компилятору, включаемые пути, стандарт C++ (по умолчанию C++ 17) и многое другое.
Вы можете просмотреть пользовательский интерфейс конфигурации C/C++, выполнив команду C/C++: Edit Configurations (UI) из палитры команд ( ⇧⌘P (Windows, Linux Ctrl+Shift+P )).
При этом открывается страница конфигураций C/C++. Когда вы вносите здесь изменения, VS Code записывает их в файл с именем c_cpp_properties.json в папке .vscode.
Visual Studio Code помещает эти параметры в файл .vscode\c_cpp_properties.json . Если вы откроете этот файл напрямую, он должен выглядеть примерно так:
Добавлять в параметр Включить массив путей нужно только в том случае, если ваша программа включает файлы заголовков, которых нет в вашей рабочей области или в пути стандартной библиотеки.
Путь к компилятору
ПараметрcompilePath является важным параметром в вашей конфигурации. Расширение использует его для определения пути к файлам заголовков стандартной библиотеки C++. Когда расширение знает, где найти эти файлы, оно может предоставлять полезные функции, такие как интеллектуальное завершение и навигация «Перейти к определению».
Расширение C/C++ пытается указать вcompilePath местоположение компилятора по умолчанию на основе того, что оно находит в вашей системе. Расширение выглядит в нескольких общих местах расположения компилятора.
Порядок поиска по пути компилятора:
- Сначала проверьте наличие компилятора Microsoft Visual C++Ope
- Затем найдите g++ в подсистеме Windows для Linux (WSL)
- Затем g++ для Mingw-w64.
Если у вас установлены g++ или WSL, вам может потребоваться изменить значениеcompilePath, чтобы оно соответствовало предпочитаемому компилятору для вашего проекта. Для Microsoft C++ путь должен выглядеть примерно так, в зависимости от установленной версии: "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin /Hostx64/x64/cl.exe".
Повторное использование конфигурации C++
VS Code теперь настроен на использование компилятора Microsoft C++. Конфигурация применяется к текущей рабочей области. Чтобы повторно использовать конфигурацию, просто скопируйте файлы JSON в папку .vscode в новой папке проекта (рабочей области) и при необходимости измените имена исходных файлов и исполняемого файла.
Запуск VS Code вне командной строки разработчика
В некоторых случаях невозможно запустить VS Code из командной строки разработчика для Visual Studio (например, в сценариях удаленной разработки через SSH). В этом случае вы можете автоматизировать инициализацию командной строки разработчика для Visual Studio во время сборки, используя следующую конфигурацию tasks.json:
Примечание. Путь к VsDevCmd.bat может отличаться в зависимости от версии Visual Studio или пути установки. Вы можете найти путь к VsDevCmd.bat, открыв командную строку и запустив каталог "\VsDevCmd*" /s .
Устранение неполадок
Термин «cl.exe» не распознается
Если вы видите сообщение об ошибке "Термин "cl.exe" не распознается как имя командлета, функции, файла сценария или исполняемой программы", обычно это означает, что вы запускаете VS Code вне команды разработчика. Подсказка для Visual Studio и VS Code не знает путь к компилятору cl.exe.
VS Code необходимо либо запускать из командной строки разработчика для Visual Studio, либо задачу необходимо настроить для запуска вне командной строки разработчика.
Читайте также: