Как сменить компилятор в Visual Studio
Обновлено: 20.11.2024
Эта фиксация не принадлежит ни к одной из веток в этом репозитории и может принадлежать ответвлению за пределами репозитория.
- Открыть с рабочего стола
- Просмотреть в необработанном виде
- Копировать исходное содержимое Копировать необработанное содержимое
Копировать необработанное содержимое
Копировать необработанное содержимое
/std (указать стандартную версию языка)
Включить поддерживаемые функции языка C и C++ из указанной версии стандарта языка C или C++.
/std:c++14
/std:c++17
/std:c++20
/std:c++latest
/std:c11
/std:c17
Параметры /std доступны в Visual Studio 2017 и более поздних версиях. Они используются для управления стандартными функциями языка программирования ISO C или C++ для конкретной версии, включенными во время компиляции вашего кода. Параметры позволяют отключить поддержку некоторых новых функций языка и библиотек: тех, которые могут нарушить существующий код, соответствующий определенной версии языкового стандарта.
Поддержка стандартов C++
Опция /std, действующая во время компиляции C++, может быть обнаружена с помощью макроса препроцессора _MSVC_LANG. Дополнительные сведения см. в разделе Макросы препроцессора.
/std:c++14
Параметр /std:c++14 включает функции стандарта C++14, реализованные компилятором MSVC. Этот параметр используется по умолчанию для кода, скомпилированного как C++. Он доступен, начиная с Visual Studio 2015, обновление 3.
Этот параметр отключает поддержку компилятором и стандартной библиотекой функций, измененных или новых в более поздних версиях языкового стандарта. Однако он не отключает некоторые функции C++17, уже реализованные в предыдущих выпусках компилятора MSVC. Дополнительные сведения см. в статье о соответствии языка Microsoft C/C++. В таблицах указано, какие функции C++17 включены при указании /std:c++14 .
Следующие функции остаются включенными, если указан параметр /std:c++14, чтобы избежать критических изменений для пользователей, которые уже установили зависимости от функций, доступных в Visual Studio 2015 с обновлением 2 или ранее:
/std:c++17
Параметр /std:c++17 включает функции и поведение, характерные для стандарта C++17. Он включает полный набор функций C++17, реализованных компилятором MSVC. Этот параметр отключает поддержку компилятором и стандартной библиотекой новых или измененных функций после C++17. Он специально отключает изменения после C++ 17 в стандарте C++ и версиях рабочего проекта. Он не отключает ретроактивные обновления дефектов стандарта C++. Этот параметр доступен, начиная с Visual Studio 2017 версии 15.3.
В зависимости от версии или уровня обновления компилятора MSVC функции C++17 могут быть реализованы не полностью или не полностью соответствовать требованиям, если указан параметр /std:c++17. Обзор соответствия языка C++ в Visual C++ по версиям выпуска см. в разделе Соответствие языка Microsoft C/C++.
/std:c++20
Параметр /std:c++20 включает функции и поведение, характерные для стандарта C++20. Начиная с Visual Studio 2019 версии 16.11, он включает полный набор функций C++20, реализованных компилятором MSVC, за исключением std::format , расширений форматирования C++20, а также фабрик диапазонов и адаптеров диапазонов. от . Эти функции по-прежнему доступны только в /std:c++latest .
Параметр /std:c++20 отключает поддержку компилятором и стандартной библиотекой функций, которые появились или изменились после C++20. Он специально отключает изменения после C++ 20 в стандарте C++ и версиях рабочего проекта. Он не отключает ретроактивные обновления дефектов стандарта C++.
/std:c++latest
Параметр /std:c++latest включает все реализованные в настоящее время функции компилятора и стандартной библиотеки, предлагаемые для следующего проекта стандарта, а также некоторые находящиеся в разработке и экспериментальные функции. Этот параметр доступен, начиная с Visual Studio 2015, обновление 3.
В зависимости от версии или уровня обновления компилятора MSVC функции C++17, C++20 или предлагаемые возможности C++23 могут быть не полностью реализованы или не полностью соответствовать требованиям при указании параметра /std:c++latest. . Мы рекомендуем вам использовать последнюю версию Visual Studio для максимального соответствия стандартам. Обзор соответствия языка C++ и библиотек в Visual C++ по версиям выпуска см. в разделе Соответствие языка Microsoft C/C++.
В версиях Visual Studio 2019 до версии 16.11 /std:c++latest требуется для включения всех функций компилятора и стандартной библиотеки C++20.
Список поддерживаемых функций языка и библиотеки см. в статье Что нового для C++ в Visual Studio.
Параметр /std:c++latest не включает функции, защищенные параметром /experimental, но может потребоваться для их включения.
[!NOTE] Функции компилятора и библиотеки, включенные /std:c++latest, могут появиться в будущем стандарте C++. Неутвержденные функции могут быть изменены или удалены без предварительного уведомления и предоставляются на условиях «как есть».
Поддержка стандартов C
Вы можете вызвать компилятор Microsoft C, используя параметр компилятора /TC или /Tc. Он используется по умолчанию для кода с расширением файла .c, если только он не переопределен параметром /TP или /Tp. Компилятор C по умолчанию (то есть компилятор, когда /std:c11 или /std:c17 не указан) реализует ANSI C89, но включает несколько расширений Microsoft, некоторые из которых являются частью ISO C99. Некоторые расширения Microsoft для C89 можно отключить с помощью параметра компилятора /Za, но другие остаются в силе. Невозможно указать строгое соответствие C89. Компилятор не реализует несколько обязательных функций C99, поэтому также невозможно указать соответствие C99.
/std:c11
Параметр /std:c11 обеспечивает соответствие стандарту ISO C11. Он доступен, начиная с Visual Studio 2019 версии 16.8.
/std:c17
Параметр /std:c17 обеспечивает соответствие стандарту ISO C17. Он доступен, начиная с Visual Studio 2019 версии 16.8.
Поскольку для поддержки этих стандартов необходим новый препроцессор, параметры компилятора /std:c11 и /std:c17 автоматически устанавливают параметр /Zc:preprocessor. Если вы хотите использовать традиционный (устаревший) препроцессор для C11 или C17, вы должны явно установить параметр компилятора /Zc:preprocessor-. Установка параметра /Zc:preprocessor- может привести к неожиданному поведению и не рекомендуется.
[!NOTE] На момент выпуска и в Visual Studio 2019 версии 16.10 библиотеки Windows SDK и UCRT, установленные Visual Studio, еще не поддерживают код C11 и C17. Требуется обновленная версия Windows SDK и UCRT. Дополнительные сведения и инструкции по установке см. в разделе Установка поддержки C11 и C17 в Visual Studio.
При указании /std:c11 или /std:c17 MSVC поддерживает все функции C11 и C17, требуемые стандартами. Параметры компилятора /std:c11 и /std:c17 включают поддержку следующих функций:
Среда IDE использует настройки C для IntelliSense и выделения кода, если исходные файлы имеют расширение .c или если вы указываете параметр компилятора /TC или /Tc. В настоящее время IntelliSense в C выделяет ключевые слова _Alignas , _Alignof , _Noreturn и _Static_assert , но не эквивалентные макросы, определенные в стандартных заголовках: alignas , alignof , noreturn и static_assert .
Поскольку C17 — это, в основном, выпуск ISO C11 с исправлением ошибок, поддержка MSVC для C11 уже включает все соответствующие отчеты об ошибках. Между версиями C11 и C17 нет никаких различий, кроме макроса __STDC_VERSION__. Он расширяется до 201112L для C11 и 201710L для C17.
Компилятор не поддерживает большинство дополнительных функций ISO C11. Некоторые из этих дополнительных функций C11 были обязательными функциями C99, которые MSVC не реализовал по архитектурным причинам. Вы можете использовать макросы тестирования функций, такие как __STDC_NO_VLA__, чтобы определить уровни поддержки компилятором для отдельных функций. Дополнительные сведения о предопределенных макросах для языка C см. в разделе Предопределенные макросы.
Отсутствует соответствующая поддержка многопоточности, атомарных или комплексных чисел.
Поддержка aligned_alloc отсутствует из-за реализации кучи в Windows. Альтернативой является использование _aligned_malloc .
Поддержка DR 400 для realloc в настоящее время не реализована, поскольку это изменение нарушит ABI.
Поддержка массивов переменной длины (VLA) не планируется. VLA предоставляют векторы атаки, сравнимые с gets , которые устарели и планируется удалить.
Дополнительную информацию см. в разделе о возможностях стандартной библиотеки C документа о соответствии языка Microsoft C/C++.
Чтобы установить этот параметр компилятора в среде разработки Visual Studio
Откройте диалоговое окно "Страницы свойств" проекта. Дополнительные сведения см. в разделе Настройка компилятора C++ и свойств сборки в Visual Studio.
Выберите Свойства конфигурации > C/C++ > Страница свойств языка.
В стандарте языка C++ (или для стандарта языка C, C) выберите стандарт языка для поддержки в раскрывающемся списке, затем нажмите «ОК» или «Применить», чтобы сохранить изменения.
Чтобы установить компиляцию и связанные параметры для текущего проекта:
Выберите имя проекта в представлении обозревателя решений (имя проекта Console1 на примере экрана ниже).
В меню "Проект" выберите "Свойства".
Компилятор Intel® Fortran Compiler также позволяет указать параметры компилятора для отдельных исходных файлов. Для этого выберите имя файла и выберите «Просмотр» > «Страницы свойств».
Для удобства контекстно-зависимые всплывающие меню, содержащие часто используемые параметры меню, доступны при щелчке правой кнопкой мыши элемента (например, имени файла или решения) в среде IDE.
Отображение параметров
Чтобы отобразить категории параметров компилятора Fortran, щелкните папку Fortran на левой панели, чтобы отобразить категории параметров компилятора. На следующем примере экрана показаны параметры компилятора в категории «Общие» на правой панели. Выбранный параметр в категории «Общие» — «Подавить баннер запуска» со значением по умолчанию «Да». Соответствующий параметр компилятора командной строки — nologo , как показано в тексте справки в нижней части правой панели.
Как показано на снимке экрана ниже, значения параметров, которые отличаются от значений по умолчанию компилятора, отображаются полужирным шрифтом.
Изменение настроек параметров
Чтобы изменить параметр компилятора:
Выберите категорию и нажмите нужный вариант. Нажмите кнопку справа от строки параметров, чтобы отобразить доступные настройки или отобразить диалоговое окно. Доступные параметры могут включать , который сбрасывает значение параметра на значение по умолчанию компилятора.
Выберите нужный параметр и нажмите OK.
Чтобы изменить конфигурацию (например, с Debug на Release), выполните одно из следующих действий:
Выберите другую конфигурацию в раскрывающемся списке Конфигурация: в левом верхнем углу окна или
Нажмите кнопку "Диспетчер конфигурации" в правом верхнем углу окна и сбросьте конфигурацию в появившемся диалоговом окне.
Категории опций Fortran
Параметры компилятора Intel® Fortran, доступные в среде IDE, сгруппированы по категориям. Некоторые параметры отображаются в нескольких категориях. Доступные параметры в каждой категории могут различаться в зависимости от платформы, которую вы выбрали в поле «Платформа» в верхней части диалогового окна. Параметры, не перечисленные ни в одной из категорий, можно ввести в окно категории командной строки.
Категория командной строки
Категория "Командная строка" содержит поле "Дополнительные параметры", в которое можно ввести параметр так же, как в командной строке. Среда IDE будет обрабатывать их как часть параметров страниц свойств для конкретного проекта. Например, вы можете использовать категорию «Командная строка» для ввода различных параметров компилятора Intel® Fortran, которые не представлены ни в одной из перечисленных категорий. Если вы введете параметр компилятора, который представлен в одной из перечисленных категорий, параметр, указанный вами в категории «Командная строка», будет иметь приоритет и переопределит эквивалентный параметр в другой категории.
В этом руководстве вы настроите 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, либо задачу необходимо настроить для запуска вне командной строки разработчика.
Общие сведения о том, как использовать Visual Studio с FTN95 и как создать простой проект Fortran, приведены в разделе Начало работы с FTN95.
Как правило, параметры компилятора можно задавать на трех уровнях: уровне решения, уровне проекта и уровне файла.
Уровень решения
Настройки по умолчанию можно изменить в раскрывающемся списке «Конфигурации решений» на главной панели инструментов или в диалоговом окне «Диспетчер конфигураций». Выберите Configuration Manager в главном меню Build, чтобы открыть это диалоговое окно.
Выберите режим в поле вверху под названием Active Solution Configuration. Нажмите на значок стрелки и выберите режим из выпадающего списка. Режим выпуска можно выбрать, когда решение готово к использованию/отгрузке. Конфигурации debug и Checkmate запускают отладочный код, который позволяет вам пошагово входить в код с помощью встроенного отладчика. Конфигурация по умолчанию — «Шах и мат», и это рекомендуется для разработки.
Сетка контекста проектов описывает конфигурацию для каждого проекта и по умолчанию отражает активную конфигурацию решения. Лучше оставить эту сетку без изменений, если только вы не определяете новую конфигурацию активного решения.
Уровень проекта
Выбрав конфигурацию на уровне решения, можно включить дополнительные параметры компилятора для каждого проекта в решение. Для этого откройте диалоговое окно «Страницы свойств» для проекта, щелкнув имя проекта в окне обозревателя решений. Щелкните правой кнопкой мыши и выберите «Свойства» во всплывающем меню.
Появится следующее диалоговое окно.
Конфигурация: по умолчанию будет установлена активная конфигурация решения, и ее не нужно изменять.
Платформа: по умолчанию будет установлена активная платформа решения, и ее не нужно менять.
Все параметры имеют справочную информацию, которая отображается в поле в нижней части диалогового окна. Выберите параметр, чтобы просмотреть справку по нему.
Уровень файла
Если ваш проект содержит несколько файлов, вы можете установить различные параметры командной строки компилятора для определенного файла, используя окно свойств файла, как показано ниже.
Щелкните левой кнопкой мыши на имени файла в окне обозревателя решений (или используйте правую кнопку мыши и выберите «Свойства» во всплывающем меню). Теперь взгляните на диалоговое окно «Свойства», которое обычно появляется под диалоговым окном обозревателя решений.Если окно свойств не отображается, выберите «Окно свойств» в главном меню «Вид».
В строке CustomCompilerOptions нажмите «Выкл.» и получившийся значок стрелки, чтобы просмотреть параметры «Добавить» или «Переопределить» параметры проекта. Теперь введите параметры в поле CustomSwitches. Например, если для проекта задан режим отладки, а не режим мата, то определенный файл может быть установлен в режим мата со следующей записью.
Вы также можете использовать это диалоговое окно, чтобы:
1) Исключить этот файл из процесса сборки.
2) Измените имя файла (это переименует файл на диске и в решении).
Читайте также: