IntelliSense Configurations
Use this editor to edit IntelliSense settings defined in the underlying c_cpp_properties.json file. Changes made in this editor only apply to the selected configuration. To edit multiple configurations at once go to c_cpp_properties.json.
Configuration name
A friendly name that identifies a configuration.
Linux
, Mac
, and Win32
are special identifiers for configurations that will be auto-selected on those platforms.Select a configuration set to edit.
|
|
Compiler path
The full path to the compiler you use to build your project, e.g.
/usr/bin/gcc
, to enable more accurate IntelliSense. The extension will query the compiler to determine the system include paths and default defines to use for IntelliSense.
Specify a compiler path or select a detected compiler path from the drop-down list.
Compiler arguments
Compiler arguments to modify the includes or defines used, e.g.
-nostdinc++
, -m32
, etc.One argument per line.
IntelliSense mode
The IntelliSense mode to use that maps to a platform and architecture variant of MSVC, gcc, or Clang. If not set or if set to
${default}
, the extension will choose the default for that platform. Windows defaults to windows-msvc-x64
, Linux defaults to linux-gcc-x64
, and macOS defaults to macos-clang-x64
. Select a specific IntelliSense mode to override the ${default}
mode. IntelliSense modes that only specify <compiler>-<architecture>
variants (e.g. gcc-x64
) are legacy modes and are converted automatically to the <platform>-<compiler>-<architecture>
variants based on the host platform.
Include path
An include path is a folder that contains header files (such as
#include "myHeaderFile.h"
) that are included in a source file. Specify a list of paths for the IntelliSense engine to use while searching for included header files. Searching on these paths is not recursive. Specify **
to indicate recursive search. For example, ${workspaceFolder}/**
will search through all subdirectories while ${workspaceFolder}
will not. If on Windows with Visual Studio installed, or if a compiler is specified in the compilerPath
setting, it is not necessary to list the system include paths in this list.
One include path per line.
Defines
A list of preprocessor definitions for the IntelliSense engine to use while parsing files. Optionally, use
=
to set a value, e.g. VERSION=1
.One definition per line.
C standard
The version of the C language standard to use for IntelliSense. Note: GNU standards are only used to query the set compiler to get GNU defines, and IntelliSense will emulate the equivalent C standard version.
C++ standard
The version of the C++ language standard to use for IntelliSense. Note: GNU standards are only used to query the set compiler to get GNU defines, and IntelliSense will emulate the equivalent C++ standard version.
Configuration provider
The ID of a VS Code extension that can provide IntelliSense configuration information for source files. For example, use the VS Code extension ID
ms-vscode.cmake-tools
to provide configuration information from the CMake Tools extension.Windows SDK version
The version of the Windows SDK include path to use on Windows, e.g.
10.0.17134.0
.Mac framework path
A list of paths for the Intellisense engine to use while searching for included headers from Mac frameworks. Only supported on configurations for macOS.
One path per line.
Forced include
A list of files that should be included before any other characters in the source file are processed. Files are included in the order listed.
One file per line.
Compile commands
The full path to the
compile_commands.json
file for the workspace. The include paths and defines discovered in this file will be used instead of the values set for includePath
and defines
settings. If the compile commands database does not contain an entry for the translation unit that corresponds to the file you opened in the editor, then a warning message will appear and the extension will use the includePath
and defines
settings instead.
Browse: path
A list of paths for the Tag Parser to search for headers included by your source files. If omitted,
includePath
will be used as the path
. Searching on these paths is recursive by default. Specify *
to indicate non-recursive search. For example: /usr/include
will search through all subdirectories while /usr/include/*
will not.
One browse path per line.
Browse: limit symbols to included headers
When true (or checked), the Tag Parser will only parse code files that have been directly or indirectly included by a source file in
${workspaceFolder}
. When false (or not checked), the Tag Parser will parse all code files found in the paths specified in the Browse: path
list.
Browse: database filename
The path to the generated symbol database. This instructs the extension to save the Tag Parser's symbol database somewhere other than the workspace's default storage location. If a relative path is specified, it will be made relative to the workspace's default storage location, not the workspace folder itself. The
${workspaceFolder}
variable can be used to specify a path relative to the workspace folder (e.g. ${workspaceFolder}/.vscode/browse.vc.db
)