Пошаговое руководство. Компиляция программы C++/CLI, предназначенной для среды CLR в Visual Studio
С помощью C++/CLI можно создавать программы C++, использующие классы .NET, а также собственные типы C++. C++/CLI предназначен для использования в консольных приложениях и в библиотеках DLL, которые упаковывают собственный код C++ и делают его доступными из программ .NET. Чтобы создать пользовательский интерфейс Windows на основе .NET, используйте C# или Visual Basic.
Для этой процедуры можно ввести собственную программу C++ или использовать одну из примеров программ. Пример программы, используемый в этой процедуре, создает текстовый файл textfile.txt и сохраняет его в каталог проекта.
Необходимые компоненты
- Для работы необходимо владеть основами языка C++.
- В Visual Studio 2017 и более поздних версиях поддержка C++/CLI является необязательным компонентом. Чтобы установить его, откройте установщик Visual Studio из Windows меню . Убедитесь, что плитка «Разработка компьютеров с помощью C++ проверка» и в разделе «Необязательные компоненты» также проверка поддержка C++/CLI.
Создание нового проекта
Приведенные ниже инструкции немного отличаются в зависимости от используемой версии Visual Studio. Чтобы ознакомиться с документацией по предпочтительной версии Visual Studio, используйте селектор Версия. Он находится в верхней части оглавления на этой странице.
Создание проекта C++/CLI в Visual Studio
- В Обозреватель решений щелкните правой кнопкой мыши вверху, чтобы открыть диалоговое окно «Создать проект«.
- В верхней части диалогового окна введите CLR в поле поиска и выберите clR Empty Project (платформа .NET Framework) из списка результатов.
- Нажмите кнопку Создать, чтобы создать проект.
Создание проекта C++/CLI в Visual Studio 2017
- Создание проекта В меню Файл укажите Создать, затем нажмите Проект.
- В списке типов проектов Visual C++ щелкните CLR, а затем — Пустой проект CLR.
- Введите имя проекта. По умолчанию содержащее проект решение имеет то же имя, что и новый проект, но можно ввести другое имя. При необходимости можно ввести другое расположение для проекта.
- Нажмите кнопку ОК для создания проекта.
Создание проекта C++/CLI в Visual Studio 2015
- Создание проекта В меню Файл укажите Создать, затем нажмите Проект.
- В списке типов проектов Visual C++ щелкните CLR, а затем — Пустой проект CLR.
- Введите имя проекта. По умолчанию содержащее проект решение имеет то же имя, что и новый проект, но можно ввести другое имя. При необходимости можно ввести другое расположение для проекта.
- Нажмите кнопку ОК для создания проекта.
Добавление исходного файла
- Если обозреватель решений не отображается, в меню Вид выберите пунукт Обозреватель решений.
- Добавьте новый исходный файл в проект:
- Щелкните правой кнопкой мыши папку Исходные файлы в обозревателе решений, наведите указатель мыши на пункт Добавить и щелкните Новый элемент.
- Щелкните элемент Файл C++ (.cpp), введите имя файла и нажмите кнопу Добавить.
Файл с расширением .cpp отображается в папке Исходные файлы в обозревателе решений, а окно с вкладками отображается в месте ввода кода в этом файле.
Примечание. При выборе пустого шаблона проекта CLR автоматически задается параметр компилятора /clr . Чтобы проверить это, щелкните правой кнопкой мыши проект в обозревателе решений и выберите Свойства, а затем установите флажок Поддержка общеязыковой среды выполнения (CLR) в узле Общие окна Свойства конфигурации.
Создание проекта makefile на C++
Makefile — это текстовый файл, содержащий инструкции по компиляции и связыванию (или сборке) набора файлов исходного кода. Программа (часто называемая программой make) считывает файл makefile и вызывает компилятор, компоновщик и, возможно, другие программы для создания исполняемого файла. Программа Майкрософт называется NMAKE.
Если у вас есть существующий проект makefile, у вас есть следующие варианты, если вы хотите изменить, выполнить сборку и отладку в интегрированной среде разработки Visual Studio:
- Создайте в Visual Studio проект makefile, который использует существующий файл makefile для настройки файла VCXPROJ, используемого средой Visual Studio для IntelliSense. (У вас нет всех функций интегрированной среды разработки, которые вы получаете с помощью собственного проекта MSBuild.) См. статью «Создание проекта makefile» ниже.
- Используйте мастер создания нового проекта из существующих файлов кода, чтобы создать собственный проект MSBuild из исходного кода. Исходный файл makefile больше не будет использоваться. Дополнительные сведения см. в разделе Практическое руководство. Создание проекта C++ из существующего кода.
- Visual Studio 2017 и более поздних версий: используйте функцию «Открыть папку« для редактирования и создания проекта makefile как есть без участия в системе MSBuild. Дополнительные сведения см. в статье Проекты «Открыть папку» для C++.
- Visual Studio 2019 и более поздних версий: создайте проект makefile UNIX для Linux.
Создание проекта makefile с использованием шаблона проекта makefile
В Visual Studio 2017 и более поздних версиях шаблон проекта Makefile доступен, если установлена рабочая нагрузка разработки классических приложений на C++.
Используйте мастер, чтобы указать команды и среду, используемые файлом makefile. Затем этот проект можно использовать для сборки кода в Visual Studio.
По умолчанию проект makefile не отображает в обозревателе решений никаких файлов. Проект makefile задает параметры сборки, которые показаны на странице свойств проекта.
Выходной файл, указанный в проекте, не влияет на имя, которое создает скрипт сборки. Он объявляет только намерение. Файл makefile по-прежнему управляет процессом сборки и указывает ее целевые объекты.
Создание проекта makefile в Visual Studio
- В главном меню Visual Studio выберите Файл>Создать>Проект и в поле поиска введите «makefile». Если вы видите несколько шаблонов проекта, выберите варианты в зависимости от целевой платформы.
- Только Windows: на странице «Конфигурация отладки проекта Makefile» Параметры укажите команду, выходные данные, очистку и перестроение для отладочных и розничных сборок. Нажмите кнопку «Далее», если вы хотите указать различные параметры конфигурации выпуска.
- Нажмите кнопку «Готово«, чтобы закрыть диалоговое окно и открыть только что созданный проект в Обозреватель решений.
Создание проекта makefile в Visual Studio 2015 или Visual Studio 2017
- На начальной странице Visual Studio введите строку «makefile» в поле поиска Новый проект. Или же откройте диалоговое окно Новый проект, разверните узел Visual C++>Общие (Visual Studio 2015) или Прочие (Visual Studio 2017) и в области шаблонов выберите Проект Makefile, чтобы открыть мастер проектов.
- На странице Параметры приложения предоставьте сведения о команде, выводе, удалении и перестроении для отладочной и окончательной сборок.
- Нажмите кнопку «Готово«, чтобы закрыть мастер и открыть созданный проект в Обозреватель решений.
На этой странице свойств можно просматривать и изменять свойства проекта. Дополнительные сведения о отображении страницы свойств см. в разделе «Задание компилятора C++» и свойств сборки в Visual Studio.
Мастер проекта makefile
Создав проект makefile, вы можете просматривать и изменять каждый из следующих параметров на странице Nmake свойств проекта.
- Командная строка сборки: указывает командную строку, выполняемую при выборе пользователем команды «Сборка» в меню «Сборка». Отображается в поле «Командная строка для сборки» на странице «Nmake» свойств проекта.
- Выходные данные: указывает имя файла, содержащего выходные данные для командной строки. По умолчанию этот параметр основан на имени проекта. Отображается в поле «Вывод» на странице «Nmake» свойств проекта.
- Очистка команд. Указывает командную строку, выполняемую при нажатии пользователем кнопки «Очистить» в меню «Сборка». Отображается в поле «Командная строка для очистки» на странице «Nmake» свойств проекта.
- Перестроение командной строки: указывает командную строку, выполняемую при выборе пользователем команды «Перестроить» в меню «Сборка». Отображается в поле «Командная строка для перестроения всех файлов» на странице «Nmake» свойств проекта.
Практическое руководство. Использование IntelliSense для проекта Makefile
IntelliSense не работает в проектах makefile, если определенные параметры проекта или компилятора заданы неправильно. Чтобы настроить проекты makefile для правильной работы IntelliSense, выполните указанные ниже действия.
- Откройте диалоговое окно Страницы свойств. Подробнее см. в статье Настройка компилятора C++ и свойств сборки в Visual Studio.
- Выберите страницу свойств>конфигурации NMake.
- Измените свойства в IntelliSense соответствующим образом:
- Задайте свойство Определения препроцессора, чтобы определить символы препроцессора в проекте makefile. Дополнительные сведения см. в разделе /D (Определения препроцессора).
- Задайте свойство Путь поиска включаемых файлов, чтобы указать список каталогов, где компилятор будет производить поиск для разрешения ссылок на файлы, передаваемых в директивы препроцессора в новом проекте makefile. Дополнительные сведения см. в разделе /I (Дополнительные каталоги включения).
- Для проектов, созданных с использованием CL.EXE из командного окна, задайте переменную среды INCLUDE, чтобы указать каталоги, где компилятор будет производить поиск для разрешения ссылок на файлы, передаваемых в директивы препроцессора в новом проекте makefile.
- Задайте свойство Принудительно включаемые файлы, чтобы указать файлы заголовков, обрабатываемые при сборке проекта makefile. Дополнительные сведения см. в разделе /FI (Имя принудительного включения файла).
- Задайте свойство Путь поиска сборок, чтобы указать список каталогов, где компилятор будет производить поиск для разрешения ссылок на сборки .NET в проекте. Дополнительные сведения см. в разделе /AI (Указание каталогов метаданных).
- Задайте свойство Обязательно используемые сборки, чтобы указать, какие сборки .NET обрабатываются при сборке проекта makefile. Дополнительные сведения см. в разделе /FU (Имя принудительного #using файла).
- Задайте свойство «Дополнительные параметры», чтобы указать другие параметры компилятора, которые будут использоваться IntelliSense при анализе файлов C++.
- Нажмите кнопку ОК, чтобы закрыть окно страниц свойств.
- Используйте команду Сохранить все, чтобы сохранить измененные параметры проекта.
При следующем открытии проекта makefile в среде разработки Visual Studio запустите команду Очистить решение, а затем — команду Собрать решение для проекта makefile. Технология IntelliSense должна работать в интегрированной среде разработки правильно.
Файл решения (SLN)
Область применения:Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Решение — это структура для организации проектов в Visual Studio. Решение поддерживает сведения о состоянии проектов в двух файлах:
- SLN-файл (текстовый, общий)
- Suo-файл (двоичные, пользовательские варианты решения)
Дополнительные сведения о файлах SUO см. в файле параметров пользователя решения (SUO).
Если VSPackage загружается из-за ссылки в SLN-файле, среда вызывает ReadSolutionProps чтение в SLN-файле.
Sln-файл содержит текстовые сведения, используемые средой для поиска и загрузки параметров значения имени для сохраненных данных и проекта VSPackages, на которые он ссылается. Когда пользователь открывает решение, среда циклит через preSolution Project sln-файл и postSolution информацию в SLN-файле для загрузки решения, проектов в решении и всех сохраненных сведений, подключенных к решению.
Файл каждого проекта содержит дополнительную информацию, считываемую средой, чтобы заполнить иерархию элементами этого проекта. Сохраняемость данных иерархии управляется проектом. Данные обычно не хранятся в SLN-файле, хотя вы можете намеренно записывать сведения о проекте в SLN-файл, если вы решили это сделать. Дополнительные сведения о сохраняемости см. в разделе «Сохраняемость проекта» и «Открытие и сохранение элементов проекта».
Заголовок файла
Заголовок SLN*-файла выглядит следующим образом:
Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.28701.123 MinimumVisualStudioVersion = 10.0.40219.1
Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.2.32505.173 MinimumVisualStudioVersion = 10.0.40219.1
Определения
Microsoft Visual Studio Solution File, Format Version 12.00
Стандартный заголовок, определяющий версию формата файла.
# Visual Studio Version 16
Основная версия Visual Studio, которая (последнее) сохранила этот файл решения. Эти сведения управляют номером версии в значке решения.
VisualStudioVersion = 16.0.28701.123
Полная версия Visual Studio, которая (последнее) сохранила файл решения. Если файл решения сохраняется более новой версией Visual Studio с той же основной версией. Это значение не обновляется так, чтобы уменьшить объем обработки в файле.
MinimumVisualStudioVersion = 10.0.40219.1
Минимальная (старая) версия Visual Studio, которая может открыть этот файл решения.
Microsoft Visual Studio Solution File, Format Version 12.00
Стандартный заголовок, определяющий версию формата файла.
# Visual Studio Version 17
Основная версия Visual Studio, которая (последнее) сохранила этот файл решения. Эти сведения управляют номером версии в значке решения.
VisualStudioVersion = 17.2.32505.173
Полная версия Visual Studio, которая (последнее) сохранила файл решения. Если файл решения сохраняется более новой версией Visual Studio с той же основной версией. Это значение не обновляется так, чтобы уменьшить объем обработки в файле.
MinimumVisualStudioVersion = 10.0.40219.1
Минимальная (старая) версия Visual Studio, которая может открыть этот файл решения.
Текст файла
Текст SLN-файла состоит из нескольких разделов, помеченных GlobalSection следующим образом:
Project("") = "Project1", "Project1.vbproj", "" EndProject Global GlobalSection(SolutionNotes) = postSolution EndGlobalSection GlobalSection(SolutionConfiguration) = preSolution ConfigName.0 = Debug ConfigName.1 = Release EndGlobalSection GlobalSection(ProjectDependencies) = postSolution EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution .Debug.ActiveCfg = Debug|x86 .Debug.Build.0 = Debug|x86 .Release.ActiveCfg = Release|x86 .Release.Build.0 = Release|x86 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection EndGlobal
Чтобы загрузить решение, среда выполняет следующую последовательность задач:
-
Среда считывает глобальный раздел SLN-файла и обрабатывает все разделы, помеченные preSolution . В этом примере файла существует одна из таких инструкций:
GlobalSection(SolutionConfiguration) = preSolution ConfigName.0 = Debug ConfigName.1 = Release
Project("") = "Project1", "Project1.vbproj", "" EndProject
Если какой-либо проект в решении, реализующего VSPackage, не удается загрузить, метод вызывается, а все проекты в решении игнорируют изменения, OnProjectLoadFailure внесенные во время загрузки. Для любых ошибок синтаксического анализа максимальное количество сведений сохраняется с файлами решения. В среде отображается диалоговое окно с предупреждением о том, что решение повреждено.
При сохранении или закрытии QuerySaveSolutionProps решения вызывается метод. Он передается в иерархию, чтобы узнать, были ли внесены изменения в решение, которое необходимо ввести в SLN-файл. Значение NULL, переданное в QuerySaveSolutionProps VSQUERYSAVESLNPROPS, указывает, что данные сохраняются для решения. Если значение не равно NULL, сохраненные сведения относятся к конкретному проекту, определенному указателем на IVsHierarchy интерфейс.
При сохранении IVsSolutionPersistence сведений интерфейс вызывается с указателем на SaveSolutionProps метод. Затем WriteSolutionProps метод вызывается средой для получения пар «имя-значение» из IPropertyBag интерфейса и записи сведений в SLN-файл.
SaveSolutionProps и WriteSolutionProps объекты вызываются рекурсивно средой, чтобы получить сведения, которые будут сохранены из IPropertyBag интерфейса, пока все изменения не будут введены в SLN-файл. Таким образом, вы можете убедиться, что информация будет сохранена в решении и доступна при следующем открытии решения.
Каждый загруженный VSPackage перечисляется, чтобы узнать, есть ли что-либо для сохранения в SLN-файле. Это только во время загрузки, когда запрашиваются разделы реестра. Среда знает обо всех загруженных пакетах, так как они находятся в памяти во время сохранения решения.
Только SLN-файл содержит записи в preSolution разделах и postSolution разделах. Аналогичные разделы в suo-файле отсутствуют, так как решение должно правильно загрузить эту информацию. Suo-файл содержит параметры, относящиеся к пользователю, такие как частные заметки, которые не предназначены для общего доступа или размещения в элементе управления исходным кодом.
См. также
- IVsPersistSolutionProps
- Файл параметров пользователя решения (SUO)
- Решения
Настройка параметров сборки CMake
Visual Studio использует файл конфигурации CMake для управления созданием CMake и его сборкой. CMakePresets.json поддерживается Visual Studio 2019 версии 16.10 или более поздней и является рекомендуемой конфигурацией CMake. CMakePresets.json поддерживается непосредственно CMake и может использоваться для создания И сборки CMake из Visual Studio, из VS Code в конвейере непрерывной интеграции и из командной строки в Windows, Linux и Mac. Дополнительные сведения см CMakePresets.json . в разделе «Настройка и сборка с помощью предустановок CMake».
Если вы поддерживаете проекты, использующие CMakeSettings.json файл для конфигурации сборки CMake, Visual Studio 2019 и более поздних версий предоставляют редактор параметров CMake. Редактор позволяет легко добавлять конфигурации CMake и настраивать их параметры. Он предназначен для более простой альтернативы ручному редактированию CMakeSettings.json файла. Однако если вы предпочитаете редактировать файл напрямую, можно выбрать ссылку «Изменить JSON » в правом верхнем углу редактора.
Чтобы открыть редактор параметров CMake, выберите раскрывающийся список «Конфигурация » на главной панели инструментов и выберите пункт «Управление конфигурациями«.

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

В левой области показаны установленные конфигурации (x86-Debug). В правой области показаны параметры выбранной конфигурации. К параметрам относятся имя конфигурации, тип конфигурации (для параметра Debug), набор инструментов (задано значение msvc_x86), файл цепочки инструментов CMake (пустой), корень сборки (содержит $\CMakeBuilds\$\build\$), аргументы команд CMake (пустые) и аргументы команд сборки (-v).
Visual Studio предоставляет одну конфигурацию x64-Debug по умолчанию. Вы можете добавить дополнительные конфигурации, выбрав зеленый знак плюса. Параметры, отображаемые в редакторе, зависят от выбранной конфигурации.
Параметры, которые вы выбрали в редакторе, записываются в файл с именем CMakeSettings.json . Этот файл предоставляет аргументы командной строки и переменные среды, передаваемые CMake при сборке проектов. Visual Studio никогда не изменяет CMakeLists.txt автоматически. С помощью CMakeSettings.json этого можно настроить сборку с помощью Visual Studio, оставив файлы проектов CMake неоткрытыми, чтобы другие пользователи вашей команды могли использовать их с любыми инструментами, которые они используют.
Общие параметры CMake
Следующие параметры доступны под заголовком Общие:
Имя конфигурации
Соответствует параметру name. Это имя отображается в раскрывающемся списке конфигураций C++. Вы можете использовать макрос $ для создания других значений свойств, например путей.
Тип конфигурации
Соответствует параметру configurationType. Определяет тип конфигурации сборки для выбранного генератора. В настоящее время поддерживаются значения Debug, MinSizeRel, Release и RelWithDebInfo. Он сопоставляется CMAKE_BUILD_TYPE с .
Набор инструментов
Соответствует параметру inheritedEnvironments. Определяет среду компилятора, которая используется для сборки выбранной конфигурации. Поддерживаемые значения зависят от типа конфигурации. Чтобы создать настраиваемую среду, выберите ссылку Edit JSON в правом верхнем углу редактора Параметры и измените CMakeSettings.json файл напрямую.
Файл цепочки инструментов CMake
Путь к файлу цепочки инструментов CMake. Этот путь передается в CMake как «-DCMAKE_TOOLCHAIN_FILE = «. Файлы цепочки инструментов указывают расположения компиляторов и служебных программ цепочки инструментов, а также другие целевые платформы и сведения, связанные с компилятором. Если этот параметр не задан, по умолчанию Visual Studio использует файл цепочки инструментов vcpkg.
Корневой путь к сборке
Соответствует buildRoot. CMAKE_BINARY_DIR Карты в , а также указывает место создания кэша CMake. Если указанная папка не существует, она будет создана.
Аргументы команд
Следующие параметры доступны под заголовком Аргументы команд:
Аргументы команд CMake
Соответствует cmakeCommandArgs. Указывает все больше параметров командной строки, передаваемых в CMake.
Аргументы команд сборки
Соответствует buildCommandArgs. Указывает больше коммутаторов для передачи базовой системе сборки. Например, передача -v при использовании генератора Ninja приводит к тому, что Ninja выдает командные строки.
Аргументы команд CTest
Соответствует ctestCommandArgs. Указывает дополнительные параметры командной строки для передачи в CTest при выполнении тестов.
Общие параметры для удаленных сборок
Для таких конфигураций, как Linux, которые используют удаленные сборки, также доступны следующие параметры:
rsync аргументы команд
Дополнительные параметры командной строки, передаваемые rsync в средство быстрого и универсального копирования файлов.
Переменные и кэш CMake
Эти параметры позволяют задавать переменные CMake и сохранять их в CMakeSettings.json . Они передаются в CMake во время сборки и переопределяют все значения в CMakeLists.txt файле. Этот раздел можно использовать так же, как вы используете CMakeGUI для просмотра списка всех доступных для изменения переменных CMake. Нажмите кнопку «Сохранить и создать кэш» , чтобы просмотреть список всех переменных CMake, доступных для редактирования, включая расширенные переменные (на CMakeGUI). Вы можете отфильтровать список по имени переменной.
Соответствует variables. Содержит пару «имя-значение» переменных CMake, передаваемых в -D name=value CMake. Если инструкции сборки проекта CMake указывают добавление каких-либо переменных непосредственно в файл кэша CMake, рекомендуется вместо этого добавить их сюда.
Расширенные настройки
Генератор CMake
Соответствует generator. Карты в коммутатор CMake и задает генератор CMake -G для использования. Это свойство можно также использовать как макрос $ , чтобы задать другие значения свойств. Сейчас Visual Studio поддерживает следующие генераторы CMake:
- Ninja
- «Unix Makefiles»
- «Visual Studio 16 2019»
- «Visual Studio 16 2019 Win64»
- «Visual Studio 16 2019 ARM»
- Visual Studio 15 2017
- Visual Studio 15 2017 Win64
- Visual Studio 15 2017 ARM
- Visual Studio 14 2015
- Visual Studio 14 2015 Win64
- Visual Studio 14 2015 ARM
Так как генератор Ninja предназначен для ускорения сборки в ущерб гибкости и функциональности, он используется по умолчанию. Однако некоторые проекты CMake могут быть не в состоянии правильно построить с помощью Ninja. В этом случае можно указать CMake, что необходимо создать проект Visual Studio.
Режим IntelliSense
Режим, используемый подсистемой IntelliSense. Если режим не выбран, Visual Studio наследует режим из указанного набора инструментов.
Каталог установки
Каталог, в котором CMake устанавливает целевые объекты. Карты в CMAKE_INSTALL_PREFIX .
Исполняемый файл CMake
Полный путь к исполняемому файлу программы CMake, включая имя файла и расширение. Позволяет использовать настраиваемую версию CMake с Visual Studio. Для удаленных сборок укажите расположение CMake на удаленном компьютере.
Для таких конфигураций, как Linux, которые используют удаленные сборки, также доступны следующие параметры:
Удаленный корневой каталог CMakeLists.txt
Каталог на удаленном компьютере, который содержит корневой CMakeLists.txt файл.
Удаленный корневой каталог установки
Каталог на удаленном компьютере, в который CMake устанавливает целевые объекты. Карты в CMAKE_INSTALL_PREFIX .
Удаленное копирование источников
Указывает, следует ли копировать исходные файлы на удаленный компьютер, и позволяет указать, следует ли использовать rsync или sftp.
Прямое изменение CMakeSettings.json
Вы также можете напрямую редактировать CMakeSettings.json для создания пользовательских конфигураций. В редакторе параметров есть кнопка Изменить JSON в правом верхнем углу, которая открывает файл для редактирования.
Ниже приведен пример конфигурации, который можно использовать в качестве отправной точки:
< "name": "x86-Debug", "generator": "Ninja", "configurationType": "Debug", "inheritEnvironments": [ "msvc_x86" ], "buildRoot": "$\\CMakeBuilds\\$\\build\\$", "installRoot": "$\\CMakeBuilds\\$\\install\\$", "cmakeCommandArgs": "", "buildCommandArgs": "-v", "ctestCommandArgs": "" >,
JSON IntelliSense помогает изменить файл CMakeSettings.json :

Редактор JSON также уведомляет о выборе несовместимых параметров.
Дополнительные сведения обо всех свойствах в файле см. в разделе Справочник по схеме CMakeSettings.json.
Visual Studio 2017 предоставляет несколько конфигураций CMake, определяющих способ вызова CMake для создания кэша CMake для данного проекта. Чтобы добавить новую конфигурацию, выберите раскрывающийся список конфигурации на панели инструментов и выберите пункт «Управление конфигурациями».

Можно выбрать из списка стандартных конфигураций:

При первом выборе конфигурации Visual Studio создает CMakeSettings.json файл в корневой папке проекта. Этот файл используется для повторного создания файла кэша CMake, например после операции Очистить.
Чтобы добавить другую конфигурацию, щелкните правой кнопкой мыши и выберите CMakeSettings.json пункт «Добавить конфигурацию«.

Можно также изменить файл с помощью редактора параметров CMake. Щелкните правой кнопкой мыши CMakeSettings.json Обозреватель решений и выберите «Изменить CMake Параметры«. Или выберите Управление конфигурациями из раскрывающегося списка конфигурации в верхней части окна редактора.
Вы также можете напрямую редактировать CMakeSettings.json для создания пользовательских конфигураций. Ниже приведен пример конфигурации, который можно использовать в качестве отправной точки:
< "name": "x86-Debug", "generator": "Ninja", "configurationType": "Debug", "inheritEnvironments": [ "msvc_x86" ], "buildRoot": "$\\CMakeBuilds\\$\\build\\$", "installRoot": "$\\CMakeBuilds\\$\\install\\$", "cmakeCommandArgs": "", "buildCommandArgs": "-v", "ctestCommandArgs": "" >,
JSON IntelliSense помогает изменить файл CMakeSettings.json :

Всплывающее окно JSON IntelliSense для «конфигураций» показывает сборкуCommandArgs, buildRoot, cmakeCommandArgs, configurationType, среди прочего.
Дополнительные сведения о каждом из свойств в файле см CMakeSettings.json . в справочнике по схеме.
